From 7be155d1f047a8fcf47a40b3db0fd803e2c2ff71 Mon Sep 17 00:00:00 2001 From: Mike Wagoner <119902170+michaelwagoner@users.noreply.github.com> Date: Wed, 25 Oct 2023 17:25:53 -0700 Subject: [PATCH 01/50] fix: Remove outdated comment. (#71) --- src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py index 773c26aa..d437b1d0 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py @@ -226,7 +226,6 @@ def usb_drives(self) -> Tuple[str, ...]: # These drive letter hosts are hard coded to the front and back usb ports. available_hosts = ["E:", "F:", "G:", "H:", "I:", "J:", "K:"] with self.temporary_verbose(False): - # Only going up to I to compensate for network mounts in CI original_dir = self.query(":FILESystem:CWD?") for working_dir in available_hosts: self.write(f':FILESystem:CWD "{working_dir}"') From 856216724a1108ec3fd5a7f56301ffa958a5642c Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Thu, 26 Oct 2023 09:39:09 -0700 Subject: [PATCH 02/50] fix: Update auto-generated command API files to fix various issues. (#72) --- CHANGELOG.md | 4 + .../commands/_1mlt9u_mdomsodpo/select.py | 27 +- .../commands/_1zn03_mso/actonevent.py | 3045 ++++++++++++ .../commands/_1zn03_mso/callouts.py | 905 ++++ src/tm_devices/commands/_1zn03_mso/diag.py | 541 +++ .../commands/_1zn03_mso/measurement.py | 213 +- src/tm_devices/commands/_1zn03_mso/ref.py | 850 ++++ src/tm_devices/commands/_1zn03_mso/save.py | 37 +- src/tm_devices/commands/_1zn03_mso/search.py | 12 +- .../commands/_5y90wx_dpodsamso/dpojet.py | 31 +- .../commands/_5y90wx_dpodsamso/horizontal.py | 498 +- .../commands/_5y90wx_dpodsamso/search.py | 8 +- .../commands/_5y90wx_dpodsamso/select.py | 69 + .../commands/_5y90wx_dpodsamso/zoom.py | 437 ++ src/tm_devices/commands/_60xy3r_smu/buffer.py | 125 +- src/tm_devices/commands/_60xy3r_smu/smu.py | 480 +- src/tm_devices/commands/_6ocqvh_smu/buffer.py | 125 +- src/tm_devices/commands/_6srh1x_smu/smu.py | 480 +- src/tm_devices/commands/_6vynmi_smu/smu.py | 3040 ++++++++---- .../commands/_6vynmi_smu/trigger.py | 322 ++ .../commands/_6w7311_smu/trigger.py | 322 ++ src/tm_devices/commands/_6xiuc2_smu/buffer.py | 125 +- src/tm_devices/commands/_6xiuc2_smu/smu.py | 480 +- .../commands/_7kqm9p_smu/display.py | 6 + .../commands/_7kqm9p_smu/tsplink.py | 21 + .../commands/_7s2p1p_smu/display.py | 108 + .../commands/_8ojdkz_smu/display.py | 141 + .../commands/_9mzp2j_smu/display.py | 141 + .../commands/_9ncc6e_smu/display.py | 108 + .../commands/_at7jl1_smu/display.py | 141 + .../commands/_avh0iw_smu/display.py | 108 + .../commands/_c3g63_lpdmso/actonevent.py | 3042 ++++++++++++ src/tm_devices/commands/_c3g63_lpdmso/bus.py | 1898 ++++++-- .../commands/_c3g63_lpdmso/callouts.py | 935 ++++ src/tm_devices/commands/_c3g63_lpdmso/ch.py | 156 +- src/tm_devices/commands/_c3g63_lpdmso/diag.py | 532 +++ .../commands/_c3g63_lpdmso/display.py | 55 +- .../commands/_c3g63_lpdmso/histogram.py | 1866 ++++++++ .../commands/_c3g63_lpdmso/horizontal.py | 39 +- src/tm_devices/commands/_c3g63_lpdmso/mask.py | 210 + src/tm_devices/commands/_c3g63_lpdmso/math.py | 204 +- .../commands/_c3g63_lpdmso/measurement.py | 4069 +++++++++++++--- .../commands/_c3g63_lpdmso/pilogger.py | 162 + src/tm_devices/commands/_c3g63_lpdmso/plot.py | 382 +- .../commands/_c3g63_lpdmso/power.py | 167 +- src/tm_devices/commands/_c3g63_lpdmso/ref.py | 1082 ++++- src/tm_devices/commands/_c3g63_lpdmso/save.py | 128 +- .../commands/_c3g63_lpdmso/search.py | 269 +- .../commands/_c3g63_lpdmso/select.py | 104 + .../commands/_c3g63_lpdmso/trigger.py | 804 +++- .../commands/_c3g63_lpdmso/visual.py | 6 +- .../commands/_c69b1_lpdmso/filesystem.py | 4 +- src/tm_devices/commands/_canxny_daq/buffer.py | 125 +- .../commands/_canxny_daq/display.py | 9 + src/tm_devices/commands/_canxny_daq/dmm.py | 4204 ++++++++++------- .../commands/_canxny_daq/trigger.py | 257 +- .../commands/_canxny_daq/tsplink.py | 21 + src/tm_devices/commands/_d6b496_dmm/buffer.py | 142 +- .../commands/_d6b496_dmm/display.py | 9 + src/tm_devices/commands/_d6b496_dmm/dmm.py | 384 +- .../commands/_d6b496_dmm/trigger.py | 271 ++ src/tm_devices/commands/_d83qe0_dmm/buffer.py | 142 +- .../commands/_d83qe0_dmm/display.py | 9 + src/tm_devices/commands/_d83qe0_dmm/dmm.py | 384 +- .../commands/_d83qe0_dmm/trigger.py | 271 ++ src/tm_devices/commands/_daq6510_commands.py | 221 +- .../commands/_dbdq3i_smudaqdmm/lan.py | 10 + .../commands/_dbqd7k_dmm/tsplink.py | 21 + src/tm_devices/commands/_dmm6500_commands.py | 236 + src/tm_devices/commands/_dmm7510_commands.py | 236 + src/tm_devices/commands/_dpo5kb_commands.py | 1 + src/tm_devices/commands/_dpo70kc_commands.py | 1 + src/tm_devices/commands/_dpo70kd_commands.py | 1 + src/tm_devices/commands/_dpo70kdx_commands.py | 1 + src/tm_devices/commands/_dpo70ksx_commands.py | 1 + src/tm_devices/commands/_dpo7kc_commands.py | 1 + src/tm_devices/commands/_dsa70kc_commands.py | 1 + src/tm_devices/commands/_dsa70kd_commands.py | 1 + src/tm_devices/commands/_e3pief_ss/dmm.py | 320 +- src/tm_devices/commands/_lpd6_commands.py | 130 +- src/tm_devices/commands/_mdo3_commands.py | 2 +- src/tm_devices/commands/_mso2_commands.py | 17 +- src/tm_devices/commands/_mso4_commands.py | 130 +- src/tm_devices/commands/_mso5_commands.py | 130 +- src/tm_devices/commands/_mso5b_commands.py | 130 +- src/tm_devices/commands/_mso5kb_commands.py | 1 + src/tm_devices/commands/_mso5lp_commands.py | 130 +- src/tm_devices/commands/_mso6_commands.py | 130 +- src/tm_devices/commands/_mso6b_commands.py | 130 +- src/tm_devices/commands/_mso70kc_commands.py | 1 + src/tm_devices/commands/_mso70kdx_commands.py | 1 + src/tm_devices/commands/_smu2450_commands.py | 270 ++ src/tm_devices/commands/_smu2460_commands.py | 270 ++ src/tm_devices/commands/_smu2461_commands.py | 270 ++ src/tm_devices/commands/_smu2470_commands.py | 270 ++ src/tm_devices/commands/_smu2601b_commands.py | 69 + .../commands/_smu2601b_pulse_commands.py | 69 + src/tm_devices/commands/_smu2602b_commands.py | 90 + src/tm_devices/commands/_smu2604b_commands.py | 90 + src/tm_devices/commands/_smu2606b_commands.py | 90 + src/tm_devices/commands/_smu2611b_commands.py | 69 + src/tm_devices/commands/_smu2612b_commands.py | 90 + src/tm_devices/commands/_smu2614b_commands.py | 90 + src/tm_devices/commands/_smu2634b_commands.py | 90 + src/tm_devices/commands/_smu2635b_commands.py | 69 + src/tm_devices/commands/_smu2636b_commands.py | 90 + src/tm_devices/commands/_smu2651a_commands.py | 69 + src/tm_devices/commands/_smu2657a_commands.py | 69 + src/tm_devices/commands/_ss3706a_commands.py | 1 + src/tm_devices/commands/_ujuvb_mdo/select.py | 27 +- .../commands/_uph56_lpdmsomdo/clear.py | 2 +- tests/auto_gen_cmds_list.json | 306 +- 112 files changed, 35245 insertions(+), 4491 deletions(-) create mode 100644 src/tm_devices/commands/_1zn03_mso/actonevent.py create mode 100644 src/tm_devices/commands/_1zn03_mso/callouts.py create mode 100644 src/tm_devices/commands/_1zn03_mso/diag.py create mode 100644 src/tm_devices/commands/_1zn03_mso/ref.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/actonevent.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/callouts.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/diag.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/histogram.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/pilogger.py create mode 100644 src/tm_devices/commands/_c3g63_lpdmso/select.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 02c3e414..0681e436 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Fixed + +- Updated the auto-generated commands for a handful of models to fix various issues + ______________________________________________________________________ ## v0.1.22 (2023-10-24) diff --git a/src/tm_devices/commands/_1mlt9u_mdomsodpo/select.py b/src/tm_devices/commands/_1mlt9u_mdomsodpo/select.py index 3ace859f..89c2afe2 100644 --- a/src/tm_devices/commands/_1mlt9u_mdomsodpo/select.py +++ b/src/tm_devices/commands/_1mlt9u_mdomsodpo/select.py @@ -419,9 +419,9 @@ class SelectChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): """The ``SELect:CH`` command. **Description:** - - Turns the display of the channel waveform on or off, where is the channel number, - which can be 1-4. This command also resets the acquisition. The query returns whether the - channel is on or off but does not indicate whether it is the specified waveform. + - Turns the display of the channel waveform on or off, where is the channel number. + This command also resets the acquisition. The query returns whether the channel is on or + off but does not indicate whether it is the specified waveform. **Usage:** - Using the ``.query()`` method will send the ``SELect:CH?`` query. @@ -437,9 +437,12 @@ class SelectChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): - SELect:CH? **Info:** - - ``ON`` or 1 turns on the display of the specified waveform. This waveform also becomes the + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the selected waveform. - - ``OFF`` or 0 turns off the display of the specified waveform. + - ``0`` turns off the display of the specified waveform. """ @@ -569,9 +572,8 @@ def ch(self) -> Dict[int, SelectChannel]: **Description:** - Turns the display of the channel waveform on or off, where is the channel - number, which can be 1-4. This command also resets the acquisition. The query returns - whether the channel is on or off but does not indicate whether it is the specified - waveform. + number. This command also resets the acquisition. The query returns whether the + channel is on or off but does not indicate whether it is the specified waveform. **Usage:** - Using the ``.query()`` method will send the ``SELect:CH?`` query. @@ -587,9 +589,12 @@ def ch(self) -> Dict[int, SelectChannel]: - SELect:CH? **Info:** - - ``ON`` or 1 turns on the display of the specified waveform. This waveform also becomes - the selected waveform. - - ``OFF`` or 0 turns off the display of the specified waveform. + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``0`` turns off the display of the specified waveform. """ return self._ch diff --git a/src/tm_devices/commands/_1zn03_mso/actonevent.py b/src/tm_devices/commands/_1zn03_mso/actonevent.py new file mode 100644 index 00000000..54e0c300 --- /dev/null +++ b/src/tm_devices/commands/_1zn03_mso/actonevent.py @@ -0,0 +1,3045 @@ +# pylint: disable=too-many-lines +"""The actonevent commands module. + +These commands are used in the following models: +MSO2 + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? +""" +from typing import Optional, TYPE_CHECKING + +from .._helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class ActoneventTriggerActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions on a trigger event from a single sequence or sequence of N + acquisition. Each acquisition in the sequence of N will perform a save operation. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions on a trigger event feature. + - ``OFF`` disables the stop acquisitions on a trigger event feature. + - ```` is a number that enables or disables the stop acquisitions on a trigger event + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventTriggerActionStopacq(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionStopacqState: + """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions on a trigger event from a single sequence or sequence + of N acquisition. Each acquisition in the sequence of N will perform a save operation. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions on a trigger event feature. + - ``OFF`` disables the stop acquisitions on a trigger event feature. + - ```` is a number that enables or disables the stop acquisitions on a trigger + event feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventTriggerActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a trigger event occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. + - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a trigger + event occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventTriggerActionSrq(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSrqState: + """Return the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a trigger event occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. + - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a + trigger event occurs feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventTriggerActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) on a trigger event from a single + sequence or sequence of N acquisition. Each acquisition in the sequence of N will perform + a save operation. This command replaces ``SAVEON:WAVEFORM`` (still valid command, but only + an alias for this new command). + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) on a trigger event feature. + - ``OFF`` disables the save source waveform(s) on a trigger event feature. + - ```` is a number that enables or disables the save source waveform(s) on a trigger + event feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventTriggerActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSavewaveformState: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) on a trigger event from a single + sequence or sequence of N acquisition. Each acquisition in the sequence of N will + perform a save operation. This command replaces ``SAVEON:WAVEFORM`` (still valid + command, but only an alias for this new command). + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) on a trigger event feature. + - ``OFF`` disables the save source waveform(s) on a trigger event feature. + - ```` is a number that enables or disables the save source waveform(s) on a + trigger event feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventTriggerActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture on a trigger event from a single sequence or sequence + of N acquisition. Each acquisition in the sequence of N will perform a save operation. + This command replaces ``SAVE:IMAGE`` (still valid command, but only an alias for this new + command). + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture on a trigger event feature. + - ``OFF`` disables the save screen capture on a trigger event feature. + - ```` is a number that enables or disables the save screen capture on a trigger event + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventTriggerActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSaveimageState: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture on a trigger event from a single sequence or + sequence of N acquisition. Each acquisition in the sequence of N will perform a save + operation. This command replaces ``SAVE:IMAGE`` (still valid command, but only an + alias for this new command). + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture on a trigger event feature. + - ``OFF`` disables the save screen capture on a trigger event feature. + - ```` is a number that enables or disables the save screen capture on a trigger + event feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventTriggerAction(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventTriggerActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventTriggerActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventTriggerActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventTriggerActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventTriggerActionSaveimage: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventTriggerActionSavewaveform: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventTriggerActionSrq: + """Return the ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventTriggerActionStopacq: + """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventTrigger(SCPICmdRead): + """The ``ACTONEVent:TRIGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventTriggerAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventTriggerAction: + """Return the ``ACTONEVent:TRIGger:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventSearchActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a search event is found feature. + - ``OFF`` disables the stop acquisitions when a search event is found feature. + - ```` is a number that enables or disables the stop acquisitions when a search event + is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionStopacq(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionStopacqState: + """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a search event is found feature. + - ``OFF`` disables the stop acquisitions when a search event is found feature. + - ```` is a number that enables or disables the stop acquisitions when a search + event is found feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventSearchActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any search event is found feature. + - ``OFF`` disables the generate an SRQ event when any search event is found feature. + - ```` is a number that enables or disables the generate an SRQ event when any search + event is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSrq(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSrqState: + """Return the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any search event is found feature. + - ``OFF`` disables the generate an SRQ event when any search event is found feature. + - ```` is a number that enables or disables the generate an SRQ event when any + search event is found feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventSearchActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a search event is found feature. + - ``OFF`` disables the save source waveform(s) when a search event is found feature. + - ```` is a number that enables or disables the save source waveform(s) when a search + event is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSavewaveformState: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a search event is found feature. + - ``OFF`` disables the save source waveform(s) when a search event is found feature. + - ```` is a number that enables or disables the save source waveform(s) when a + search event is found feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventSearchActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a search event is found feature. + - ``OFF`` disables the save screen capture when a search event is found feature. + - ```` is a number that enables or disables the save screen capture when a search event + is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSaveimageState: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a search event is found feature. + - ``OFF`` disables the save screen capture when a search event is found feature. + - ```` is a number that enables or disables the save screen capture when a search + event is found feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventSearchAction(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventSearchActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventSearchActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventSearchActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventSearchActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventSearchActionSaveimage: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventSearchActionSavewaveform: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventSearchActionSrq: + """Return the ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventSearchActionStopacq: + """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventSearch(SCPICmdRead): + """The ``ACTONEVent:SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventSearchAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventSearchAction: + """Return the ``ACTONEVent:SEARCH:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMeasurementActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. + - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the stop acquisitions when the measurement + limit is exceeded feature. The number zero disables the feature, all other numbers enable + the feature. + """ + + +class ActoneventMeasurementActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionStopacqState: + """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. + - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the stop acquisitions when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any measurement triggers the user-defined + measurement limits. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any measurement triggers the user-defined + measurement limits feature. + - ``OFF`` disables the generate an SRQ event when any measurement triggers the user-defined + measurement limits feature. + - ```` is a number that enables or disables the generate an SRQ event when any + measurement triggers the user-defined measurement limits feature. The number zero disables + the feature, all other numbers enable the feature. + """ + + +class ActoneventMeasurementActionSrq(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionSrqState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any measurement triggers the user-defined + measurement limits. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any measurement triggers the + user-defined measurement limits feature. + - ``OFF`` disables the generate an SRQ event when any measurement triggers the + user-defined measurement limits feature. + - ```` is a number that enables or disables the generate an SRQ event when any + measurement triggers the user-defined measurement limits feature. The number zero + disables the feature, all other numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when the user-set measurement limit is + exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded feature. + - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save source waveform(s) when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventMeasurementActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSavewaveformState( + device, f"{self._cmd_syntax}:STATE" + ) + + @property + def state(self) -> ActoneventMeasurementActionSavewaveformState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when the user-set measurement limit + is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded + feature. + - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save source waveform(s) when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. + - ``OFF`` disables the save screen capture when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the save screen capture when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventMeasurementActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionSaveimageState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. + - ``OFF`` disables the save screen capture when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save screen capture when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementAction(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMeasurementActionSaveimage( + device, f"{self._cmd_syntax}:SAVEIMAGe" + ) + self._savewaveform = ActoneventMeasurementActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMeasurementActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMeasurementActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMeasurementActionSaveimage: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMeasurementActionSavewaveform: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMeasurementActionSrq: + """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMeasurementActionStopacq: + """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMeasurement(SCPICmdRead): + """The ``ACTONEVent:MEASUrement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMeasurementAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMeasurementAction: + """Return the ``ACTONEVent:MEASUrement:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskpassActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test passes feature. + - ``OFF`` disables the stop acquisitions when a mask test passes feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionStopacqState: + """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test passes feature. + - ``OFF`` disables the stop acquisitions when a mask test passes feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskpassActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask passes feature. + - ``OFF`` disables the generate an SRQ event when a mask passes feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSrqState: + """Return the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask passes feature. + - ``OFF`` disables the generate an SRQ event when a mask passes feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskpassActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test passes feature. + - ``OFF`` disables the save source waveform(s) when a mask test passes feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSavewaveformState: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test passes feature. + - ``OFF`` disables the save source waveform(s) when a mask test passes feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test passes feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventMaskpassActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test passes feature. + - ``OFF`` disables the save screen capture when a mask test passes feature. + - ```` is a number that enables or disables the save screen capture when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSaveimageState: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test passes feature. + - ``OFF`` disables the save screen capture when a mask test passes feature. + - ```` is a number that enables or disables the save screen capture when a mask + test passes feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventMaskpassAction(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskpassActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskpassActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskpassActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskpassActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskpassActionSaveimage: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskpassActionSavewaveform: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskpassActionSrq: + """Return the ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskpassActionStopacq: + """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskpass(SCPICmdRead): + """The ``ACTONEVent:MASKPass`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskpassAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskpassAction: + """Return the ``ACTONEVent:MASKPass:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskhitActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask hit occurs feature. + - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. + - ```` is a number that enables or disables the stop acquisitions when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionStopacqState: + """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask hit occurs feature. + - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. + - ```` is a number that enables or disables the stop acquisitions when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. + - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSrqState: + """Return the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. + - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + hit occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. + - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSavewaveformState: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. + - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + hit occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask hit occurs feature. + - ``OFF`` disables the save screen capture when a mask hit occurs feature. + - ```` is a number that enables or disables the save screen capture when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSaveimageState: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask hit occurs feature. + - ``OFF`` disables the save screen capture when a mask hit occurs feature. + - ```` is a number that enables or disables the save screen capture when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitAction(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskhitActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskhitActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskhitActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskhitActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskhitActionSaveimage: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskhitActionSavewaveform: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskhitActionSrq: + """Return the ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskhitActionStopacq: + """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskhit(SCPICmdRead): + """The ``ACTONEVent:MASKHit`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskhitAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskhitAction: + """Return the ``ACTONEVent:MASKHit:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskfailActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test fails feature. + - ``OFF`` disables the stop acquisitions when a mask test fails feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + fails feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionStopacqState: + """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test fails feature. + - ``OFF`` disables the stop acquisitions when a mask test fails feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask fails feature. + - ``OFF`` disables the generate an SRQ event when a mask fails feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask fails + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSrqState: + """Return the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask fails feature. + - ``OFF`` disables the generate an SRQ event when a mask fails feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test fails feature. + - ``OFF`` disables the save source waveform(s) when a mask test fails feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskfailActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSavewaveformState: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test fails feature. + - ``OFF`` disables the save source waveform(s) when a mask test fails feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test fails feature. + - ``OFF`` disables the save screen capture when a mask test fails feature. + - ```` is a number that enables or disables the save screen capture when a mask test + fails feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSaveimageState: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test fails feature. + - ``OFF`` disables the save screen capture when a mask test fails feature. + - ```` is a number that enables or disables the save screen capture when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailAction(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskfailActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskfailActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskfailActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskfailActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskfailActionSaveimage: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskfailActionSavewaveform: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskfailActionSrq: + """Return the ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskfailActionStopacq: + """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskfail(SCPICmdRead): + """The ``ACTONEVent:MASKFail`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskfailAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskfailAction: + """Return the ``ACTONEVent:MASKFail:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventLimit(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:LIMit`` command. + + **Description:** + - This command sets whether the act on event should limit the number of saves. This prevents + the saves from filling the hard drive. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + + **Info:** + - ```` is a number that enables or disables whether the act on event should limit the + number of saves. The number zero disables the feature and the number one enables the + feature. + """ + + +class ActoneventLimitcount(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:LIMITCount`` command. + + **Description:** + - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command must be + enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + + **Info:** + - ```` sets the number of allowed saves for the act on event feature. The number must + be a positive integer. + """ + + +class ActoneventEnable(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:ENable`` command. + + **Description:** + - This command enables or disables actions on event (AOE). If AOE saves are limited and the + limit has been reached, this parameter will disable AOE. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + + **Info:** + - ```` is a number that enables or disables actions on event. The number zero disables + the feature and the number one enables the feature. + """ + + +# pylint: disable=too-many-instance-attributes +class Actonevent(SCPICmdRead): + """The ``ACTONEVent`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.enable``: The ``ACTONEVent:ENable`` command. + - ``.limitcount``: The ``ACTONEVent:LIMITCount`` command. + - ``.limit``: The ``ACTONEVent:LIMit`` command. + - ``.maskfail``: The ``ACTONEVent:MASKFail`` command tree. + - ``.maskhit``: The ``ACTONEVent:MASKHit`` command tree. + - ``.maskpass``: The ``ACTONEVent:MASKPass`` command tree. + - ``.measurement``: The ``ACTONEVent:MEASUrement`` command tree. + - ``.search``: The ``ACTONEVent:SEARCH`` command tree. + - ``.trigger``: The ``ACTONEVent:TRIGger`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "ACTONEVent") -> None: + super().__init__(device, cmd_syntax) + self._enable = ActoneventEnable(device, f"{self._cmd_syntax}:ENable") + self._limitcount = ActoneventLimitcount(device, f"{self._cmd_syntax}:LIMITCount") + self._limit = ActoneventLimit(device, f"{self._cmd_syntax}:LIMit") + self._maskfail = ActoneventMaskfail(device, f"{self._cmd_syntax}:MASKFail") + self._maskhit = ActoneventMaskhit(device, f"{self._cmd_syntax}:MASKHit") + self._maskpass = ActoneventMaskpass(device, f"{self._cmd_syntax}:MASKPass") + self._measurement = ActoneventMeasurement(device, f"{self._cmd_syntax}:MEASUrement") + self._search = ActoneventSearch(device, f"{self._cmd_syntax}:SEARCH") + self._trigger = ActoneventTrigger(device, f"{self._cmd_syntax}:TRIGger") + + @property + def enable(self) -> ActoneventEnable: + """Return the ``ACTONEVent:ENable`` command. + + **Description:** + - This command enables or disables actions on event (AOE). If AOE saves are limited and + the limit has been reached, this parameter will disable AOE. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + + **Info:** + - ```` is a number that enables or disables actions on event. The number zero + disables the feature and the number one enables the feature. + """ + return self._enable + + @property + def limitcount(self) -> ActoneventLimitcount: + """Return the ``ACTONEVent:LIMITCount`` command. + + **Description:** + - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command + must be enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` + command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + + **Info:** + - ```` sets the number of allowed saves for the act on event feature. The number + must be a positive integer. + """ + return self._limitcount + + @property + def limit(self) -> ActoneventLimit: + """Return the ``ACTONEVent:LIMit`` command. + + **Description:** + - This command sets whether the act on event should limit the number of saves. This + prevents the saves from filling the hard drive. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + + **Info:** + - ```` is a number that enables or disables whether the act on event should limit + the number of saves. The number zero disables the feature and the number one enables + the feature. + """ + return self._limit + + @property + def maskfail(self) -> ActoneventMaskfail: + """Return the ``ACTONEVent:MASKFail`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. + """ + return self._maskfail + + @property + def maskhit(self) -> ActoneventMaskhit: + """Return the ``ACTONEVent:MASKHit`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. + """ + return self._maskhit + + @property + def maskpass(self) -> ActoneventMaskpass: + """Return the ``ACTONEVent:MASKPass`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. + """ + return self._maskpass + + @property + def measurement(self) -> ActoneventMeasurement: + """Return the ``ACTONEVent:MEASUrement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. + """ + return self._measurement + + @property + def search(self) -> ActoneventSearch: + """Return the ``ACTONEVent:SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. + """ + return self._search + + @property + def trigger(self) -> ActoneventTrigger: + """Return the ``ACTONEVent:TRIGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. + """ + return self._trigger diff --git a/src/tm_devices/commands/_1zn03_mso/callouts.py b/src/tm_devices/commands/_1zn03_mso/callouts.py new file mode 100644 index 00000000..6918f8e2 --- /dev/null +++ b/src/tm_devices/commands/_1zn03_mso/callouts.py @@ -0,0 +1,905 @@ +"""The callouts commands module. + +These commands are used in the following models: +MSO2 + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - CALLOUTS:CALLOUT + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? +""" +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class CalloutsCalloutItemType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + + **Info:** + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + + +class CalloutsCalloutItemText(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TEXT`` command. + + **Description:** + - This command sets or queries the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + + **Info:** + - ```` specifies the callout text. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + **Description:** + - This command sets or queries the underline state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + + **Info:** + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + + +class CalloutsCalloutItemFontType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + + **Info:** + - ```` specifies the type of font for the callout text. The available font types + include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans + Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontSize(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + + **Info:** + - ```` specifies the font size in points. + """ + + +class CalloutsCalloutItemFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + **Description:** + - This command sets or queries the italic state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + + **Info:** + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + + +class CalloutsCalloutItemFontBold(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + + **Info:** + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + + +class CalloutsCalloutItemFont(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = CalloutsCalloutItemFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = CalloutsCalloutItemFontItalic(device, f"{self._cmd_syntax}:ITALIC") + self._size = CalloutsCalloutItemFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = CalloutsCalloutItemFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = CalloutsCalloutItemFontUnderline(device, f"{self._cmd_syntax}:UNDERLine") + + @property + def bold(self) -> CalloutsCalloutItemFontBold: + """Return the ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:BOLD value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + + **Info:** + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + return self._bold + + @property + def italic(self) -> CalloutsCalloutItemFontItalic: + """Return the ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + **Description:** + - This command sets or queries the italic state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:ITALIC value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + + **Info:** + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + return self._italic + + @property + def size(self) -> CalloutsCalloutItemFontSize: + """Return the ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:SIZE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + + **Info:** + - ```` specifies the font size in points. + """ + return self._size + + @property + def type(self) -> CalloutsCalloutItemFontType: + """Return the ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:TYPE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + + **Info:** + - ```` specifies the type of font for the callout text. The available font + types include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, + Monospace, Sans Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + return self._type + + @property + def underline(self) -> CalloutsCalloutItemFontUnderline: + """Return the ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + **Description:** + - This command sets or queries the underline state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + + **Info:** + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + return self._underline + + +class CalloutsCalloutItemDisplaypositionY(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + **Description:** + - This command sets or queries vertical display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + + **Info:** + - ```` specifies the callout vertical display position. + """ + + +class CalloutsCalloutItemDisplaypositionX(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + **Description:** + - This command sets or queries horizontal display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + + **Info:** + - ```` specifies the callout horizontal display position. + """ + + +class CalloutsCalloutItemDisplayposition(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._x = CalloutsCalloutItemDisplaypositionX(device, f"{self._cmd_syntax}:X") + self._y = CalloutsCalloutItemDisplaypositionY(device, f"{self._cmd_syntax}:Y") + + @property + def x(self) -> CalloutsCalloutItemDisplaypositionX: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + **Description:** + - This command sets or queries horizontal display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + + **Info:** + - ```` specifies the callout horizontal display position. + """ + return self._x + + @property + def y(self) -> CalloutsCalloutItemDisplaypositionY: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + **Description:** + - This command sets or queries vertical display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + + **Info:** + - ```` specifies the callout vertical display position. + """ + return self._y + + +class CalloutsCalloutItemColor(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:COLOR`` command. + + **Description:** + - This command sets or queries the text color of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + + **Info:** + - ```` specifies the callout text color using hexadecimal color values. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemBookmarkXpos(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + **Description:** + - This command sets or queries the X-Position of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + + **Info:** + - ```` specifies the location of the bookmark linked to the source waveform in X-axis. + """ + + +class CalloutsCalloutItemBookmarkSource(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + + **Info:** + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + + +class CalloutsCalloutItemBookmark(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = CalloutsCalloutItemBookmarkSource(device, f"{self._cmd_syntax}:SOURCE") + self._xpos = CalloutsCalloutItemBookmarkXpos(device, f"{self._cmd_syntax}:XPOS") + + @property + def source(self) -> CalloutsCalloutItemBookmarkSource: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + + **Info:** + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + return self._source + + @property + def xpos(self) -> CalloutsCalloutItemBookmarkXpos: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + **Description:** + - This command sets or queries the X-Position of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + + **Info:** + - ```` specifies the location of the bookmark linked to the source waveform in + X-axis. + """ + return self._xpos + + +class CalloutsCalloutItem(ValidatedDynamicNumberCmd, SCPICmdWriteNoArguments, SCPICmdRead): + """The ``CALLOUTS:CALLOUT`` command. + + **Description:** + - This command creates a new note. A Note is the default callout value. The callout number + is specified by x. + + **Usage:** + - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT + + Properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bookmark = CalloutsCalloutItemBookmark(device, f"{self._cmd_syntax}:BOOKMark") + self._color = CalloutsCalloutItemColor(device, f"{self._cmd_syntax}:COLOR") + self._displayposition = CalloutsCalloutItemDisplayposition( + device, f"{self._cmd_syntax}:DISPLAYPOSition" + ) + self._font = CalloutsCalloutItemFont(device, f"{self._cmd_syntax}:FONT") + self._text = CalloutsCalloutItemText(device, f"{self._cmd_syntax}:TEXT") + self._type = CalloutsCalloutItemType(device, f"{self._cmd_syntax}:TYPE") + + @property + def bookmark(self) -> CalloutsCalloutItemBookmark: + """Return the ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + return self._bookmark + + @property + def color(self) -> CalloutsCalloutItemColor: + """Return the ``CALLOUTS:CALLOUT:COLOR`` command. + + **Description:** + - This command sets or queries the text color of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + + **Info:** + - ```` specifies the callout text color using hexadecimal color values. + """ + return self._color + + @property + def displayposition(self) -> CalloutsCalloutItemDisplayposition: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + return self._displayposition + + @property + def font(self) -> CalloutsCalloutItemFont: + """Return the ``CALLOUTS:CALLOUT:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + return self._font + + @property + def text(self) -> CalloutsCalloutItemText: + """Return the ``CALLOUTS:CALLOUT:TEXT`` command. + + **Description:** + - This command sets or queries the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + + **Info:** + - ```` specifies the callout text. + """ + return self._text + + @property + def type(self) -> CalloutsCalloutItemType: + """Return the ``CALLOUTS:CALLOUT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + + **Info:** + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + return self._type + + +class Callouts(SCPICmdRead): + """The ``CALLOUTS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "CALLOUTS") -> None: + super().__init__(device, cmd_syntax) + self._callout: Dict[int, CalloutsCalloutItem] = DefaultDictPassKeyToFactory( + lambda x: CalloutsCalloutItem(device, f"{self._cmd_syntax}:CALLOUT{x}") + ) + + @property + def callout(self) -> Dict[int, CalloutsCalloutItem]: + """Return the ``CALLOUTS:CALLOUT`` command. + + **Description:** + - This command creates a new note. A Note is the default callout value. The callout + number is specified by x. + + **Usage:** + - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT + + Sub-properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + return self._callout diff --git a/src/tm_devices/commands/_1zn03_mso/diag.py b/src/tm_devices/commands/_1zn03_mso/diag.py new file mode 100644 index 00000000..4f7ed791 --- /dev/null +++ b/src/tm_devices/commands/_1zn03_mso/diag.py @@ -0,0 +1,541 @@ +"""The diag commands module. + +These commands are used in the following models: +MSO2 + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + - DIAg:LOOP:OPTion? + - DIAg:LOOP:STOP + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + - DIAg:RESUlt:FLAg? + - DIAg:RESUlt:LOG? + - DIAg:RESUlt? + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + - DIAg:SELect? + - DIAg:STATE {EXECute|ABOrt} +""" +from typing import Optional, TYPE_CHECKING + +from .._helpers import SCPICmdRead, SCPICmdWrite, SCPICmdWriteNoArguments + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class DiagState(SCPICmdWrite): + """The ``DIAg:STATE`` command. + + **Description:** + - This command starts or aborts Self Test. Abort happens after group under test completes. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:STATE {EXECute|ABOrt} + + **Info:** + - ``EXECUTE`` starts execution of the diagnostics. + - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal + operating state. + """ + + +class DiagSelect(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:SELect`` command. + + **Description:** + - This command selects or queries an available diagnostic area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + - DIAg:SELect? + + **Info:** + - ``ALL`` + - ``IO`` + - ``ANALOG`` + - ``SYSTEM`` + - ``ASIC`` + - ``ACQ`` + - ``SIGNAL`` + - ``MEMORY`` + """ + + +class DiagResultLog(SCPICmdRead): + """The ``DIAg:RESUlt:LOG`` command. + + **Description:** + - This query returns the test Pass/Fail status of each diagnostic area. It does not return + the overall status. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:LOG? + """ + + +class DiagResultFlag(SCPICmdRead): + """The ``DIAg:RESUlt:FLAg`` command. + + **Description:** + - This query returns the status of the diagnostic test area that has been selected. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:FLAg? + """ + + +class DiagResult(SCPICmdRead): + """The ``DIAg:RESUlt`` command. + + **Description:** + - This query returns both the overall diagnostics test results and the results of each + individual test area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt? + + Properties: + - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. + - ``.log``: The ``DIAg:RESUlt:LOG`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._flag = DiagResultFlag(device, f"{self._cmd_syntax}:FLAg") + self._log = DiagResultLog(device, f"{self._cmd_syntax}:LOG") + + @property + def flag(self) -> DiagResultFlag: + """Return the ``DIAg:RESUlt:FLAg`` command. + + **Description:** + - This query returns the status of the diagnostic test area that has been selected. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:FLAg? + """ + return self._flag + + @property + def log(self) -> DiagResultLog: + """Return the ``DIAg:RESUlt:LOG`` command. + + **Description:** + - This query returns the test Pass/Fail status of each diagnostic area. It does not + return the overall status. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:LOG? + """ + return self._log + + +class DiagMode(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:MODe`` command. + + **Description:** + - This command sets or queries the diagnostics mode. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + + **Info:** + - ``POST`` specifies the power on self test diagnostics. + - ``EXTENDED`` specifies the extended diagnostics. + - ``SERVICE`` specifies the service diagnostics. + """ + + +class DiagLoopStop(SCPICmdWriteNoArguments): + """The ``DIAg:LOOP:STOP`` command. + + **Description:** + - Request that diagnostics stop looping. + + **Usage:** + - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:STOP + """ + + +class DiagLoopOptionNtimes(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:LOOP:OPTion:NTIMes`` command. + + **Description:** + - This command sets or queries how many loops to run, if N-times is being used. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` + command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + + **Info:** + - ```` is how many loops to run. + """ + + +class DiagLoopOption(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:LOOP:OPTion`` command. + + **Description:** + - This command sets or queries the type of looping desired. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion? + + **Info:** + - ``Fail`` - run until a failure is found, then halt. + - ``Once`` - run through one loop. + - ``Always`` - run forever. + - ``Onfail`` - run until a failure is found, then loop on it. + - ``Ntimes`` - run n number of loops. + + Properties: + - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ntimes = DiagLoopOptionNtimes(device, f"{self._cmd_syntax}:NTIMes") + + @property + def ntimes(self) -> DiagLoopOptionNtimes: + """Return the ``DIAg:LOOP:OPTion:NTIMes`` command. + + **Description:** + - This command sets or queries how many loops to run, if N-times is being used. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` + command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + + **Info:** + - ```` is how many loops to run. + """ + return self._ntimes + + +class DiagLoop(SCPICmdRead): + """The ``DIAg:LOOP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.option``: The ``DIAg:LOOP:OPTion`` command. + - ``.stop``: The ``DIAg:LOOP:STOP`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._option = DiagLoopOption(device, f"{self._cmd_syntax}:OPTion") + self._stop = DiagLoopStop(device, f"{self._cmd_syntax}:STOP") + + @property + def option(self) -> DiagLoopOption: + """Return the ``DIAg:LOOP:OPTion`` command. + + **Description:** + - This command sets or queries the type of looping desired. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion? + + **Info:** + - ``Fail`` - run until a failure is found, then halt. + - ``Once`` - run through one loop. + - ``Always`` - run forever. + - ``Onfail`` - run until a failure is found, then loop on it. + - ``Ntimes`` - run n number of loops. + + Sub-properties: + - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. + """ + return self._option + + @property + def stop(self) -> DiagLoopStop: + """Return the ``DIAg:LOOP:STOP`` command. + + **Description:** + - Request that diagnostics stop looping. + + **Usage:** + - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:STOP + """ + return self._stop + + +class Diag(SCPICmdRead): + """The ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.loop``: The ``DIAg:LOOP`` command tree. + - ``.mode``: The ``DIAg:MODe`` command. + - ``.result``: The ``DIAg:RESUlt`` command. + - ``.select``: The ``DIAg:SELect`` command. + - ``.state``: The ``DIAg:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "DIAg") -> None: + super().__init__(device, cmd_syntax) + self._loop = DiagLoop(device, f"{self._cmd_syntax}:LOOP") + self._mode = DiagMode(device, f"{self._cmd_syntax}:MODe") + self._result = DiagResult(device, f"{self._cmd_syntax}:RESUlt") + self._select = DiagSelect(device, f"{self._cmd_syntax}:SELect") + self._state = DiagState(device, f"{self._cmd_syntax}:STATE") + + @property + def loop(self) -> DiagLoop: + """Return the ``DIAg:LOOP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.option``: The ``DIAg:LOOP:OPTion`` command. + - ``.stop``: The ``DIAg:LOOP:STOP`` command. + """ + return self._loop + + @property + def mode(self) -> DiagMode: + """Return the ``DIAg:MODe`` command. + + **Description:** + - This command sets or queries the diagnostics mode. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + + **Info:** + - ``POST`` specifies the power on self test diagnostics. + - ``EXTENDED`` specifies the extended diagnostics. + - ``SERVICE`` specifies the service diagnostics. + """ + return self._mode + + @property + def result(self) -> DiagResult: + """Return the ``DIAg:RESUlt`` command. + + **Description:** + - This query returns both the overall diagnostics test results and the results of each + individual test area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt? + + Sub-properties: + - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. + - ``.log``: The ``DIAg:RESUlt:LOG`` command. + """ + return self._result + + @property + def select(self) -> DiagSelect: + """Return the ``DIAg:SELect`` command. + + **Description:** + - This command selects or queries an available diagnostic area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + - DIAg:SELect? + + **Info:** + - ``ALL`` + - ``IO`` + - ``ANALOG`` + - ``SYSTEM`` + - ``ASIC`` + - ``ACQ`` + - ``SIGNAL`` + - ``MEMORY`` + """ + return self._select + + @property + def state(self) -> DiagState: + """Return the ``DIAg:STATE`` command. + + **Description:** + - This command starts or aborts Self Test. Abort happens after group under test + completes. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:STATE {EXECute|ABOrt} + + **Info:** + - ``EXECUTE`` starts execution of the diagnostics. + - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal + operating state. + """ + return self._state diff --git a/src/tm_devices/commands/_1zn03_mso/measurement.py b/src/tm_devices/commands/_1zn03_mso/measurement.py index d912aa8a..800ba7a3 100644 --- a/src/tm_devices/commands/_1zn03_mso/measurement.py +++ b/src/tm_devices/commands/_1zn03_mso/measurement.py @@ -488,7 +488,7 @@ class MeasurementReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. @@ -517,7 +517,7 @@ class MeasurementReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. @@ -546,7 +546,7 @@ class MeasurementReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. @@ -575,7 +575,7 @@ class MeasurementReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -604,7 +604,7 @@ class MeasurementReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -633,7 +633,7 @@ class MeasurementReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -662,7 +662,7 @@ class MeasurementReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. @@ -726,8 +726,8 @@ def fallhigh(self) -> MeasurementReflevelsPercentFallhigh: """Return the ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -757,8 +757,8 @@ def falllow(self) -> MeasurementReflevelsPercentFalllow: """Return the ``MEASUrement:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -788,8 +788,8 @@ def fallmid(self) -> MeasurementReflevelsPercentFallmid: """Return the ``MEASUrement:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -819,7 +819,7 @@ def hysteresis(self) -> MeasurementReflevelsPercentHysteresis: """Return the ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -849,8 +849,8 @@ def risehigh(self) -> MeasurementReflevelsPercentRisehigh: """Return the ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -880,8 +880,8 @@ def riselow(self) -> MeasurementReflevelsPercentRiselow: """Return the ``MEASUrement:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -911,8 +911,8 @@ def risemid(self) -> MeasurementReflevelsPercentRisemid: """Return the ``MEASUrement:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -1775,7 +1775,7 @@ class MeasurementRefItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1804,7 +1804,7 @@ class MeasurementRefItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1833,7 +1833,7 @@ class MeasurementRefItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1862,7 +1862,7 @@ class MeasurementRefItemReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -1891,7 +1891,7 @@ class MeasurementRefItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -1920,7 +1920,7 @@ class MeasurementRefItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. @@ -1949,7 +1949,7 @@ class MeasurementRefItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. @@ -2027,8 +2027,8 @@ def fallhigh(self) -> MeasurementRefItemReflevelsPercentFallhigh: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2058,8 +2058,8 @@ def falllow(self) -> MeasurementRefItemReflevelsPercentFalllow: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2088,8 +2088,8 @@ def fallmid(self) -> MeasurementRefItemReflevelsPercentFallmid: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2119,9 +2119,9 @@ def hysteresis(self) -> MeasurementRefItemReflevelsPercentHysteresis: """Return the ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is - equal to MIN) used to calculate the hysteresis of the reference level when the - measurement's ref level method is set to percent. + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. **Usage:** - Using the ``.query()`` method will send the @@ -2149,8 +2149,8 @@ def risehigh(self) -> MeasurementRefItemReflevelsPercentRisehigh: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -2180,8 +2180,8 @@ def riselow(self) -> MeasurementRefItemReflevelsPercentRiselow: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -2211,8 +2211,8 @@ def risemid(self) -> MeasurementRefItemReflevelsPercentRisemid: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -4191,7 +4191,7 @@ class MeasurementMeasItemReflevels1PercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4222,7 +4222,7 @@ class MeasurementMeasItemReflevels1PercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4244,7 +4244,7 @@ class MeasurementMeasItemReflevels1PercentRiselow(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid reference level when the measurement's Ref level method is set to Percent. """ @@ -4253,7 +4253,7 @@ class MeasurementMeasItemReflevels1PercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4275,7 +4275,7 @@ class MeasurementMeasItemReflevels1PercentRisehigh(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high reference level when the measurement's Ref level method is set to Percent. """ @@ -4284,7 +4284,7 @@ class MeasurementMeasItemReflevels1PercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4314,7 +4314,7 @@ class MeasurementMeasItemReflevels1PercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4345,7 +4345,7 @@ class MeasurementMeasItemReflevels1PercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4376,7 +4376,7 @@ class MeasurementMeasItemReflevels1PercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4459,8 +4459,8 @@ def fallhigh(self) -> MeasurementMeasItemReflevels1PercentFallhigh: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4492,8 +4492,8 @@ def falllow(self) -> MeasurementMeasItemReflevels1PercentFalllow: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4525,8 +4525,8 @@ def fallmid(self) -> MeasurementMeasItemReflevels1PercentFallmid: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4558,10 +4558,9 @@ def hysteresis(self) -> MeasurementMeasItemReflevels1PercentHysteresis: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is - equal to MIN) used to calculate the hysteresis of the reference level when the - measurement's ref level method is set to percent. The measurement number is specified - by x. + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. The measurement number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -4590,8 +4589,8 @@ def risehigh(self) -> MeasurementMeasItemReflevels1PercentRisehigh: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4613,7 +4612,7 @@ def risehigh(self) -> MeasurementMeasItemReflevels1PercentRisehigh: **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high reference level when the measurement's Ref level method is set to Percent. """ return self._risehigh @@ -4623,8 +4622,8 @@ def riselow(self) -> MeasurementMeasItemReflevels1PercentRiselow: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -4646,7 +4645,7 @@ def riselow(self) -> MeasurementMeasItemReflevels1PercentRiselow: **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid reference level when the measurement's Ref level method is set to Percent. """ return self._riselow @@ -4656,8 +4655,8 @@ def risemid(self) -> MeasurementMeasItemReflevels1PercentRisemid: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -9009,7 +9008,7 @@ class MeasurementMathItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -9040,7 +9039,7 @@ class MeasurementMathItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -9071,7 +9070,7 @@ class MeasurementMathItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. The measurement number is specified by x. @@ -9133,7 +9132,7 @@ class MeasurementMathItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -9164,7 +9163,7 @@ class MeasurementMathItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -9195,7 +9194,7 @@ class MeasurementMathItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -9277,8 +9276,8 @@ def fallhigh(self) -> MeasurementMathItemReflevelsPercentFallhigh: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -9309,8 +9308,8 @@ def falllow(self) -> MeasurementMathItemReflevelsPercentFalllow: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -9341,8 +9340,8 @@ def fallmid(self) -> MeasurementMathItemReflevelsPercentFallmid: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -9404,8 +9403,8 @@ def risehigh(self) -> MeasurementMathItemReflevelsPercentRisehigh: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. The measurement number is specified by x. @@ -9437,8 +9436,8 @@ def riselow(self) -> MeasurementMathItemReflevelsPercentRiselow: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -9469,8 +9468,8 @@ def risemid(self) -> MeasurementMathItemReflevelsPercentRisemid: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -10910,7 +10909,7 @@ class MeasurementChannelReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -10940,7 +10939,7 @@ class MeasurementChannelReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -10970,7 +10969,7 @@ class MeasurementChannelReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -11029,7 +11028,7 @@ class MeasurementChannelReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -11059,7 +11058,7 @@ class MeasurementChannelReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -11089,7 +11088,7 @@ class MeasurementChannelReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -11166,8 +11165,8 @@ def fallhigh(self) -> MeasurementChannelReflevelsPercentFallhigh: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -11197,9 +11196,9 @@ def falllow(self) -> MeasurementChannelReflevelsPercentFalllow: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the - source ref level method is set to percent. The channel number is specified by x. + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -11228,9 +11227,9 @@ def fallmid(self) -> MeasurementChannelReflevelsPercentFallmid: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the - source ref level method is set to percent. The channel number is specified by x. + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -11289,8 +11288,8 @@ def risehigh(self) -> MeasurementChannelReflevelsPercentRisehigh: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -11320,8 +11319,8 @@ def riselow(self) -> MeasurementChannelReflevelsPercentRiselow: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -11351,8 +11350,8 @@ def risemid(self) -> MeasurementChannelReflevelsPercentRisemid: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** diff --git a/src/tm_devices/commands/_1zn03_mso/ref.py b/src/tm_devices/commands/_1zn03_mso/ref.py new file mode 100644 index 00000000..21e33bdc --- /dev/null +++ b/src/tm_devices/commands/_1zn03_mso/ref.py @@ -0,0 +1,850 @@ +"""The ref commands module. + +These commands are used in the following models: +MSO2 + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - REF:ADDNew + - REF:DELete + - REF:LIST? + - REF:REF:DESKew + - REF:REF:LABel:COLor + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + - REF:REF:LABel:FONT:SIZE + - REF:REF:LABel:FONT:TYPE + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + - REF:REF:SOUrce +""" +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class RefRefItemSource(SCPICmdWrite): + """The ``REF:REF:SOUrce`` command. + + **Description:** + - This command sets or queries the filename used by the given reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:SOUrce + + **Info:** + - ```` is the reference file name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:YPOS`` command. + + **Description:** + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + + **Info:** + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + + +class RefRefItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:XPOS`` command. + + **Description:** + - This command sets or queries the X-position at which the label (attached to the displayed + waveform of the specified reference) is displayed, relative to the left edge of the + waveview. The reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + + **Info:** + - ```` is the location (control in divisions) where the waveform label for the selected + reference is displayed, relative to the left edge of the screen. + """ + + +class RefRefItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:NAMe`` command. + + **Description:** + - This command sets or queries the label of the specified reference. The reference waveform + is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + + **Info:** + - ```` is the character string that will be used for the reference waveform label + name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontUnderline(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:UNDERline`` command. + + **Description:** + - This command sets or queries the underline state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + + **Info:** + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + + +class RefRefItemLabelFontType(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:TYPE`` command. + + **Description:** + - This command sets or queries the font type of the specified reference label, such as Arial + or Times New Roman. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:TYPE + + **Info:** + - ```` is the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontSize(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:SIZE + + **Info:** + - ```` is the font size of the label. + """ + + +class RefRefItemLabelFontItalic(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:ITALic`` command. + + **Description:** + - This command sets or queries the italic state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:ITALic value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + + **Info:** + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + + +class RefRefItemLabelFontBold(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + + **Info:** + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + + +class RefRefItemLabelFont(SCPICmdRead): + """The ``REF:REF:LABel:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = RefRefItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = RefRefItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = RefRefItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = RefRefItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = RefRefItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> RefRefItemLabelFontBold: + """Return the ``REF:REF:LABel:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + + **Info:** + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + return self._bold + + @property + def italic(self) -> RefRefItemLabelFontItalic: + """Return the ``REF:REF:LABel:FONT:ITALic`` command. + + **Description:** + - This command sets or queries the italic state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:ITALic value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + + **Info:** + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + return self._italic + + @property + def size(self) -> RefRefItemLabelFontSize: + """Return the ``REF:REF:LABel:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:SIZE + + **Info:** + - ```` is the font size of the label. + """ + return self._size + + @property + def type(self) -> RefRefItemLabelFontType: + """Return the ``REF:REF:LABel:FONT:TYPE`` command. + + **Description:** + - This command sets or queries the font type of the specified reference label, such as + Arial or Times New Roman. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:TYPE + + **Info:** + - ```` is the font type. + """ + return self._type + + @property + def underline(self) -> RefRefItemLabelFontUnderline: + """Return the ``REF:REF:LABel:FONT:UNDERline`` command. + + **Description:** + - This command sets or queries the underline state of the specified reference label. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:UNDERline value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + + **Info:** + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + return self._underline + + +class RefRefItemLabelColor(SCPICmdWrite): + """The ``REF:REF:LABel:COLor`` command. + + **Description:** + - This command sets or queries the color of the specified ref label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:COLor + + **Info:** + - ```` is the label. To return the color to the default color, send an empty string + as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabel(SCPICmdRead): + """The ``REF:REF:LABel`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = RefRefItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = RefRefItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = RefRefItemLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = RefRefItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = RefRefItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> RefRefItemLabelColor: + """Return the ``REF:REF:LABel:COLor`` command. + + **Description:** + - This command sets or queries the color of the specified ref label. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:COLor + + **Info:** + - ```` is the label. To return the color to the default color, send an empty + string as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> RefRefItemLabelFont: + """Return the ``REF:REF:LABel:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> RefRefItemLabelName: + """Return the ``REF:REF:LABel:NAMe`` command. + + **Description:** + - This command sets or queries the label of the specified reference. The reference + waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + + **Info:** + - ```` is the character string that will be used for the reference waveform + label name. + """ + return self._name + + @property + def xpos(self) -> RefRefItemLabelXpos: + """Return the ``REF:REF:LABel:XPOS`` command. + + **Description:** + - This command sets or queries the X-position at which the label (attached to the + displayed waveform of the specified reference) is displayed, relative to the left edge + of the waveview. The reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + + **Info:** + - ```` is the location (control in divisions) where the waveform label for the + selected reference is displayed, relative to the left edge of the screen. + """ + return self._xpos + + @property + def ypos(self) -> RefRefItemLabelYpos: + """Return the ``REF:REF:LABel:YPOS`` command. + + **Description:** + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + + **Info:** + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + return self._ypos + + +class RefRefItemDeskew(SCPICmdWrite): + """The ``REF:REF:DESKew`` command. + + **Description:** + - This command sets or queries the deskew value used for the specified reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:DESKew + + **Info:** + - ```` is the deskew value used for the specified reference. + """ + + +class RefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REF:REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deskew = RefRefItemDeskew(device, f"{self._cmd_syntax}:DESKew") + self._label = RefRefItemLabel(device, f"{self._cmd_syntax}:LABel") + self._source = RefRefItemSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def deskew(self) -> RefRefItemDeskew: + """Return the ``REF:REF:DESKew`` command. + + **Description:** + - This command sets or queries the deskew value used for the specified reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:DESKew + + **Info:** + - ```` is the deskew value used for the specified reference. + """ + return self._deskew + + @property + def label(self) -> RefRefItemLabel: + """Return the ``REF:REF:LABel`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + return self._label + + @property + def source(self) -> RefRefItemSource: + """Return the ``REF:REF:SOUrce`` command. + + **Description:** + - This command sets or queries the filename used by the given reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:SOUrce + + **Info:** + - ```` is the reference file name. + """ + return self._source + + +class RefList(SCPICmdRead): + """The ``REF:LIST`` command. + + **Description:** + - This command returns a comma separated list of all currently defined references. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - REF:LIST? + """ + + +class RefDelete(SCPICmdWrite): + """The ``REF:DELete`` command. + + **Description:** + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + **SCPI Syntax:** + + :: + + - REF:DELete + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefAddnew(SCPICmdWrite): + """The ``REF:ADDNew`` command. + + **Description:** + - This command adds the specified reference. Argument is of the form 'REF ', where NR1 + ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - REF:ADDNew + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF ', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Ref(SCPICmdRead): + """The ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``REF:ADDNew`` command. + - ``.delete``: The ``REF:DELete`` command. + - ``.list``: The ``REF:LIST`` command. + - ``.ref``: The ``REF:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: + super().__init__(device, cmd_syntax) + self._addnew = RefAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = RefDelete(device, f"{self._cmd_syntax}:DELete") + self._list = RefList(device, f"{self._cmd_syntax}:LIST") + self._ref: Dict[int, RefRefItem] = DefaultDictPassKeyToFactory( + lambda x: RefRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def addnew(self) -> RefAddnew: + """Return the ``REF:ADDNew`` command. + + **Description:** + - This command adds the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - REF:ADDNew + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + """ + return self._addnew + + @property + def delete(self) -> RefDelete: + """Return the ``REF:DELete`` command. + + **Description:** + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + **SCPI Syntax:** + + :: + + - REF:DELete + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF', where + NR1 ≥ 1. + """ + return self._delete + + @property + def list(self) -> RefList: + """Return the ``REF:LIST`` command. + + **Description:** + - This command returns a comma separated list of all currently defined references. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - REF:LIST? + """ + return self._list + + @property + def ref(self) -> Dict[int, RefRefItem]: + """Return the ``REF:REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + return self._ref diff --git a/src/tm_devices/commands/_1zn03_mso/save.py b/src/tm_devices/commands/_1zn03_mso/save.py index 40983d20..d9a9f9c9 100644 --- a/src/tm_devices/commands/_1zn03_mso/save.py +++ b/src/tm_devices/commands/_1zn03_mso/save.py @@ -467,7 +467,15 @@ class SavePlotdata(SCPICmdWrite): **Description:** - Saves the plot data of the currently selected plot to a specified file. Supported file - format is CSV. + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be located + in a directory relative to the current working directory (specified by ``FILESYSTEM:CWD``) + unless a complete path is specified. If the file argument begins with a drive designator + (such as C:), then the file name is interpreted as a full path. If the file argument + begins with '.' or '', or has a file path separator appearing anywhere other than the + first character position, then the file name is treated as a path that is relative to the + current working directory. To export an eye diagram plot data to a .csv file, the + prerequisite command is ``MEASUrement:ADDMEAS TIE`` **Usage:** - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. @@ -479,13 +487,7 @@ class SavePlotdata(SCPICmdWrite): - SAVe:PLOTData **Info:** - - ```` sets the file name and location used to store the plot data. When specifying - the file name with this command, use the correct file extension (.CSV). If a file name or - path is specified, the file is expected to be located in a directory relative to the - current working directory (specified by ``FILESYSTEM:CWD``) unless a complete path is - specified. - - ``MEASUrement:ADDMEAS TIE`` To export an eye diagram plot data to a .csv file, the - prerequisite command is. + - ```` sets the file name and location used to store the plot data. """ @@ -867,7 +869,16 @@ def plotdata(self) -> SavePlotdata: **Description:** - Saves the plot data of the currently selected plot to a specified file. Supported file - format is CSV. + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be + located in a directory relative to the current working directory (specified by + ``FILESYSTEM:CWD``) unless a complete path is specified. If the file argument begins + with a drive designator (such as C:), then the file name is interpreted as a full + path. If the file argument begins with '.' or '', or has a file path separator + appearing anywhere other than the first character position, then the file name is + treated as a path that is relative to the current working directory. To export an eye + diagram plot data to a .csv file, the prerequisite command is + ``MEASUrement:ADDMEAS TIE`` **Usage:** - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. @@ -879,13 +890,7 @@ def plotdata(self) -> SavePlotdata: - SAVe:PLOTData **Info:** - - ```` sets the file name and location used to store the plot data. When - specifying the file name with this command, use the correct file extension (.CSV). If - a file name or path is specified, the file is expected to be located in a directory - relative to the current working directory (specified by ``FILESYSTEM:CWD``) unless a - complete path is specified. - - ``MEASUrement:ADDMEAS TIE`` To export an eye diagram plot data to a .csv file, the - prerequisite command is. + - ```` sets the file name and location used to store the plot data. """ return self._plotdata diff --git a/src/tm_devices/commands/_1zn03_mso/search.py b/src/tm_devices/commands/_1zn03_mso/search.py index ef621060..b581cbed 100644 --- a/src/tm_devices/commands/_1zn03_mso/search.py +++ b/src/tm_devices/commands/_1zn03_mso/search.py @@ -736,7 +736,7 @@ class SearchSearchItemTriggerASetholdLogicpatternRefItem( **Description:** - This command sets and returns the conditions used for generating an A logic pattern, with - respect to the defined input pattern, and identifies the time that the selected pattern + respect to the defined input pattern, and identifies the time that the selected pattern may be true and still generate the trigger. The search number is specified by x. **Usage:** @@ -944,7 +944,7 @@ def ref(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternRefItem]: **Description:** - This command sets and returns the conditions used for generating an A logic pattern, - with respect to the defined input pattern, and identifies the time that the selected + with respect to the defined input pattern, and identifies the time that the selected pattern may be true and still generate the trigger. The search number is specified by x. @@ -6214,8 +6214,8 @@ class SearchSearchItemTriggerABusRs232cDataSize(SCPICmdWrite, SCPICmdRead): **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. The - search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is Data. + The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -6266,8 +6266,8 @@ def size(self) -> SearchSearchItemTriggerABusRs232cDataSize: **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. - The search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is + Data. The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/dpojet.py b/src/tm_devices/commands/_5y90wx_dpodsamso/dpojet.py index 6fc12119..8bf2ad01 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/dpojet.py +++ b/src/tm_devices/commands/_5y90wx_dpodsamso/dpojet.py @@ -275,6 +275,7 @@ - DPOJET:MEAS:OPTIcal:SCOPERN - DPOJET:MEAS:OPTIcal:SCOPERN? - DPOJET:MEAS:OPTIcal:TARGETBer + - DPOJET:MEAS:OPTIcal:TARGETBer? - DPOJET:MEAS:OPTIcal:WFMTYpe {CONTINUOUS | MODULATED} - DPOJET:MEAS:OPTIcal:WFMTYpe? - DPOJET:MEAS:PHASENoise:HIGHLimit @@ -468,7 +469,9 @@ - DPOJET:PLOT:CORRELATEDEye:BER1E6V? - DPOJET:PLOT:CORRELATEDEye:BER1E9V {1 | 0} - DPOJET:PLOT:CORRELATEDEye:BER1E9V? + - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT? + - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH? - DPOJET:PLOT:CORRELATEDEye:TARGETBER {1 | 0} - DPOJET:PLOT:CORRELATEDEye:TARGETBER? @@ -7723,7 +7726,7 @@ class DpojetPlotItemCorrelatedeyeTargetber(SCPICmdWrite, SCPICmdRead): """ -class DpojetPlotItemCorrelatedeyeEyewidth(SCPICmdRead): +class DpojetPlotItemCorrelatedeyeEyewidth(SCPICmdWrite, SCPICmdRead): """The ``DPOJET:PLOT:CORRELATEDEye:EYEWIDTH`` command. **Description:** @@ -7735,16 +7738,19 @@ class DpojetPlotItemCorrelatedeyeEyewidth(SCPICmdRead): - Using the ``.verify(value)`` method will send the ``DPOJET:PLOT:CORRELATEDEye:EYEWIDTH?`` query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DPOJET:PLOT:CORRELATEDEye:EYEWIDTH value`` command. **SCPI Syntax:** :: + - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH? """ -class DpojetPlotItemCorrelatedeyeEyeheight(SCPICmdRead): +class DpojetPlotItemCorrelatedeyeEyeheight(SCPICmdWrite, SCPICmdRead): """The ``DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT`` command. **Description:** @@ -7756,11 +7762,14 @@ class DpojetPlotItemCorrelatedeyeEyeheight(SCPICmdRead): - Using the ``.verify(value)`` method will send the ``DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT?`` query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT value`` command. **SCPI Syntax:** :: + - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT? """ @@ -8058,11 +8067,14 @@ def eyeheight(self) -> DpojetPlotItemCorrelatedeyeEyeheight: - Using the ``.verify(value)`` method will send the ``DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT?`` query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT value`` command. **SCPI Syntax:** :: + - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT - DPOJET:PLOT:CORRELATEDEye:EYEHEIGHT? """ return self._eyeheight @@ -8080,11 +8092,14 @@ def eyewidth(self) -> DpojetPlotItemCorrelatedeyeEyewidth: - Using the ``.verify(value)`` method will send the ``DPOJET:PLOT:CORRELATEDEye:EYEWIDTH?`` query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DPOJET:PLOT:CORRELATEDEye:EYEWIDTH value`` command. **SCPI Syntax:** :: + - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH - DPOJET:PLOT:CORRELATEDEye:EYEWIDTH? """ return self._eyewidth @@ -14793,13 +14808,16 @@ class DpojetMeasItemOpticalWfmtype(SCPICmdWrite, SCPICmdRead): """ -class DpojetMeasItemOpticalTargetber(SCPICmdWrite): +class DpojetMeasItemOpticalTargetber(SCPICmdWrite, SCPICmdRead): """The ``DPOJET:MEAS:OPTIcal:TARGETBer`` command. **Description:** - This command sets or queries the Target BER value display. The 1E-Value = 10-Value **Usage:** + - Using the ``.query()`` method will send the ``DPOJET:MEAS:OPTIcal:TARGETBer?`` query. + - Using the ``.verify(value)`` method will send the ``DPOJET:MEAS:OPTIcal:TARGETBer?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DPOJET:MEAS:OPTIcal:TARGETBer value`` command. @@ -14808,6 +14826,7 @@ class DpojetMeasItemOpticalTargetber(SCPICmdWrite): :: - DPOJET:MEAS:OPTIcal:TARGETBer + - DPOJET:MEAS:OPTIcal:TARGETBer? """ @@ -15028,6 +15047,11 @@ def targetber(self) -> DpojetMeasItemOpticalTargetber: - This command sets or queries the Target BER value display. The 1E-Value = 10-Value **Usage:** + - Using the ``.query()`` method will send the ``DPOJET:MEAS:OPTIcal:TARGETBer?`` + query. + - Using the ``.verify(value)`` method will send the + ``DPOJET:MEAS:OPTIcal:TARGETBer?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DPOJET:MEAS:OPTIcal:TARGETBer value`` command. @@ -15036,6 +15060,7 @@ def targetber(self) -> DpojetMeasItemOpticalTargetber: :: - DPOJET:MEAS:OPTIcal:TARGETBer + - DPOJET:MEAS:OPTIcal:TARGETBer? """ return self._targetber diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py b/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py index 710ad96d..127cc12b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py +++ b/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py @@ -33,6 +33,8 @@ - HORizontal:FASTframe:MULtipleframes:FRAMESTart:CH? - HORizontal:FASTframe:MULtipleframes:FRAMESTart:D - HORizontal:FASTframe:MULtipleframes:FRAMESTart:D? + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH? - HORizontal:FASTframe:MULtipleframes:FRAMESTart:REF - HORizontal:FASTframe:MULtipleframes:FRAMESTart:REF? - HORizontal:FASTframe:MULtipleframes:MODe {OFF|OVERlay|ONLYOVERlay} @@ -41,6 +43,8 @@ - HORizontal:FASTframe:MULtipleframes:NUMFRames:CH? - HORizontal:FASTframe:MULtipleframes:NUMFRames:D - HORizontal:FASTframe:MULtipleframes:NUMFRames:D? + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH? - HORizontal:FASTframe:MULtipleframes:NUMFRames:REF - HORizontal:FASTframe:MULtipleframes:NUMFRames:REF? - HORizontal:FASTframe:REF:FRAme @@ -67,19 +71,24 @@ - HORizontal:FASTframe:SUMFrame? - HORizontal:FASTframe:TIMEStamp:ALL:CH? , - HORizontal:FASTframe:TIMEStamp:ALL:D? , + - HORizontal:FASTframe:TIMEStamp:ALL:MATH? , - HORizontal:FASTframe:TIMEStamp:ALL:REF? , - HORizontal:FASTframe:TIMEStamp:BETWeen:CH? , - HORizontal:FASTframe:TIMEStamp:BETWeen:D? , + - HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? , - HORizontal:FASTframe:TIMEStamp:BETWeen:REF? , - HORizontal:FASTframe:TIMEStamp:DELTa:CH? - HORizontal:FASTframe:TIMEStamp:DELTa:D? + - HORizontal:FASTframe:TIMEStamp:DELTa:MATH? - HORizontal:FASTframe:TIMEStamp:DELTa:REF? - HORizontal:FASTframe:TIMEStamp:FRAMe:CH? - HORizontal:FASTframe:TIMEStamp:FRAMe:D? + - HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? - HORizontal:FASTframe:TIMEStamp:FRAMe:REF? - HORizontal:FASTframe:TIMEStamp:REF? - HORizontal:FASTframe:TIMEStamp:SELECTED:CH? - HORizontal:FASTframe:TIMEStamp:SELECTED:D? + - HORizontal:FASTframe:TIMEStamp:SELECTED:MATH? - HORizontal:FASTframe:TIMEStamp:SELECTED:REF? - HORizontal:FASTframe:TRACk {LIVE|ALL} - HORizontal:FASTframe:TRACk? @@ -1573,6 +1582,32 @@ class HorizontalFastframeTimestampSelectedRefItem(ValidatedDynamicNumberCmd, SCP """ +class HorizontalFastframeTimestampSelectedMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH`` command. + + **Description:** + - This query-only command returns the absolute trigger date and time for the FastFrame + Selected, within the specified waveform. Valid waveforms include CH, MATH and + REF. The x variable can be expressed as an integer ranging from 1 through 4. The format + of the output is as follows: DD MON YYYY ``HH:MM:SS``.xxx xxx xxx xxx DD MON YYYY is day, + month, and year ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx xxx is fractions + of a second to picoseconds + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH?`` query and raise an AssertionError if + the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:SELECTED:MATH? + """ + + class HorizontalFastframeTimestampSelectedDigitalBit(ValidatedDigitalBit, SCPICmdRead): """The ``HORizontal:FASTframe:TIMEStamp:SELECTED:D`` command. @@ -1637,6 +1672,7 @@ class HorizontalFastframeTimestampSelected(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:D`` command. """ @@ -1650,6 +1686,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: device, f"{self._cmd_syntax}:CH{x}" ) ) + self._math: Dict[ + int, HorizontalFastframeTimestampSelectedMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeTimestampSelectedMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeTimestampSelectedRefItem ] = DefaultDictPassKeyToFactory( @@ -1692,6 +1735,33 @@ def ch(self) -> Dict[int, HorizontalFastframeTimestampSelectedChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeTimestampSelectedMathItem]: + """Return the ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH`` command. + + **Description:** + - This query-only command returns the absolute trigger date and time for the FastFrame + Selected, within the specified waveform. Valid waveforms include CH, MATH and + REF. The x variable can be expressed as an integer ranging from 1 through 4. The + format of the output is as follows: DD MON YYYY ``HH:MM:SS``.xxx xxx xxx xxx DD MON + YYYY is day, month, and year ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx + xxx is fractions of a second to picoseconds + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH?`` query and raise an AssertionError + if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:SELECTED:MATH? + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeTimestampSelectedRefItem]: """Return the ``HORizontal:FASTframe:TIMEStamp:SELECTED:REF`` command. @@ -1794,6 +1864,33 @@ class HorizontalFastframeTimestampFrameRefItem(ValidatedDynamicNumberCmd, SCPICm """ +class HorizontalFastframeTimestampFrameMathItem( + ValidatedDynamicNumberCmd, SCPICmdReadWithArguments +): + """The ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH`` command. + + **Description:** + - This query-only command returns the absolute trigger date and time for the specified frame + and waveform. Valid waveforms include CH, MATH and REF. The x variable can be + expressed as an integer ranging from 1 through 4. The format of the output is as follows: + DD MON YYYY ``HH:MM:SS``.xxx xxx xxx xxx DD MON YYYY is day, month, and year ``HH:MM:SS`` + is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a second to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? + """ + + class HorizontalFastframeTimestampFrameDigitalBit(ValidatedDigitalBit, SCPICmdReadWithArguments): """The ``HORizontal:FASTframe:TIMEStamp:FRAMe:D`` command. @@ -1856,6 +1953,7 @@ class HorizontalFastframeTimestampFrame(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:D`` command. """ @@ -1865,6 +1963,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._ch: Dict[int, HorizontalFastframeTimestampFrameChannel] = DefaultDictPassKeyToFactory( lambda x: HorizontalFastframeTimestampFrameChannel(device, f"{self._cmd_syntax}:CH{x}") ) + self._math: Dict[ + int, HorizontalFastframeTimestampFrameMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeTimestampFrameMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeTimestampFrameRefItem ] = DefaultDictPassKeyToFactory( @@ -1905,6 +2010,33 @@ def ch(self) -> Dict[int, HorizontalFastframeTimestampFrameChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeTimestampFrameMathItem]: + """Return the ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH`` command. + + **Description:** + - This query-only command returns the absolute trigger date and time for the specified + frame and waveform. Valid waveforms include CH, MATH and REF. The x variable + can be expressed as an integer ranging from 1 through 4. The format of the output is + as follows: DD MON YYYY ``HH:MM:SS``.xxx xxx xxx xxx DD MON YYYY is day, month, and + year ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a + second to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:FRAMe:MATH? + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeTimestampFrameRefItem]: """Return the ``HORizontal:FASTframe:TIMEStamp:FRAMe:REF`` command. @@ -1986,6 +2118,32 @@ class HorizontalFastframeTimestampDeltaRefItem(ValidatedDynamicNumberCmd, SCPICm """ +class HorizontalFastframeTimestampDeltaMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH`` command. + + **Description:** + - This query-only command returns the relative time between the triggers of the FastFrame + Selected and the FastFrame Reference, within the specified waveform. Valid waveforms + include CH, MATH, and REF. The x variable can be expressed as an integer ranging + from 1 through 4. The format of the output is as follows: ``HH:MM:SS``.xxx xxx xxx xxx + ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a second to + picoseconds + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:DELTa:MATH? + """ + + class HorizontalFastframeTimestampDeltaDigitalBit(ValidatedDigitalBit, SCPICmdRead): """The ``HORizontal:FASTframe:TIMEStamp:DELTa:D`` command. @@ -2050,6 +2208,7 @@ class HorizontalFastframeTimestampDelta(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:D`` command. """ @@ -2059,6 +2218,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._ch: Dict[int, HorizontalFastframeTimestampDeltaChannel] = DefaultDictPassKeyToFactory( lambda x: HorizontalFastframeTimestampDeltaChannel(device, f"{self._cmd_syntax}:CH{x}") ) + self._math: Dict[ + int, HorizontalFastframeTimestampDeltaMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeTimestampDeltaMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeTimestampDeltaRefItem ] = DefaultDictPassKeyToFactory( @@ -2099,6 +2265,33 @@ def ch(self) -> Dict[int, HorizontalFastframeTimestampDeltaChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeTimestampDeltaMathItem]: + """Return the ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH`` command. + + **Description:** + - This query-only command returns the relative time between the triggers of the + FastFrame Selected and the FastFrame Reference, within the specified waveform. Valid + waveforms include CH, MATH, and REF. The x variable can be expressed as an + integer ranging from 1 through 4. The format of the output is as follows: + ``HH:MM:SS``.xxx xxx xxx xxx ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx + xxx is fractions of a second to picoseconds + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH?`` query and raise an AssertionError if + the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:DELTa:MATH? + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeTimestampDeltaRefItem]: """Return the ``HORizontal:FASTframe:TIMEStamp:DELTa:REF`` command. @@ -2181,6 +2374,33 @@ class HorizontalFastframeTimestampBetweenRefItem( """ +class HorizontalFastframeTimestampBetweenMathItem( + ValidatedDynamicNumberCmd, SCPICmdReadWithArguments +): + """The ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH`` command. + + **Description:** + - This query-only command returns the relative trigger for the delta time between the + specified frames, within the specified waveform. Valid waveforms include CH, MATH + and REF. The x variable can be expressed as an integer ranging from 1 through 4. The + format of the delta time output is as follows: ``HH:MM:SS``.xxx xxx xxx xxx ``HH:MM:SS`` + is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a second to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? , + """ + + class HorizontalFastframeTimestampBetweenDigitalBit(ValidatedDigitalBit, SCPICmdReadWithArguments): """The ``HORizontal:FASTframe:TIMEStamp:BETWeen:D`` command. @@ -2243,6 +2463,7 @@ class HorizontalFastframeTimestampBetween(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:D`` command. """ @@ -2256,6 +2477,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: device, f"{self._cmd_syntax}:CH{x}" ) ) + self._math: Dict[ + int, HorizontalFastframeTimestampBetweenMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeTimestampBetweenMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeTimestampBetweenRefItem ] = DefaultDictPassKeyToFactory( @@ -2298,6 +2526,33 @@ def ch(self) -> Dict[int, HorizontalFastframeTimestampBetweenChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeTimestampBetweenMathItem]: + """Return the ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH`` command. + + **Description:** + - This query-only command returns the relative trigger for the delta time between the + specified frames, within the specified waveform. Valid waveforms include CH, + MATH and REF. The x variable can be expressed as an integer ranging from 1 + through 4. The format of the delta time output is as follows: ``HH:MM:SS``.xxx xxx xxx + xxx ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a + second to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:BETWeen:MATH? , + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeTimestampBetweenRefItem]: """Return the ``HORizontal:FASTframe:TIMEStamp:BETWeen:REF`` command. @@ -2379,6 +2634,32 @@ class HorizontalFastframeTimestampAllRefItem(ValidatedDynamicNumberCmd, SCPICmdR """ +class HorizontalFastframeTimestampAllMathItem(ValidatedDynamicNumberCmd, SCPICmdReadWithArguments): + """The ``HORizontal:FASTframe:TIMEStamp:ALL:MATH`` command. + + **Description:** + - This query-only command returns the frame number and time stamp for each frame between + requested frames, inclusive, within the specified waveform. Argument order is unimportant. + Valid waveforms include CH, MATH and REF. The x variable can be expressed as an + integer ranging from 1 through 4. The format of the output is as follows: DD MON YYYY + ``HH:MM:SS``.xxx xxx xxx xxx DD MON YYYY is day, month, and year ``HH:MM:SS`` is hours, + minutes, and seconds .xxx xxx xxx xxx is fractions of a second to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:ALL:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:ALL:MATH? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:ALL:MATH? , + """ + + class HorizontalFastframeTimestampAllDigitalBit(ValidatedDigitalBit, SCPICmdReadWithArguments): """The ``HORizontal:FASTframe:TIMEStamp:ALL:D`` command. @@ -2441,6 +2722,7 @@ class HorizontalFastframeTimestampAll(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:ALL:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:ALL:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:ALL:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:ALL:D`` command. """ @@ -2450,6 +2732,11 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._ch: Dict[int, HorizontalFastframeTimestampAllChannel] = DefaultDictPassKeyToFactory( lambda x: HorizontalFastframeTimestampAllChannel(device, f"{self._cmd_syntax}:CH{x}") ) + self._math: Dict[ + int, HorizontalFastframeTimestampAllMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeTimestampAllMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) self._ref: Dict[int, HorizontalFastframeTimestampAllRefItem] = DefaultDictPassKeyToFactory( lambda x: HorizontalFastframeTimestampAllRefItem(device, f"{self._cmd_syntax}:REF{x}") ) @@ -2485,6 +2772,34 @@ def ch(self) -> Dict[int, HorizontalFastframeTimestampAllChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeTimestampAllMathItem]: + """Return the ``HORizontal:FASTframe:TIMEStamp:ALL:MATH`` command. + + **Description:** + - This query-only command returns the frame number and time stamp for each frame between + requested frames, inclusive, within the specified waveform. Argument order is + unimportant. Valid waveforms include CH, MATH and REF. The x variable can be + expressed as an integer ranging from 1 through 4. The format of the output is as + follows: DD MON YYYY ``HH:MM:SS``.xxx xxx xxx xxx DD MON YYYY is day, month, and year + ``HH:MM:SS`` is hours, minutes, and seconds .xxx xxx xxx xxx is fractions of a second + to picoseconds + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:ALL:MATH? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HORizontal:FASTframe:TIMEStamp:ALL:MATH? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:TIMEStamp:ALL:MATH? , + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeTimestampAllRefItem]: """Return the ``HORizontal:FASTframe:TIMEStamp:ALL:REF`` command. @@ -2583,6 +2898,7 @@ def all(self) -> HorizontalFastframeTimestampAll: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:ALL:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:ALL:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:ALL:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:ALL:D`` command. """ @@ -2601,6 +2917,7 @@ def between(self) -> HorizontalFastframeTimestampBetween: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:BETWeen:D`` command. """ @@ -2619,6 +2936,7 @@ def delta(self) -> HorizontalFastframeTimestampDelta: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:DELTa:D`` command. """ @@ -2637,6 +2955,7 @@ def frame(self) -> HorizontalFastframeTimestampFrame: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:FRAMe:D`` command. """ @@ -2680,6 +2999,7 @@ def selected(self) -> HorizontalFastframeTimestampSelected: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:REF`` command. - ``.d``: The ``HORizontal:FASTframe:TIMEStamp:SELECTED:D`` command. """ @@ -2690,11 +3010,10 @@ class HorizontalFastframeSumframe(SCPICmdWrite, SCPICmdRead): """The ``HORizontal:FASTframe:SUMFrame`` command. **Description:** - - This command sets or queries the summary frame mode. When ENVelope is selected, the last - frame in a FastFrame acquisition is an envelope of all the prior frames in the - acquisition. When AVErage is selected, the last frame is replaced with a frame that is the - computed average of all the prior frames in the acquisition. For the summary frame control - to be active, the number of frames must be two or greater. + - This command sets or returns the summary frame type. Turning on Summary Frame does not + adjust the numberFrames value as long as there is room for an additional frame. If there + is not enough room then numberFrames will be reduced by 1. The numberFrames value is + always the number of frames to acquire. **Usage:** - Using the ``.query()`` method will send the ``HORizontal:FASTframe:SUMFrame?`` query. @@ -2711,11 +3030,9 @@ class HorizontalFastframeSumframe(SCPICmdWrite, SCPICmdRead): - HORizontal:FASTframe:SUMFrame? **Info:** - - ``NONE`` turns off the summary mode for FastFrame. This is the default setting. - - ``AVErage`` argument displays the last frame in a FastFrame acquisition as a frame that is - the computed average of all the prior frames in the acquisition. - - ``ENVelope`` argument displays the last frame in a FastFrame acquisition as an envelope of - all the prior frames in the acquisition. + - ``NONe`` sets the Summary frame to off. + - ``AVErage`` sets the Summary frame to average of all acquired frames. + - ``ENVelope`` sets the Summary frame to envelope of all acquired frames. """ @@ -3254,6 +3571,38 @@ class HorizontalFastframeMultipleframesNumframesRefItem( """ +class HorizontalFastframeMultipleframesNumframesMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH`` command. + + **Description:** + - This command sets or queries the number of frames on the specified waveform for the + FastFrame multiple frames feature. The multiple frames feature supports displaying + multiple frames in an overlaid manner. Valid waveforms include CH, MATH and REF. + The x variable can be expressed as an integer ranging from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH value`` command. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH? + + **Info:** + - ```` represents the number of frames on the specified waveform. + """ + + class HorizontalFastframeMultipleframesNumframesDigitalBit( ValidatedDigitalBit, SCPICmdWrite, SCPICmdRead ): @@ -3330,6 +3679,7 @@ class HorizontalFastframeMultipleframesNumframes(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:REF`` command. - ``.d``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:D`` command. """ @@ -3343,6 +3693,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: device, f"{self._cmd_syntax}:CH{x}" ) ) + self._math: Dict[ + int, HorizontalFastframeMultipleframesNumframesMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeMultipleframesNumframesMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeMultipleframesNumframesRefItem ] = DefaultDictPassKeyToFactory( @@ -3389,6 +3746,37 @@ def ch(self) -> Dict[int, HorizontalFastframeMultipleframesNumframesChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeMultipleframesNumframesMathItem]: + """Return the ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH`` command. + + **Description:** + - This command sets or queries the number of frames on the specified waveform for the + FastFrame multiple frames feature. The multiple frames feature supports displaying + multiple frames in an overlaid manner. Valid waveforms include CH, MATH and + REF. The x variable can be expressed as an integer ranging from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH value`` command. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH + - HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH? + + **Info:** + - ```` represents the number of frames on the specified waveform. + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeMultipleframesNumframesRefItem]: """Return the ``HORizontal:FASTframe:MULtipleframes:NUMFRames:REF`` command. @@ -3513,6 +3901,38 @@ class HorizontalFastframeMultipleframesFramestartRefItem( """ +class HorizontalFastframeMultipleframesFramestartMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH`` command. + + **Description:** + - This command sets or queries the start frame number on the specified waveform for the + FastFrame multiple frames feature. Valid waveforms include CH, MATH, and REF. The + value of x can be an integer ranging from 1 through 4. The multiple frames feature + supports displaying multiple frames in an overlaid manner. + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH value`` command. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH? + + **Info:** + - ```` specifies the start frame number on the specified waveform. + """ + + class HorizontalFastframeMultipleframesFramestartDigitalBit( ValidatedDigitalBit, SCPICmdWrite, SCPICmdRead ): @@ -3589,6 +4009,7 @@ class HorizontalFastframeMultipleframesFramestart(SCPICmdRead): Properties: - ``.ch``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:REF`` command. - ``.d``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:D`` command. """ @@ -3602,6 +4023,13 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: device, f"{self._cmd_syntax}:CH{x}" ) ) + self._math: Dict[ + int, HorizontalFastframeMultipleframesFramestartMathItem + ] = DefaultDictPassKeyToFactory( + lambda x: HorizontalFastframeMultipleframesFramestartMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) self._ref: Dict[ int, HorizontalFastframeMultipleframesFramestartRefItem ] = DefaultDictPassKeyToFactory( @@ -3648,6 +4076,37 @@ def ch(self) -> Dict[int, HorizontalFastframeMultipleframesFramestartChannel]: """ return self._ch + @property + def math(self) -> Dict[int, HorizontalFastframeMultipleframesFramestartMathItem]: + """Return the ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH`` command. + + **Description:** + - This command sets or queries the start frame number on the specified waveform for the + FastFrame multiple frames feature. Valid waveforms include CH, MATH, and REF. + The value of x can be an integer ranging from 1 through 4. The multiple frames feature + supports displaying multiple frames in an overlaid manner. + + **Usage:** + - Using the ``.query()`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH value`` command. + + **SCPI Syntax:** + + :: + + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH + - HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH? + + **Info:** + - ```` specifies the start frame number on the specified waveform. + """ + return self._math + @property def ref(self) -> Dict[int, HorizontalFastframeMultipleframesFramestartRefItem]: """Return the ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:REF`` command. @@ -3749,6 +4208,7 @@ def framestart(self) -> HorizontalFastframeMultipleframesFramestart: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:REF`` command. - ``.d``: The ``HORizontal:FASTframe:MULtipleframes:FRAMESTart:D`` command. """ @@ -3797,6 +4257,7 @@ def numframes(self) -> HorizontalFastframeMultipleframesNumframes: Sub-properties: - ``.ch``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:CH`` command. + - ``.math``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:MATH`` command. - ``.ref``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:REF`` command. - ``.d``: The ``HORizontal:FASTframe:MULtipleframes:NUMFRames:D`` command. """ @@ -4242,11 +4703,10 @@ def sumframe(self) -> HorizontalFastframeSumframe: """Return the ``HORizontal:FASTframe:SUMFrame`` command. **Description:** - - This command sets or queries the summary frame mode. When ENVelope is selected, the - last frame in a FastFrame acquisition is an envelope of all the prior frames in the - acquisition. When AVErage is selected, the last frame is replaced with a frame that is - the computed average of all the prior frames in the acquisition. For the summary frame - control to be active, the number of frames must be two or greater. + - This command sets or returns the summary frame type. Turning on Summary Frame does not + adjust the numberFrames value as long as there is room for an additional frame. If + there is not enough room then numberFrames will be reduced by 1. The numberFrames + value is always the number of frames to acquire. **Usage:** - Using the ``.query()`` method will send the ``HORizontal:FASTframe:SUMFrame?`` query. @@ -4263,11 +4723,9 @@ def sumframe(self) -> HorizontalFastframeSumframe: - HORizontal:FASTframe:SUMFrame? **Info:** - - ``NONE`` turns off the summary mode for FastFrame. This is the default setting. - - ``AVErage`` argument displays the last frame in a FastFrame acquisition as a frame - that is the computed average of all the prior frames in the acquisition. - - ``ENVelope`` argument displays the last frame in a FastFrame acquisition as an - envelope of all the prior frames in the acquisition. + - ``NONe`` sets the Summary frame to off. + - ``AVErage`` sets the Summary frame to average of all acquired frames. + - ``ENVelope`` sets the Summary frame to envelope of all acquired frames. """ return self._sumframe diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/search.py b/src/tm_devices/commands/_5y90wx_dpodsamso/search.py index 7a110fbb..87fb6541 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/search.py +++ b/src/tm_devices/commands/_5y90wx_dpodsamso/search.py @@ -13810,8 +13810,8 @@ class SearchSearchItemTriggerABusRs232cDataSize(SCPICmdWrite, SCPICmdRead): **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. The - search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is Data. + The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -13925,8 +13925,8 @@ def size(self) -> SearchSearchItemTriggerABusRs232cDataSize: **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. - The search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is + Data. The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/select.py b/src/tm_devices/commands/_5y90wx_dpodsamso/select.py index 1af0d5fa..9c4f0147 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/select.py +++ b/src/tm_devices/commands/_5y90wx_dpodsamso/select.py @@ -23,6 +23,8 @@ - SELect:DIGTraces:COMbination - SELect:DIGTraces:LISt - SELect:DIGTraces:LISt? + - SELect:MATH {ON|OFF|} + - SELect:MATH? - SELect:REF {ON|OFF|} - SELect:REF? - SELect? @@ -72,6 +74,36 @@ class SelectRefItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): """ +class SelectMathItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``SELect:MATH`` command. + + **Description:** + - This command turns on the display of a specified waveform and also resets the acquisition. + The query returns whether the channel is on or off but does not indicate whether it is the + selected waveform. WFM can be a channel, math, or reference waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``SELect:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SELect:MATH value`` command. + + **SCPI Syntax:** + + :: + + - SELect:MATH {ON|OFF|} + - SELect:MATH? + + **Info:** + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ```` = 0 turns off the display of the specified waveform; any other value turns on + the display of the specified waveform. + """ + + class SelectDigtracesList(SCPICmdWrite, SCPICmdRead): """The ``SELect:DIGTraces:LISt`` command. @@ -328,6 +360,7 @@ class SelectBItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): """ +# pylint: disable=too-many-instance-attributes class Select(SCPICmdRead): """The ``SELect`` command. @@ -352,6 +385,7 @@ class Select(SCPICmdRead): - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ @@ -366,6 +400,9 @@ def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SELec self._ch: Dict[int, SelectChannel] = DefaultDictPassKeyToFactory( lambda x: SelectChannel(device, f"{self._cmd_syntax}:CH{x}") ) + self._math: Dict[int, SelectMathItem] = DefaultDictPassKeyToFactory( + lambda x: SelectMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) self._ref: Dict[int, SelectRefItem] = DefaultDictPassKeyToFactory( lambda x: SelectRefItem(device, f"{self._cmd_syntax}:REF{x}") ) @@ -508,6 +545,38 @@ def ch(self) -> Dict[int, SelectChannel]: """ return self._ch + @property + def math(self) -> Dict[int, SelectMathItem]: + """Return the ``SELect:MATH`` command. + + **Description:** + - This command turns on the display of a specified waveform and also resets the + acquisition. The query returns whether the channel is on or off but does not indicate + whether it is the selected waveform. WFM can be a channel, math, or reference + waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``SELect:MATH?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SELect:MATH value`` command. + + **SCPI Syntax:** + + :: + + - SELect:MATH {ON|OFF|} + - SELect:MATH? + + **Info:** + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ```` = 0 turns off the display of the specified waveform; any other value turns + on the display of the specified waveform. + """ + return self._math + @property def ref(self) -> Dict[int, SelectRefItem]: """Return the ``SELect:REF`` command. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py b/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py index a17503a0..565e0510 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py +++ b/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py @@ -73,6 +73,16 @@ - ZOOm:ZOOM1:D:VERTical:SCAle? - ZOOm:ZOOM1:DCHAN:DISplay {|OFF|ON} - ZOOm:ZOOM1:DCHAN:DISplay? + - ZOOm:ZOOM1:MATH:DISplay {|OFF|ON} + - ZOOm:ZOOM1:MATH:DISplay? + - ZOOm:ZOOM1:MATH:HORizontal:POSition + - ZOOm:ZOOM1:MATH:HORizontal:POSition? + - ZOOm:ZOOM1:MATH:HORizontal:SCAle + - ZOOm:ZOOM1:MATH:HORizontal:SCAle? + - ZOOm:ZOOM1:MATH:VERTical:POSition + - ZOOm:ZOOM1:MATH:VERTical:POSition? + - ZOOm:ZOOM1:MATH:VERTical:SCAle + - ZOOm:ZOOM1:MATH:VERTical:SCAle? - ZOOm:ZOOM1:REF:DISplay {|OFF|ON} - ZOOm:ZOOM1:REF:DISplay? - ZOOm:ZOOM1:REF:HORizontal:POSition @@ -564,6 +574,412 @@ def vertical(self) -> ZoomZoom1RefItemVertical: return self._vertical +class ZoomZoom1MathItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:VERTical:SCAle`` command. + + **Description:** + - This command sets or queries the zoom vertical scale of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom window. + The waveform affected is determine by which can vary from CH1, CH2, CH3, CH4, Math1, + Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:VERTical:SCAle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:SCAle value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:VERTical:SCAle + - ZOOm:ZOOM1:MATH:VERTical:SCAle? + + **Info:** + - ```` is the amount of vertical expansion or compression, which operates on a 1-2-5 + sequence (for example, 1, 2, 5, 10, 20, 50, 100...). Based on the value that you entered, + this command uses the nearest scale factor. Setting the vertical scale to 1 indicates + unity (no zoom). + """ + + +class ZoomZoom1MathItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:VERTical:POSition`` command. + + **Description:** + - This command sets or queries the vertical position of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom window. + The setting of the ``ZOOm:1:SCROLLLOCk`` command determines the waveforms that are + affected. The can be a channel, math, or reference waveform. The waveform affected + is determine by which can vary from CH1, CH2, CH3, CH4, Math1, Math2, Math3, Math4, + Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical:POSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:POSition value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:VERTical:POSition + - ZOOm:ZOOM1:MATH:VERTical:POSition? + + **Info:** + - ```` is the vertical position, expressed in divisions. + """ + + +class ZoomZoom1MathItemVertical(SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:VERTical`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:VERTical?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.position``: The ``ZOOm:ZOOM1:MATH:VERTical:POSition`` command. + - ``.scale``: The ``ZOOm:ZOOM1:MATH:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = ZoomZoom1MathItemVerticalPosition(device, f"{self._cmd_syntax}:POSition") + self._scale = ZoomZoom1MathItemVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> ZoomZoom1MathItemVerticalPosition: + """Return the ``ZOOm:ZOOM1:MATH:VERTical:POSition`` command. + + **Description:** + - This command sets or queries the vertical position of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom + window. The setting of the ``ZOOm:1:SCROLLLOCk`` command determines the waveforms that + are affected. The can be a channel, math, or reference waveform. The waveform + affected is determine by which can vary from CH1, CH2, CH3, CH4, Math1, Math2, + Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical:POSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:POSition value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:VERTical:POSition + - ZOOm:ZOOM1:MATH:VERTical:POSition? + + **Info:** + - ```` is the vertical position, expressed in divisions. + """ + return self._position + + @property + def scale(self) -> ZoomZoom1MathItemVerticalScale: + """Return the ``ZOOm:ZOOM1:MATH:VERTical:SCAle`` command. + + **Description:** + - This command sets or queries the zoom vertical scale of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom + window. The waveform affected is determine by which can vary from CH1, CH2, CH3, + CH4, Math1, Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical:SCAle?`` + query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:VERTical:SCAle value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:VERTical:SCAle + - ZOOm:ZOOM1:MATH:VERTical:SCAle? + + **Info:** + - ```` is the amount of vertical expansion or compression, which operates on a + 1-2-5 sequence (for example, 1, 2, 5, 10, 20, 50, 100...). Based on the value that you + entered, this command uses the nearest scale factor. Setting the vertical scale to 1 + indicates unity (no zoom). + """ + return self._scale + + +class ZoomZoom1MathItemHorizontalScale(SCPICmdWrite, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:HORizontal:SCAle`` command. + + **Description:** + - This command sets or queries the zoom horizontal scale factor of the specified waveform + for the specified zoom, where x is an integer from 1 to 4 representing the desired zoom + window. The waveform affected is determine by which can vary from CH1, CH2, CH3, + CH4, Math1, Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal:SCAle?`` + query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal:SCAle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:SCAle value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:HORizontal:SCAle + - ZOOm:ZOOM1:MATH:HORizontal:SCAle? + + **Info:** + - ```` is the amount of expansion in the horizontal direction in 1-2-5 increments. + """ + + +class ZoomZoom1MathItemHorizontalPosition(SCPICmdWrite, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:HORizontal:POSition`` command. + + **Description:** + - This command sets or queries the horizontal position of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom window. + The setting of the ``ZOOM:ZOOMX:SCROLLLOCK`` command determines the waveforms that are + affected. The waveform affected is determine by which can vary from CH1, CH2, CH3, + CH4, Math1, Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal:POSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:POSition value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:HORizontal:POSition + - ZOOm:ZOOM1:MATH:HORizontal:POSition? + + **Info:** + - ```` is a value from 0 to 100.00 and is the percent of the waveform that is to the + left of screen center, when the zoom factor is 1× or greater. + """ + + +class ZoomZoom1MathItemHorizontal(SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:HORizontal`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.position``: The ``ZOOm:ZOOM1:MATH:HORizontal:POSition`` command. + - ``.scale``: The ``ZOOm:ZOOM1:MATH:HORizontal:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = ZoomZoom1MathItemHorizontalPosition(device, f"{self._cmd_syntax}:POSition") + self._scale = ZoomZoom1MathItemHorizontalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> ZoomZoom1MathItemHorizontalPosition: + """Return the ``ZOOm:ZOOM1:MATH:HORizontal:POSition`` command. + + **Description:** + - This command sets or queries the horizontal position of the specified waveform for the + specified zoom, where x is an integer from 1 to 4 representing the desired zoom + window. The setting of the ``ZOOM:ZOOMX:SCROLLLOCK`` command determines the waveforms + that are affected. The waveform affected is determine by which can vary from + CH1, CH2, CH3, CH4, Math1, Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:POSition value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:HORizontal:POSition + - ZOOm:ZOOM1:MATH:HORizontal:POSition? + + **Info:** + - ```` is a value from 0 to 100.00 and is the percent of the waveform that is to + the left of screen center, when the zoom factor is 1× or greater. + """ + return self._position + + @property + def scale(self) -> ZoomZoom1MathItemHorizontalScale: + """Return the ``ZOOm:ZOOM1:MATH:HORizontal:SCAle`` command. + + **Description:** + - This command sets or queries the zoom horizontal scale factor of the specified + waveform for the specified zoom, where x is an integer from 1 to 4 representing the + desired zoom window. The waveform affected is determine by which can vary from + CH1, CH2, CH3, CH4, Math1, Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal:SCAle?`` + query. + - Using the ``.verify(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ZOOm:ZOOM1:MATH:HORizontal:SCAle value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:HORizontal:SCAle + - ZOOm:ZOOM1:MATH:HORizontal:SCAle? + + **Info:** + - ```` is the amount of expansion in the horizontal direction in 1-2-5 increments. + """ + return self._scale + + +class ZoomZoom1MathItemDisplay(SCPICmdWrite, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH:DISplay`` command. + + **Description:** + - This command sets or queries the display of the specified waveform for the specified zoom, + where x is an integer from 1 to 4 representing the desired zoom window. The waveform + affected is determine by which can vary from CH1, CH2, CH3, CH4, Math1, Math2, + Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:DISplay?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ZOOm:ZOOM1:MATH:DISplay value`` + command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:DISplay {|OFF|ON} + - ZOOm:ZOOM1:MATH:DISplay? + + **Info:** + - ```` A zero disables the specified zoom; any other value enables the specified zoom. + - ``OFF`` disables the specified zoom. + - ``ON`` displays the specified zoom. + """ + + +class ZoomZoom1MathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``ZOOm:ZOOM1:MATH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.display``: The ``ZOOm:ZOOM1:MATH:DISplay`` command. + - ``.horizontal``: The ``ZOOm:ZOOM1:MATH:HORizontal`` command tree. + - ``.vertical``: The ``ZOOm:ZOOM1:MATH:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._display = ZoomZoom1MathItemDisplay(device, f"{self._cmd_syntax}:DISplay") + self._horizontal = ZoomZoom1MathItemHorizontal(device, f"{self._cmd_syntax}:HORizontal") + self._vertical = ZoomZoom1MathItemVertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def display(self) -> ZoomZoom1MathItemDisplay: + """Return the ``ZOOm:ZOOM1:MATH:DISplay`` command. + + **Description:** + - This command sets or queries the display of the specified waveform for the specified + zoom, where x is an integer from 1 to 4 representing the desired zoom window. The + waveform affected is determine by which can vary from CH1, CH2, CH3, CH4, Math1, + Math2, Math3, Math4, Ref1, Ref2, Ref3, or Ref4. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:DISplay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ZOOm:ZOOM1:MATH:DISplay value`` + command. + + **SCPI Syntax:** + + :: + + - ZOOm:ZOOM1:MATH:DISplay {|OFF|ON} + - ZOOm:ZOOM1:MATH:DISplay? + + **Info:** + - ```` A zero disables the specified zoom; any other value enables the specified + zoom. + - ``OFF`` disables the specified zoom. + - ``ON`` displays the specified zoom. + """ + return self._display + + @property + def horizontal(self) -> ZoomZoom1MathItemHorizontal: + """Return the ``ZOOm:ZOOM1:MATH:HORizontal`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:HORizontal?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``ZOOm:ZOOM1:MATH:HORizontal:POSition`` command. + - ``.scale``: The ``ZOOm:ZOOM1:MATH:HORizontal:SCAle`` command. + """ + return self._horizontal + + @property + def vertical(self) -> ZoomZoom1MathItemVertical: + """Return the ``ZOOm:ZOOM1:MATH:VERTical`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH:VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH:VERTical?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``ZOOm:ZOOM1:MATH:VERTical:POSition`` command. + - ``.scale``: The ``ZOOm:ZOOM1:MATH:VERTical:SCAle`` command. + """ + return self._vertical + + class ZoomZoom1DchanDisplay(SCPICmdWrite, SCPICmdRead): """The ``ZOOm:ZOOM1:DCHAN:DISplay`` command. @@ -1481,6 +1897,7 @@ class ZoomZoom1(SCPICmdWrite, SCPICmdRead): - ``.scrolllock``: The ``ZOOm:ZOOM1:SCROLLLock`` command. - ``.state``: The ``ZOOm:ZOOM1:STATE`` command. - ``.ch``: The ``ZOOm:ZOOM1:CH`` command tree. + - ``.math``: The ``ZOOm:ZOOM1:MATH`` command tree. - ``.ref``: The ``ZOOm:ZOOM1:REF`` command tree. - ``.d``: The ``ZOOm:ZOOM1:D`` command tree. """ @@ -1493,6 +1910,9 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._ch: Dict[int, ZoomZoom1Channel] = DefaultDictPassKeyToFactory( lambda x: ZoomZoom1Channel(device, f"{self._cmd_syntax}:CH{x}") ) + self._math: Dict[int, ZoomZoom1MathItem] = DefaultDictPassKeyToFactory( + lambda x: ZoomZoom1MathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) self._ref: Dict[int, ZoomZoom1RefItem] = DefaultDictPassKeyToFactory( lambda x: ZoomZoom1RefItem(device, f"{self._cmd_syntax}:REF{x}") ) @@ -1588,6 +2008,22 @@ def ch(self) -> Dict[int, ZoomZoom1Channel]: """ return self._ch + @property + def math(self) -> Dict[int, ZoomZoom1MathItem]: + """Return the ``ZOOm:ZOOM1:MATH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm:ZOOM1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm:ZOOM1:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.display``: The ``ZOOm:ZOOM1:MATH:DISplay`` command. + - ``.horizontal``: The ``ZOOm:ZOOM1:MATH:HORizontal`` command tree. + - ``.vertical``: The ``ZOOm:ZOOM1:MATH:VERTical`` command tree. + """ + return self._math + @property def ref(self) -> Dict[int, ZoomZoom1RefItem]: """Return the ``ZOOm:ZOOM1:REF`` command tree. @@ -3074,6 +3510,7 @@ def zoom1(self) -> ZoomZoom1: - ``.scrolllock``: The ``ZOOm:ZOOM1:SCROLLLock`` command. - ``.state``: The ``ZOOm:ZOOM1:STATE`` command. - ``.ch``: The ``ZOOm:ZOOM1:CH`` command tree. + - ``.math``: The ``ZOOm:ZOOM1:MATH`` command tree. - ``.ref``: The ``ZOOm:ZOOM1:REF`` command tree. - ``.d``: The ``ZOOm:ZOOM1:D`` command tree. """ diff --git a/src/tm_devices/commands/_60xy3r_smu/buffer.py b/src/tm_devices/commands/_60xy3r_smu/buffer.py index 75736be8..5a0c7c90 100644 --- a/src/tm_devices/commands/_60xy3r_smu/buffer.py +++ b/src/tm_devices/commands/_60xy3r_smu/buffer.py @@ -18,6 +18,8 @@ - buffer.getstats() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() - buffer.write.reading() """ from typing import Any, Dict, Optional, TYPE_CHECKING @@ -32,9 +34,63 @@ class BufferWrite(BaseTSPCmd): """The ``buffer.write`` command tree. Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + def reading( self, buffer_var: str, @@ -140,6 +196,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -172,6 +233,7 @@ class Buffer(BaseTSPCmd): - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ @@ -263,6 +325,14 @@ class Buffer(BaseTSPCmd): """str: Measure terminal, front is 1, rear is 0.""" STYLE_COMPACT = "buffer.STYLE_COMPACT" """str: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp.""" # noqa: E501 + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -323,6 +393,7 @@ def write(self) -> BufferWrite: """Return the ``buffer.write`` command tree. Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ return self._write @@ -434,7 +505,7 @@ def getstats( msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getstats()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -523,3 +594,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_60xy3r_smu/smu.py b/src/tm_devices/commands/_60xy3r_smu/smu.py index fb23f180..f5a1b14c 100644 --- a/src/tm_devices/commands/_60xy3r_smu/smu.py +++ b/src/tm_devices/commands/_60xy3r_smu/smu.py @@ -37,6 +37,13 @@ - smu.measure.filter.type - smu.measure.func - smu.measure.getattribute() + - smu.measure.limit[Y].clear() + - smu.measure.limit[r].audible + - smu.measure.limit[r].autoclear + - smu.measure.limit[r].enable + - smu.measure.limit[r].fail + - smu.measure.limit[r].high.value + - smu.measure.limit[r].low.value - smu.measure.math.enable - smu.measure.math.format - smu.measure.math.mxb.bfactor @@ -90,7 +97,13 @@ """ from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, DefaultDictDeviceCommunication, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictDeviceCommunication, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -2370,6 +2383,451 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class SmuMeasureLimitItemLow(BaseTSPCmd): + """The ``smu.measure.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItemHigh(BaseTSPCmd): + """The ``smu.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``smu.measure.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SmuMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = SmuMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + + @property + def audible(self) -> str: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".audible" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.audible)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".audible", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.audible = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autoclear(self) -> str: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``smu.measure.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(smu.measure.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> SmuMeasureLimitItemHigh: + """Return the ``smu.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> SmuMeasureLimitItemLow: + """Return the ``smu.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + return self._low + + def clear(self) -> None: + """Run the ``smu.measure.limit[r].clear()`` function. + + **Description:** + - This function clears the results of the limit test defined by Y for the selected + measurement function. (r = resistance in ohms) + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].clear() + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class SmuMeasureFilter(BaseTSPCmd): """The ``smu.measure.filter`` command tree. @@ -2999,6 +3457,7 @@ class SmuMeasure(BaseTSPCmd): - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. @@ -3017,6 +3476,9 @@ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: self._autozero = SmuMeasureAutozero(device, f"{self._cmd_syntax}.autozero") self._configlist = SmuMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") self._filter = SmuMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, SmuMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: SmuMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = SmuMeasureMath(device, f"{self._cmd_syntax}.math") self._rel = SmuMeasureRel(device, f"{self._cmd_syntax}.rel") self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( @@ -3548,6 +4010,21 @@ def func(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, SmuMeasureLimitItem]: + """Return the ``smu.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + return self._limit + @property def math(self) -> SmuMeasureMath: """Return the ``smu.measure.math`` command tree. @@ -4508,6 +4985,7 @@ def measure(self) -> SmuMeasure: - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. diff --git a/src/tm_devices/commands/_6ocqvh_smu/buffer.py b/src/tm_devices/commands/_6ocqvh_smu/buffer.py index 538f25d7..e1830c3f 100644 --- a/src/tm_devices/commands/_6ocqvh_smu/buffer.py +++ b/src/tm_devices/commands/_6ocqvh_smu/buffer.py @@ -18,6 +18,8 @@ - buffer.getstats() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() - buffer.write.reading() """ from typing import Any, Dict, Optional, TYPE_CHECKING @@ -32,9 +34,63 @@ class BufferWrite(BaseTSPCmd): """The ``buffer.write`` command tree. Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + def reading( self, buffer_var: str, @@ -171,6 +227,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -203,6 +264,7 @@ class Buffer(BaseTSPCmd): - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ @@ -342,6 +404,14 @@ class Buffer(BaseTSPCmd): """str: Measure terminal, front is 1, rear is 0.""" STYLE_COMPACT = "buffer.STYLE_COMPACT" """str: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp.""" # noqa: E501 + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -402,6 +472,7 @@ def write(self) -> BufferWrite: """Return the ``buffer.write`` command tree. Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ return self._write @@ -513,7 +584,7 @@ def getstats( msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getstats()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -601,3 +672,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6srh1x_smu/smu.py b/src/tm_devices/commands/_6srh1x_smu/smu.py index 1991d96d..27b8899e 100644 --- a/src/tm_devices/commands/_6srh1x_smu/smu.py +++ b/src/tm_devices/commands/_6srh1x_smu/smu.py @@ -37,6 +37,13 @@ - smu.measure.filter.type - smu.measure.func - smu.measure.getattribute() + - smu.measure.limit[Y].clear() + - smu.measure.limit[r].audible + - smu.measure.limit[r].autoclear + - smu.measure.limit[r].enable + - smu.measure.limit[r].fail + - smu.measure.limit[r].high.value + - smu.measure.limit[r].low.value - smu.measure.math.enable - smu.measure.math.format - smu.measure.math.mxb.bfactor @@ -90,7 +97,13 @@ """ from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, DefaultDictDeviceCommunication, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictDeviceCommunication, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -2370,6 +2383,451 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class SmuMeasureLimitItemLow(BaseTSPCmd): + """The ``smu.measure.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItemHigh(BaseTSPCmd): + """The ``smu.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``smu.measure.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SmuMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = SmuMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + + @property + def audible(self) -> str: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".audible" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.audible)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".audible", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.audible = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autoclear(self) -> str: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``smu.measure.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(smu.measure.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> SmuMeasureLimitItemHigh: + """Return the ``smu.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> SmuMeasureLimitItemLow: + """Return the ``smu.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + return self._low + + def clear(self) -> None: + """Run the ``smu.measure.limit[r].clear()`` function. + + **Description:** + - This function clears the results of the limit test defined by Y for the selected + measurement function. (r = resistance in ohms) + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].clear() + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class SmuMeasureFilter(BaseTSPCmd): """The ``smu.measure.filter`` command tree. @@ -2999,6 +3457,7 @@ class SmuMeasure(BaseTSPCmd): - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. @@ -3017,6 +3476,9 @@ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: self._autozero = SmuMeasureAutozero(device, f"{self._cmd_syntax}.autozero") self._configlist = SmuMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") self._filter = SmuMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, SmuMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: SmuMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = SmuMeasureMath(device, f"{self._cmd_syntax}.math") self._rel = SmuMeasureRel(device, f"{self._cmd_syntax}.rel") self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( @@ -3548,6 +4010,21 @@ def func(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, SmuMeasureLimitItem]: + """Return the ``smu.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + return self._limit + @property def math(self) -> SmuMeasureMath: """Return the ``smu.measure.math`` command tree. @@ -4508,6 +4985,7 @@ def measure(self) -> SmuMeasure: - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. diff --git a/src/tm_devices/commands/_6vynmi_smu/smu.py b/src/tm_devices/commands/_6vynmi_smu/smu.py index cbcc0d12..44a1296d 100644 --- a/src/tm_devices/commands/_6vynmi_smu/smu.py +++ b/src/tm_devices/commands/_6vynmi_smu/smu.py @@ -22,6 +22,13 @@ - smu.digitize.count - smu.digitize.displaydigits - smu.digitize.func + - smu.digitize.limit[Y].clear() + - smu.digitize.limit[r].audible + - smu.digitize.limit[r].autoclear + - smu.digitize.limit[r].enable + - smu.digitize.limit[r].fail + - smu.digitize.limit[r].high.value + - smu.digitize.limit[r].low.value - smu.digitize.math.enable - smu.digitize.math.format - smu.digitize.math.mxb.bfactor @@ -61,6 +68,13 @@ - smu.measure.filter.type - smu.measure.func - smu.measure.getattribute() + - smu.measure.limit[Y].clear() + - smu.measure.limit[r].audible + - smu.measure.limit[r].autoclear + - smu.measure.limit[r].enable + - smu.measure.limit[r].fail + - smu.measure.limit[r].high.value + - smu.measure.limit[r].low.value - smu.measure.math.enable - smu.measure.math.format - smu.measure.math.mxb.bfactor @@ -123,7 +137,13 @@ """ from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, DefaultDictDeviceCommunication, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictDeviceCommunication, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -3088,67 +3108,63 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error -class SmuMeasureFilter(BaseTSPCmd): - """The ``smu.measure.filter`` command tree. +class SmuMeasureLimitItemLow(BaseTSPCmd): + """The ``smu.measure.limit[r].low`` command tree. Properties/methods: - - ``.count``: The ``smu.measure.filter.count`` attribute. - - ``.enable``: The ``smu.measure.filter.enable`` attribute. - - ``.type``: The ``smu.measure.filter.type`` attribute. + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. """ @property - def count(self) -> str: - """Access the ``smu.measure.filter.count`` attribute. + def value(self) -> str: + """Access the ``smu.measure.limit[r].low.value`` attribute. **Description:** - - This attribute sets the number of measurements that are averaged when filtering is - enabled. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.count)`` query. - - Setting this property to a value will send the ``smu.measure.filter.count = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. **TSP Syntax:** :: - - smu.measure.filter.count = value - - print(smu.measure.filter.count) + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".count" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.count)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @count.setter - def count(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.filter.count`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].low.value`` attribute. **Description:** - - This attribute sets the number of measurements that are averaged when filtering is - enabled. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.count)`` query. - - Setting this property to a value will send the ``smu.measure.filter.count = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. **TSP Syntax:** :: - - smu.measure.filter.count = value - - print(smu.measure.filter.count) + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3156,68 +3172,76 @@ def count(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".count", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.count = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class SmuMeasureLimitItemHigh(BaseTSPCmd): + """The ``smu.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + @property - def enable(self) -> str: - """Access the ``smu.measure.filter.enable`` attribute. + def value(self) -> str: + """Access the ``smu.measure.limit[r].high.value`` attribute. **Description:** - - This attribute enables or disables the averaging filter for the selected measurement - function. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.enable)`` query. - - Setting this property to a value will send the ``smu.measure.filter.enable = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. **TSP Syntax:** :: - - smu.measure.filter.enable = value - - print(smu.measure.filter.enable) + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.filter.enable`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].high.value`` attribute. **Description:** - - This attribute enables or disables the averaging filter for the selected measurement - function. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.enable)`` query. - - Setting this property to a value will send the ``smu.measure.filter.enable = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. **TSP Syntax:** :: - - smu.measure.filter.enable = value - - print(smu.measure.filter.enable) + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3225,66 +3249,87 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class SmuMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``smu.measure.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SmuMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = SmuMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + @property - def type(self) -> str: - """Access the ``smu.measure.filter.type`` attribute. + def audible(self) -> str: + """Access the ``smu.measure.limit[r].audible`` attribute. **Description:** - - This attribute sets the type of averaging filter that is used for the selected measure - function when the measurement filter is enabled. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.type)`` query. - - Setting this property to a value will send the ``smu.measure.filter.type = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. **TSP Syntax:** :: - - smu.measure.filter.type = value - - print(smu.measure.filter.type) + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._cmd_syntax + ".audible" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.audible)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @type.setter - def type(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.filter.type`` attribute. + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].audible`` attribute. **Description:** - - This attribute sets the type of averaging filter that is used for the selected measure - function when the measurement filter is enabled. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.measure.filter.type)`` query. - - Setting this property to a value will send the ``smu.measure.filter.type = value`` - command. + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. **TSP Syntax:** :: - - smu.measure.filter.type = value - - print(smu.measure.filter.type) + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3292,343 +3337,319 @@ def type(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".type", value + self._cmd_syntax + ".audible", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.audible = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class SmuMeasureConfiglist(BaseTSPCmd): - """The ``smu.measure.configlist`` command tree. - - Properties/methods: - - ``.catalog()``: The ``smu.measure.configlist.catalog()`` function. - - ``.create()``: The ``smu.measure.configlist.create()`` function. - - ``.delete()``: The ``smu.measure.configlist.delete()`` function. - - ``.query()``: The ``smu.measure.configlist.query()`` function. - - ``.recall()``: The ``smu.measure.configlist.recall()`` function. - - ``.size()``: The ``smu.measure.configlist.size()`` function. - - ``.store()``: The ``smu.measure.configlist.store()`` function. - - ``.storefunc()``: The ``smu.measure.configlist.storefunc()`` function. - """ - - def catalog(self) -> str: - """Run the ``smu.measure.configlist.catalog()`` function. + @property + def autoclear(self) -> str: + """Access the ``smu.measure.limit[r].autoclear`` attribute. **Description:** - - This function returns the name of one measure configuration list that is stored on the - instrument. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - smu.measure.configlist.catalog() - - Returns: - The result of the function call. + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.catalog())" + f"print({self._cmd_syntax}.autoclear)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.catalog()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def create(self, list_name: str) -> None: - """Run the ``smu.measure.configlist.create()`` function. + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].autoclear`` attribute. **Description:** - - This function creates an empty measure configuration list. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - smu.measure.configlist.create() - - Args: - list_name: A string that represents the name of a measure configuration list. + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write( # type: ignore[union-attr] - f'{self._cmd_syntax}.create("{list_name}")' - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.create()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def delete(self, list_name: str, index: Optional[int] = None) -> None: - """Run the ``smu.measure.configlist.delete()`` function. + @property + def enable(self) -> str: + """Access the ``smu.measure.limit[r].enable`` attribute. **Description:** - - This function deletes a measure configuration list. + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. **TSP Syntax:** :: - - smu.measure.configlist.delete() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the - configuration list. + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.delete({function_args})" + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def query(self, list_name: str, index: int, field_separator: Optional[str] = None) -> str: - """Run the ``smu.measure.configlist.query()`` function. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].enable`` attribute. **Description:** - - This function returns a list of TSP commands and parameter settings that are stored in - the specified configuration index. + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. **TSP Syntax:** :: - - smu.measure.configlist.query() - - Args: - list_name: A string that represents the name of a measure configuration list. - index: A number that defines a specific configuration index in the configuration list. - field_separator (optional): String that represents the separator for the data; use one - of the following. - - Returns: - The result of the function call. + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - f'"{field_separator}"' if field_separator is not None else None, + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" ) - if x is not None - ) - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.query({function_args}))" - ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.query()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def recall( - self, - list_name: str, - index: Optional[int] = None, - source_list_name: Optional[str] = None, - source_index: Optional[int] = None, - ) -> None: - """Run the ``smu.measure.configlist.recall()`` function. + @property + def fail(self) -> str: + """Access the ``smu.measure.limit[r].fail`` attribute. **Description:** - - This function recalls a configuration index in a measure configuration list and an - optional source configuration list. + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].fail)`` query. **TSP Syntax:** :: - - smu.measure.configlist.recall() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the measure - configuration list. - source_list_name (optional): A string that represents the name of a source configuration - list. - source_index (optional): A number that defines a specific configuration index in the - source configuration list. + - print(smu.measure.limit[r].fail) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - f'"{source_list_name}"' if source_list_name is not None else None, - source_index, - ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.recall({function_args})" - ) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def size(self, list_name: str) -> str: - """Run the ``smu.measure.configlist.size()`` function. + @property + def high(self) -> SmuMeasureLimitItemHigh: + """Return the ``smu.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> SmuMeasureLimitItemLow: + """Return the ``smu.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + return self._low + + def clear(self) -> None: + """Run the ``smu.measure.limit[r].clear()`` function. **Description:** - - This function returns the size (number of configuration indexes) of a measure - configuration list. + - This function clears the results of the limit test defined by Y for the selected + measurement function. (r = resistance in ohms) **TSP Syntax:** :: - - smu.measure.configlist.size() - - Args: - list_name: A string that represents the name of a measure configuration list. - - Returns: - The result of the function call. + - smu.measure.limit[r].clear() Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query( # type: ignore[union-attr] - f'print({self._cmd_syntax}.size("{list_name}"))' - ) + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.size()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def store(self, list_name: str, index: Optional[int] = None) -> None: - """Run the ``smu.measure.configlist.store()`` function. + +class SmuMeasureFilter(BaseTSPCmd): + """The ``smu.measure.filter`` command tree. + + Properties/methods: + - ``.count``: The ``smu.measure.filter.count`` attribute. + - ``.enable``: The ``smu.measure.filter.enable`` attribute. + - ``.type``: The ``smu.measure.filter.type`` attribute. + """ + + @property + def count(self) -> str: + """Access the ``smu.measure.filter.count`` attribute. **Description:** - - This function stores the active measure or digitize settings into the named - configuration list. + - This attribute sets the number of measurements that are averaged when filtering is + enabled. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.filter.count)`` query. + - Setting this property to a value will send the ``smu.measure.filter.count = value`` + command. **TSP Syntax:** :: - - smu.measure.configlist.store() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the - configuration list. + - smu.measure.filter.count = value + - print(smu.measure.filter.count) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.store({function_args})" + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".count" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.count)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.store()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def storefunc(self, list_name: str, function: str, index: Optional[int] = None) -> None: - """Run the ``smu.measure.configlist.storefunc()`` function. + @count.setter + def count(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.filter.count`` attribute. **Description:** - - This function allows you to store the settings for a measure function into a measure - configuration list whether or not the function is active. + - This attribute sets the number of measurements that are averaged when filtering is + enabled. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.filter.count)`` query. + - Setting this property to a value will send the ``smu.measure.filter.count = value`` + command. **TSP Syntax:** :: - - smu.measure.configlist.storefunc() - - Args: - list_name: Name of the configuration list in which to store the function settings. - function: The measure function settings to save into the configuration list. - index (optional): The number of the configuration list index in which to store the - settings. + - smu.measure.filter.count = value + - print(smu.measure.filter.count) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - function, - index, + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".count", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.count = {value}" ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.storefunc({function_args})" - ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.storefunc()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class SmuMeasureAutozero(BaseTSPCmd): - """The ``smu.measure.autozero`` command tree. - - Properties/methods: - - ``.enable``: The ``smu.measure.autozero.enable`` attribute. - - ``.once()``: The ``smu.measure.autozero.once()`` function. - """ - @property def enable(self) -> str: - """Access the ``smu.measure.autozero.enable`` attribute. + """Access the ``smu.measure.filter.enable`` attribute. **Description:** - - This attribute enables or disables automatic updates to the internal reference - measurements (autozero) of the instrument. + - This attribute enables or disables the averaging filter for the selected measurement + function. **Usage:** - - Accessing this property will send the ``print(smu.measure.autozero.enable)`` query. - - Setting this property to a value will send the ``smu.measure.autozero.enable = value`` + - Accessing this property will send the ``print(smu.measure.filter.enable)`` query. + - Setting this property to a value will send the ``smu.measure.filter.enable = value`` command. **TSP Syntax:** :: - - smu.measure.autozero.enable = value - - print(smu.measure.autozero.enable) + - smu.measure.filter.enable = value + - print(smu.measure.filter.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3645,23 +3666,23 @@ def enable(self) -> str: @enable.setter def enable(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.autozero.enable`` attribute. + """Access the ``smu.measure.filter.enable`` attribute. **Description:** - - This attribute enables or disables automatic updates to the internal reference - measurements (autozero) of the instrument. + - This attribute enables or disables the averaging filter for the selected measurement + function. **Usage:** - - Accessing this property will send the ``print(smu.measure.autozero.enable)`` query. - - Setting this property to a value will send the ``smu.measure.autozero.enable = value`` + - Accessing this property will send the ``print(smu.measure.filter.enable)`` query. + - Setting this property to a value will send the ``smu.measure.filter.enable = value`` command. **TSP Syntax:** :: - - smu.measure.autozero.enable = value - - print(smu.measure.autozero.enable) + - smu.measure.filter.enable = value + - print(smu.measure.filter.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3679,124 +3700,779 @@ def enable(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def once(self) -> None: - """Run the ``smu.measure.autozero.once()`` function. + @property + def type(self) -> str: + """Access the ``smu.measure.filter.type`` attribute. **Description:** - - This function causes the instrument to refresh the reference and zero measurements - once. + - This attribute sets the type of averaging filter that is used for the selected measure + function when the measurement filter is enabled. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.filter.type)`` query. + - Setting this property to a value will send the ``smu.measure.filter.type = value`` + command. **TSP Syntax:** :: - - smu.measure.autozero.once() + - smu.measure.filter.type = value + - print(smu.measure.filter.type) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".type" + return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -# pylint: disable=too-many-public-methods -class SmuMeasure(BaseTSPCmd): - """The ``smu.measure`` command tree. - - Properties/methods: - - ``.autorange``: The ``smu.measure.autorange`` attribute. - - ``.autorangehigh``: The ``smu.measure.autorangehigh`` attribute. - - ``.autorangelow``: The ``smu.measure.autorangelow`` attribute. - - ``.autorangerebound``: The ``smu.measure.autorangerebound`` attribute. - - ``.autozero``: The ``smu.measure.autozero`` command tree. - - ``.configlist``: The ``smu.measure.configlist`` command tree. - - ``.count``: The ``smu.measure.count`` attribute. - - ``.displaydigits``: The ``smu.measure.displaydigits`` attribute. - - ``.filter``: The ``smu.measure.filter`` command tree. - - ``.func``: The ``smu.measure.func`` attribute. - - ``.getattribute()``: The ``smu.measure.getattribute()`` function. - - ``.math``: The ``smu.measure.math`` command tree. - - ``.nplc``: The ``smu.measure.nplc`` attribute. - - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. - - ``.range``: The ``smu.measure.range`` attribute. - - ``.read()``: The ``smu.measure.read()`` function. - - ``.readwithtime()``: The ``smu.measure.readwithtime()`` function. - - ``.rel``: The ``smu.measure.rel`` command tree. - - ``.sense``: The ``smu.measure.sense`` attribute. - - ``.setattribute()``: The ``smu.measure.setattribute()`` function. - - ``.unit``: The ``smu.measure.unit`` attribute. - - ``.userdelay``: The ``smu.measure.userdelay[N]`` attribute. - """ - - def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._autozero = SmuMeasureAutozero(device, f"{self._cmd_syntax}.autozero") - self._configlist = SmuMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") - self._filter = SmuMeasureFilter(device, f"{self._cmd_syntax}.filter") - self._math = SmuMeasureMath(device, f"{self._cmd_syntax}.math") - self._rel = SmuMeasureRel(device, f"{self._cmd_syntax}.rel") - self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( - cmd_syntax=f"{self._cmd_syntax}.userdelay[{{key}}]", - write_syntax=f"{self._cmd_syntax}.userdelay[{{key}}] = ", - query_syntax=f"print({self._cmd_syntax}.userdelay[{{key}}])", - device=self._device, - ) - - @property - def autorange(self) -> str: - """Access the ``smu.measure.autorange`` attribute. + @type.setter + def type(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.filter.type`` attribute. **Description:** - - This attribute determines if the measurement range is set manually or automatically - for the selected measure function. + - This attribute sets the type of averaging filter that is used for the selected measure + function when the measurement filter is enabled. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorange)`` query. - - Setting this property to a value will send the ``smu.measure.autorange = value`` + - Accessing this property will send the ``print(smu.measure.filter.type)`` query. + - Setting this property to a value will send the ``smu.measure.filter.type = value`` command. **TSP Syntax:** :: - - smu.measure.autorange = value - - print(smu.measure.autorange) + - smu.measure.filter.type = value + - print(smu.measure.filter.type) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autorange" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autorange)" - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".type", value + ) + else: + self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureConfiglist(BaseTSPCmd): + """The ``smu.measure.configlist`` command tree. + + Properties/methods: + - ``.catalog()``: The ``smu.measure.configlist.catalog()`` function. + - ``.create()``: The ``smu.measure.configlist.create()`` function. + - ``.delete()``: The ``smu.measure.configlist.delete()`` function. + - ``.query()``: The ``smu.measure.configlist.query()`` function. + - ``.recall()``: The ``smu.measure.configlist.recall()`` function. + - ``.size()``: The ``smu.measure.configlist.size()`` function. + - ``.store()``: The ``smu.measure.configlist.store()`` function. + - ``.storefunc()``: The ``smu.measure.configlist.storefunc()`` function. + """ + + def catalog(self) -> str: + """Run the ``smu.measure.configlist.catalog()`` function. + + **Description:** + - This function returns the name of one measure configuration list that is stored on the + instrument. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.catalog() + + Returns: + The result of the function call. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.catalog())" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.catalog()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def create(self, list_name: str) -> None: + """Run the ``smu.measure.configlist.create()`` function. + + **Description:** + - This function creates an empty measure configuration list. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.create() + + Args: + list_name: A string that represents the name of a measure configuration list. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.create("{list_name}")' + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.create()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def delete(self, list_name: str, index: Optional[int] = None) -> None: + """Run the ``smu.measure.configlist.delete()`` function. + + **Description:** + - This function deletes a measure configuration list. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.delete() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the + configuration list. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.delete({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def query(self, list_name: str, index: int, field_separator: Optional[str] = None) -> str: + """Run the ``smu.measure.configlist.query()`` function. + + **Description:** + - This function returns a list of TSP commands and parameter settings that are stored in + the specified configuration index. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.query() + + Args: + list_name: A string that represents the name of a measure configuration list. + index: A number that defines a specific configuration index in the configuration list. + field_separator (optional): String that represents the separator for the data; use one + of the following. + + Returns: + The result of the function call. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + f'"{field_separator}"' if field_separator is not None else None, + ) + if x is not None + ) + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.query({function_args}))" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.query()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def recall( + self, + list_name: str, + index: Optional[int] = None, + source_list_name: Optional[str] = None, + source_index: Optional[int] = None, + ) -> None: + """Run the ``smu.measure.configlist.recall()`` function. + + **Description:** + - This function recalls a configuration index in a measure configuration list and an + optional source configuration list. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.recall() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the measure + configuration list. + source_list_name (optional): A string that represents the name of a source configuration + list. + source_index (optional): A number that defines a specific configuration index in the + source configuration list. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + f'"{source_list_name}"' if source_list_name is not None else None, + source_index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.recall({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def size(self, list_name: str) -> str: + """Run the ``smu.measure.configlist.size()`` function. + + **Description:** + - This function returns the size (number of configuration indexes) of a measure + configuration list. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.size() + + Args: + list_name: A string that represents the name of a measure configuration list. + + Returns: + The result of the function call. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + return self._device.query( # type: ignore[union-attr] + f'print({self._cmd_syntax}.size("{list_name}"))' + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.size()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def store(self, list_name: str, index: Optional[int] = None) -> None: + """Run the ``smu.measure.configlist.store()`` function. + + **Description:** + - This function stores the active measure or digitize settings into the named + configuration list. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.store() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the + configuration list. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.store({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.store()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def storefunc(self, list_name: str, function: str, index: Optional[int] = None) -> None: + """Run the ``smu.measure.configlist.storefunc()`` function. + + **Description:** + - This function allows you to store the settings for a measure function into a measure + configuration list whether or not the function is active. + + **TSP Syntax:** + + :: + + - smu.measure.configlist.storefunc() + + Args: + list_name: Name of the configuration list in which to store the function settings. + function: The measure function settings to save into the configuration list. + index (optional): The number of the configuration list index in which to store the + settings. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + function, + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.storefunc({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.storefunc()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureAutozero(BaseTSPCmd): + """The ``smu.measure.autozero`` command tree. + + Properties/methods: + - ``.enable``: The ``smu.measure.autozero.enable`` attribute. + - ``.once()``: The ``smu.measure.autozero.once()`` function. + """ + + @property + def enable(self) -> str: + """Access the ``smu.measure.autozero.enable`` attribute. + + **Description:** + - This attribute enables or disables automatic updates to the internal reference + measurements (autozero) of the instrument. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autozero.enable)`` query. + - Setting this property to a value will send the ``smu.measure.autozero.enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autozero.enable = value + - print(smu.measure.autozero.enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.autozero.enable`` attribute. + + **Description:** + - This attribute enables or disables automatic updates to the internal reference + measurements (autozero) of the instrument. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autozero.enable)`` query. + - Setting this property to a value will send the ``smu.measure.autozero.enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autozero.enable = value + - print(smu.measure.autozero.enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + def once(self) -> None: + """Run the ``smu.measure.autozero.once()`` function. + + **Description:** + - This function causes the instrument to refresh the reference and zero measurements + once. + + **TSP Syntax:** + + :: + + - smu.measure.autozero.once() + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +# pylint: disable=too-many-public-methods +class SmuMeasure(BaseTSPCmd): + """The ``smu.measure`` command tree. + + Properties/methods: + - ``.autorange``: The ``smu.measure.autorange`` attribute. + - ``.autorangehigh``: The ``smu.measure.autorangehigh`` attribute. + - ``.autorangelow``: The ``smu.measure.autorangelow`` attribute. + - ``.autorangerebound``: The ``smu.measure.autorangerebound`` attribute. + - ``.autozero``: The ``smu.measure.autozero`` command tree. + - ``.configlist``: The ``smu.measure.configlist`` command tree. + - ``.count``: The ``smu.measure.count`` attribute. + - ``.displaydigits``: The ``smu.measure.displaydigits`` attribute. + - ``.filter``: The ``smu.measure.filter`` command tree. + - ``.func``: The ``smu.measure.func`` attribute. + - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. + - ``.math``: The ``smu.measure.math`` command tree. + - ``.nplc``: The ``smu.measure.nplc`` attribute. + - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. + - ``.range``: The ``smu.measure.range`` attribute. + - ``.read()``: The ``smu.measure.read()`` function. + - ``.readwithtime()``: The ``smu.measure.readwithtime()`` function. + - ``.rel``: The ``smu.measure.rel`` command tree. + - ``.sense``: The ``smu.measure.sense`` attribute. + - ``.setattribute()``: The ``smu.measure.setattribute()`` function. + - ``.unit``: The ``smu.measure.unit`` attribute. + - ``.userdelay``: The ``smu.measure.userdelay[N]`` attribute. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autozero = SmuMeasureAutozero(device, f"{self._cmd_syntax}.autozero") + self._configlist = SmuMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") + self._filter = SmuMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, SmuMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: SmuMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) + self._math = SmuMeasureMath(device, f"{self._cmd_syntax}.math") + self._rel = SmuMeasureRel(device, f"{self._cmd_syntax}.rel") + self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( + cmd_syntax=f"{self._cmd_syntax}.userdelay[{{key}}]", + write_syntax=f"{self._cmd_syntax}.userdelay[{{key}}] = ", + query_syntax=f"print({self._cmd_syntax}.userdelay[{{key}}])", + device=self._device, + ) + + @property + def autorange(self) -> str: + """Access the ``smu.measure.autorange`` attribute. + + **Description:** + - This attribute determines if the measurement range is set manually or automatically + for the selected measure function. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorange)`` query. + - Setting this property to a value will send the ``smu.measure.autorange = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorange = value + - print(smu.measure.autorange) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autorange" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autorange)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autorange.setter + def autorange(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.autorange`` attribute. + + **Description:** + - This attribute determines if the measurement range is set manually or automatically + for the selected measure function. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorange)`` query. + - Setting this property to a value will send the ``smu.measure.autorange = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorange = value + - print(smu.measure.autorange) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autorange", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autorange = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autorangehigh(self) -> str: + """Access the ``smu.measure.autorangehigh`` attribute. + + **Description:** + - When autorange is selected, this attribute represents the highest measurement range + that is used when the instrument selects the measurement range automatically. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorangehigh)`` query. + - Setting this property to a value will send the ``smu.measure.autorangehigh = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorangehigh = value + - print(smu.measure.autorangehigh) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autorangehigh" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autorangehigh)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangehigh`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autorangehigh.setter + def autorangehigh(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.autorangehigh`` attribute. + + **Description:** + - When autorange is selected, this attribute represents the highest measurement range + that is used when the instrument selects the measurement range automatically. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorangehigh)`` query. + - Setting this property to a value will send the ``smu.measure.autorangehigh = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorangehigh = value + - print(smu.measure.autorangehigh) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autorangehigh", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autorangehigh = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangehigh`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autorangelow(self) -> str: + """Access the ``smu.measure.autorangelow`` attribute. + + **Description:** + - This attribute selects the lower limit for measurements of the selected function when + the range is selected automatically. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorangelow)`` query. + - Setting this property to a value will send the ``smu.measure.autorangelow = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorangelow = value + - print(smu.measure.autorangelow) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autorangelow" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autorangelow)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangelow`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autorangelow.setter + def autorangelow(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.autorangelow`` attribute. + + **Description:** + - This attribute selects the lower limit for measurements of the selected function when + the range is selected automatically. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorangelow)`` query. + - Setting this property to a value will send the ``smu.measure.autorangelow = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.autorangelow = value + - print(smu.measure.autorangelow) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autorangelow", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autorangelow = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangelow`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autorangerebound(self) -> str: + """Access the ``smu.measure.autorangerebound`` attribute. + + **Description:** + - This attribute determines if the instrument restores the measure range to match the + limit range after making a measurement. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.autorangerebound)`` query. + - Setting this property to a value will send the + ``smu.measure.autorangerebound = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.autorangerebound = value + - print(smu.measure.autorangerebound) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autorangerebound" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autorangerebound)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangerebound`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autorange.setter - def autorange(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.autorange`` attribute. + @autorangerebound.setter + def autorangerebound(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.autorangerebound`` attribute. **Description:** - - This attribute determines if the measurement range is set manually or automatically - for the selected measure function. + - This attribute determines if the instrument restores the measure range to match the + limit range after making a measurement. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorange)`` query. - - Setting this property to a value will send the ``smu.measure.autorange = value`` - command. + - Accessing this property will send the ``print(smu.measure.autorangerebound)`` query. + - Setting this property to a value will send the + ``smu.measure.autorangerebound = value`` command. **TSP Syntax:** :: - - smu.measure.autorange = value - - print(smu.measure.autorange) + - smu.measure.autorangerebound = value + - print(smu.measure.autorangerebound) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3804,68 +4480,247 @@ def autorange(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autorange", value + self._cmd_syntax + ".autorangerebound", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autorange = {value}" + f"{self._cmd_syntax}.autorangerebound = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangerebound`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autorangehigh(self) -> str: - """Access the ``smu.measure.autorangehigh`` attribute. + def autozero(self) -> SmuMeasureAutozero: + """Return the ``smu.measure.autozero`` command tree. + + Sub-properties/methods: + - ``.enable``: The ``smu.measure.autozero.enable`` attribute. + - ``.once()``: The ``smu.measure.autozero.once()`` function. + """ + return self._autozero + + @property + def configlist(self) -> SmuMeasureConfiglist: + """Return the ``smu.measure.configlist`` command tree. + + Sub-properties/methods: + - ``.catalog()``: The ``smu.measure.configlist.catalog()`` function. + - ``.create()``: The ``smu.measure.configlist.create()`` function. + - ``.delete()``: The ``smu.measure.configlist.delete()`` function. + - ``.query()``: The ``smu.measure.configlist.query()`` function. + - ``.recall()``: The ``smu.measure.configlist.recall()`` function. + - ``.size()``: The ``smu.measure.configlist.size()`` function. + - ``.store()``: The ``smu.measure.configlist.store()`` function. + - ``.storefunc()``: The ``smu.measure.configlist.storefunc()`` function. + """ + return self._configlist + + @property + def count(self) -> str: + """Access the ``smu.measure.count`` attribute. **Description:** - - When autorange is selected, this attribute represents the highest measurement range - that is used when the instrument selects the measurement range automatically. + - This attribute sets the number of measurements to make when a measurement is + requested. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangehigh)`` query. - - Setting this property to a value will send the ``smu.measure.autorangehigh = value`` + - Accessing this property will send the ``print(smu.measure.count)`` query. + - Setting this property to a value will send the ``smu.measure.count = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.count = value + - print(smu.measure.count) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".count" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.count)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @count.setter + def count(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.count`` attribute. + + **Description:** + - This attribute sets the number of measurements to make when a measurement is + requested. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.count)`` query. + - Setting this property to a value will send the ``smu.measure.count = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.count = value + - print(smu.measure.count) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".count", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.count = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def displaydigits(self) -> str: + """Access the ``smu.measure.displaydigits`` attribute. + + **Description:** + - This attribute determines the number of digits that are displayed for measurements on + the front panel for the selected function. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.displaydigits)`` query. + - Setting this property to a value will send the ``smu.measure.displaydigits = value`` command. **TSP Syntax:** :: - - smu.measure.autorangehigh = value - - print(smu.measure.autorangehigh) + - smu.measure.displaydigits = value + - print(smu.measure.displaydigits) + + **Info:** + - ``digits``, the 6½ display digits: smu.DIGITS_6_5 + 5½ display digits: smu.DIGITS_5_5 + 4½ display digits: smu.DIGITS_4_5 + 3½ display digits: smu.DIGITS_3_5. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autorangehigh" + return self._cmd_syntax + ".displaydigits" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autorangehigh)" + f"print({self._cmd_syntax}.displaydigits)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangehigh`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @displaydigits.setter + def displaydigits(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.displaydigits`` attribute. + + **Description:** + - This attribute determines the number of digits that are displayed for measurements on + the front panel for the selected function. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.displaydigits)`` query. + - Setting this property to a value will send the ``smu.measure.displaydigits = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.displaydigits = value + - print(smu.measure.displaydigits) + + **Info:** + - ``digits``, the 6½ display digits: smu.DIGITS_6_5 + 5½ display digits: smu.DIGITS_5_5 + 4½ display digits: smu.DIGITS_4_5 + 3½ display digits: smu.DIGITS_3_5. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".displaydigits", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.displaydigits = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def filter(self) -> SmuMeasureFilter: + """Return the ``smu.measure.filter`` command tree. + + Sub-properties/methods: + - ``.count``: The ``smu.measure.filter.count`` attribute. + - ``.enable``: The ``smu.measure.filter.enable`` attribute. + - ``.type``: The ``smu.measure.filter.type`` attribute. + """ + return self._filter + + @property + def func(self) -> str: + """Access the ``smu.measure.func`` attribute. + + **Description:** + - This attribute selects the active measure function. + + **Usage:** + - Accessing this property will send the ``print(smu.measure.func)`` query. + - Setting this property to a value will send the ``smu.measure.func = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.func = value + - print(smu.measure.func) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".func" + return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autorangehigh.setter - def autorangehigh(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.autorangehigh`` attribute. + @func.setter + def func(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.func`` attribute. **Description:** - - When autorange is selected, this attribute represents the highest measurement range - that is used when the instrument selects the measurement range automatically. + - This attribute selects the active measure function. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangehigh)`` query. - - Setting this property to a value will send the ``smu.measure.autorangehigh = value`` - command. + - Accessing this property will send the ``print(smu.measure.func)`` query. + - Setting this property to a value will send the ``smu.measure.func = value`` command. **TSP Syntax:** :: - - smu.measure.autorangehigh = value - - print(smu.measure.autorangehigh) + - smu.measure.func = value + - print(smu.measure.func) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3873,68 +4728,89 @@ def autorangehigh(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autorangehigh", value + self._cmd_syntax + ".func", value ) else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autorangehigh = {value}" - ) + self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangehigh`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autorangelow(self) -> str: - """Access the ``smu.measure.autorangelow`` attribute. + def limit(self) -> Dict[int, SmuMeasureLimitItem]: + """Return the ``smu.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + return self._limit + + @property + def math(self) -> SmuMeasureMath: + """Return the ``smu.measure.math`` command tree. + + Sub-properties/methods: + - ``.enable``: The ``smu.measure.math.enable`` attribute. + - ``.format``: The ``smu.measure.math.format`` attribute. + - ``.mxb``: The ``smu.measure.math.mxb`` command tree. + - ``.percent``: The ``smu.measure.math.percent`` attribute. + """ + return self._math + + @property + def nplc(self) -> str: + """Access the ``smu.measure.nplc`` attribute. **Description:** - - This attribute selects the lower limit for measurements of the selected function when - the range is selected automatically. + - This command sets the time that the input signal is measured for the selected + function. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangelow)`` query. - - Setting this property to a value will send the ``smu.measure.autorangelow = value`` - command. + - Accessing this property will send the ``print(smu.measure.nplc)`` query. + - Setting this property to a value will send the ``smu.measure.nplc = value`` command. **TSP Syntax:** :: - - smu.measure.autorangelow = value - - print(smu.measure.autorangelow) + - smu.measure.nplc = value + - print(smu.measure.nplc) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autorangelow" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autorangelow)" - ) + return self._cmd_syntax + ".nplc" + return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangelow`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autorangelow.setter - def autorangelow(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.autorangelow`` attribute. + @nplc.setter + def nplc(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.nplc`` attribute. **Description:** - - This attribute selects the lower limit for measurements of the selected function when - the range is selected automatically. + - This command sets the time that the input signal is measured for the selected + function. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangelow)`` query. - - Setting this property to a value will send the ``smu.measure.autorangelow = value`` - command. + - Accessing this property will send the ``print(smu.measure.nplc)`` query. + - Setting this property to a value will send the ``smu.measure.nplc = value`` command. **TSP Syntax:** :: - - smu.measure.autorangelow = value - - print(smu.measure.autorangelow) + - smu.measure.nplc = value + - print(smu.measure.nplc) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3942,68 +4818,64 @@ def autorangelow(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autorangelow", value + self._cmd_syntax + ".nplc", value ) else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autorangelow = {value}" - ) + self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangelow`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autorangerebound(self) -> str: - """Access the ``smu.measure.autorangerebound`` attribute. + def offsetcompensation(self) -> str: + """Access the ``smu.measure.offsetcompensation`` attribute. **Description:** - - This attribute determines if the instrument restores the measure range to match the - limit range after making a measurement. + - This attribute determines if offset compensation is used. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangerebound)`` query. + - Accessing this property will send the ``print(smu.measure.offsetcompensation)`` query. - Setting this property to a value will send the - ``smu.measure.autorangerebound = value`` command. + ``smu.measure.offsetcompensation = value`` command. **TSP Syntax:** :: - - smu.measure.autorangerebound = value - - print(smu.measure.autorangerebound) + - smu.measure.offsetcompensation = value + - print(smu.measure.offsetcompensation) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autorangerebound" + return self._cmd_syntax + ".offsetcompensation" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autorangerebound)" + f"print({self._cmd_syntax}.offsetcompensation)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangerebound`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.offsetcompensation`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autorangerebound.setter - def autorangerebound(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.autorangerebound`` attribute. + @offsetcompensation.setter + def offsetcompensation(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.offsetcompensation`` attribute. **Description:** - - This attribute determines if the instrument restores the measure range to match the - limit range after making a measurement. + - This attribute determines if offset compensation is used. **Usage:** - - Accessing this property will send the ``print(smu.measure.autorangerebound)`` query. + - Accessing this property will send the ``print(smu.measure.offsetcompensation)`` query. - Setting this property to a value will send the - ``smu.measure.autorangerebound = value`` command. + ``smu.measure.offsetcompensation = value`` command. **TSP Syntax:** :: - - smu.measure.autorangerebound = value - - print(smu.measure.autorangerebound) + - smu.measure.offsetcompensation = value + - print(smu.measure.offsetcompensation) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4011,92 +4883,64 @@ def autorangerebound(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autorangerebound", value + self._cmd_syntax + ".offsetcompensation", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autorangerebound = {value}" + f"{self._cmd_syntax}.offsetcompensation = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorangerebound`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.offsetcompensation`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autozero(self) -> SmuMeasureAutozero: - """Return the ``smu.measure.autozero`` command tree. - - Sub-properties/methods: - - ``.enable``: The ``smu.measure.autozero.enable`` attribute. - - ``.once()``: The ``smu.measure.autozero.once()`` function. - """ - return self._autozero - - @property - def configlist(self) -> SmuMeasureConfiglist: - """Return the ``smu.measure.configlist`` command tree. - - Sub-properties/methods: - - ``.catalog()``: The ``smu.measure.configlist.catalog()`` function. - - ``.create()``: The ``smu.measure.configlist.create()`` function. - - ``.delete()``: The ``smu.measure.configlist.delete()`` function. - - ``.query()``: The ``smu.measure.configlist.query()`` function. - - ``.recall()``: The ``smu.measure.configlist.recall()`` function. - - ``.size()``: The ``smu.measure.configlist.size()`` function. - - ``.store()``: The ``smu.measure.configlist.store()`` function. - - ``.storefunc()``: The ``smu.measure.configlist.storefunc()`` function. - """ - return self._configlist - - @property - def count(self) -> str: - """Access the ``smu.measure.count`` attribute. + def range(self) -> str: + """Access the ``smu.measure.range`` attribute. **Description:** - - This attribute sets the number of measurements to make when a measurement is - requested. + - This attribute determines the positive full-scale measure range. **Usage:** - - Accessing this property will send the ``print(smu.measure.count)`` query. - - Setting this property to a value will send the ``smu.measure.count = value`` command. + - Accessing this property will send the ``print(smu.measure.range)`` query. + - Setting this property to a value will send the ``smu.measure.range = value`` command. **TSP Syntax:** :: - - smu.measure.count = value - - print(smu.measure.count) + - smu.measure.range = value + - print(smu.measure.range) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".count" + return self._cmd_syntax + ".range" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.count)" + f"print({self._cmd_syntax}.range)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @count.setter - def count(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.count`` attribute. + @range.setter + def range(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.range`` attribute. **Description:** - - This attribute sets the number of measurements to make when a measurement is - requested. + - This attribute determines the positive full-scale measure range. **Usage:** - - Accessing this property will send the ``print(smu.measure.count)`` query. - - Setting this property to a value will send the ``smu.measure.count = value`` command. + - Accessing this property will send the ``print(smu.measure.range)`` query. + - Setting this property to a value will send the ``smu.measure.range = value`` command. **TSP Syntax:** :: - - smu.measure.count = value - - print(smu.measure.count) + - smu.measure.range = value + - print(smu.measure.range) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4104,80 +4948,75 @@ def count(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".count", value + self._cmd_syntax + ".range", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.count = {value}" + f"{self._cmd_syntax}.range = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def displaydigits(self) -> str: - """Access the ``smu.measure.displaydigits`` attribute. + def rel(self) -> SmuMeasureRel: + """Return the ``smu.measure.rel`` command tree. + + Sub-properties/methods: + - ``.acquire()``: The ``smu.measure.rel.acquire()`` function. + - ``.enable``: The ``smu.measure.rel.enable`` attribute. + - ``.level``: The ``smu.measure.rel.level`` attribute. + """ + return self._rel + + @property + def sense(self) -> str: + """Access the ``smu.measure.sense`` attribute. **Description:** - - This attribute determines the number of digits that are displayed for measurements on - the front panel for the selected function. + - This attribute selects local (2-wire) or remote (4-wire) sensing. **Usage:** - - Accessing this property will send the ``print(smu.measure.displaydigits)`` query. - - Setting this property to a value will send the ``smu.measure.displaydigits = value`` - command. + - Accessing this property will send the ``print(smu.measure.sense)`` query. + - Setting this property to a value will send the ``smu.measure.sense = value`` command. **TSP Syntax:** :: - - smu.measure.displaydigits = value - - print(smu.measure.displaydigits) - - **Info:** - - ``digits``, the 6½ display digits: smu.DIGITS_6_5 - 5½ display digits: smu.DIGITS_5_5 - 4½ display digits: smu.DIGITS_4_5 - 3½ display digits: smu.DIGITS_3_5. + - smu.measure.sense = value + - print(smu.measure.sense) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".displaydigits" + return self._cmd_syntax + ".sense" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.displaydigits)" + f"print({self._cmd_syntax}.sense)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sense`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @displaydigits.setter - def displaydigits(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.displaydigits`` attribute. + @sense.setter + def sense(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.sense`` attribute. **Description:** - - This attribute determines the number of digits that are displayed for measurements on - the front panel for the selected function. + - This attribute selects local (2-wire) or remote (4-wire) sensing. **Usage:** - - Accessing this property will send the ``print(smu.measure.displaydigits)`` query. - - Setting this property to a value will send the ``smu.measure.displaydigits = value`` - command. + - Accessing this property will send the ``print(smu.measure.sense)`` query. + - Setting this property to a value will send the ``smu.measure.sense = value`` command. **TSP Syntax:** :: - - smu.measure.displaydigits = value - - print(smu.measure.displaydigits) - - **Info:** - - ``digits``, the 6½ display digits: smu.DIGITS_6_5 - 5½ display digits: smu.DIGITS_5_5 - 4½ display digits: smu.DIGITS_4_5 - 3½ display digits: smu.DIGITS_3_5. + - smu.measure.sense = value + - print(smu.measure.sense) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4185,73 +5024,64 @@ def displaydigits(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".displaydigits", value + self._cmd_syntax + ".sense", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.displaydigits = {value}" + f"{self._cmd_syntax}.sense = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sense`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def filter(self) -> SmuMeasureFilter: - """Return the ``smu.measure.filter`` command tree. - - Sub-properties/methods: - - ``.count``: The ``smu.measure.filter.count`` attribute. - - ``.enable``: The ``smu.measure.filter.enable`` attribute. - - ``.type``: The ``smu.measure.filter.type`` attribute. - """ - return self._filter - - @property - def func(self) -> str: - """Access the ``smu.measure.func`` attribute. + def unit(self) -> str: + """Access the ``smu.measure.unit`` attribute. **Description:** - - This attribute selects the active measure function. + - This attribute sets the units of measurement that are displayed on the front panel of + the instrument and stored in the reading buffer. **Usage:** - - Accessing this property will send the ``print(smu.measure.func)`` query. - - Setting this property to a value will send the ``smu.measure.func = value`` command. + - Accessing this property will send the ``print(smu.measure.unit)`` query. + - Setting this property to a value will send the ``smu.measure.unit = value`` command. **TSP Syntax:** :: - - smu.measure.func = value - - print(smu.measure.func) + - smu.measure.unit = value + - print(smu.measure.unit) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._cmd_syntax + ".unit" + return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @func.setter - def func(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.func`` attribute. + @unit.setter + def unit(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.unit`` attribute. **Description:** - - This attribute selects the active measure function. + - This attribute sets the units of measurement that are displayed on the front panel of + the instrument and stored in the reading buffer. **Usage:** - - Accessing this property will send the ``print(smu.measure.func)`` query. - - Setting this property to a value will send the ``smu.measure.func = value`` command. + - Accessing this property will send the ``print(smu.measure.unit)`` query. + - Setting this property to a value will send the ``smu.measure.unit = value`` command. **TSP Syntax:** :: - - smu.measure.func = value - - print(smu.measure.func) + - smu.measure.unit = value + - print(smu.measure.unit) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4259,204 +5089,230 @@ def func(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".func", value + self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def math(self) -> SmuMeasureMath: - """Return the ``smu.measure.math`` command tree. + def userdelay(self) -> Dict[int, Union[str, float]]: + """Access the ``smu.measure.userdelay[N]`` attribute. - Sub-properties/methods: - - ``.enable``: The ``smu.measure.math.enable`` attribute. - - ``.format``: The ``smu.measure.math.format`` attribute. - - ``.mxb``: The ``smu.measure.math.mxb`` command tree. - - ``.percent``: The ``smu.measure.math.percent`` attribute. + **Description:** + - This attribute sets a user-defined delay that you can use in the trigger model. + + **Usage:** + - Accessing an item from this property will send the ``print(smu.measure.userdelay[N])`` + query. + - Setting an item from this property to a value will send the + ``smu.measure.userdelay[N] = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.userdelay[N] = value + - print(smu.measure.userdelay[N]) + + **Info:** + - ``N``, the user delay to which this time applies (1 to 5). + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._math + return self._userdelay - @property - def nplc(self) -> str: - """Access the ``smu.measure.nplc`` attribute. + def getattribute(self, function: str, setting: str) -> str: + """Run the ``smu.measure.getattribute()`` function. **Description:** - - This command sets the time that the input signal is measured for the selected - function. - - **Usage:** - - Accessing this property will send the ``print(smu.measure.nplc)`` query. - - Setting this property to a value will send the ``smu.measure.nplc = value`` command. + - This function returns the setting for a function attribute. **TSP Syntax:** :: - - smu.measure.nplc = value - - print(smu.measure.nplc) + - smu.measure.getattribute() + + Args: + function: The measurement function. + setting: The attribute for the function; refer to smu.measure.setattribute() for + available settings. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.getattribute({function}, {setting}))" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getattribute()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @nplc.setter - def nplc(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.nplc`` attribute. + def read(self, buffer_name: Optional[str] = None) -> str: + """Run the ``smu.measure.read()`` function. **Description:** - - This command sets the time that the input signal is measured for the selected - function. - - **Usage:** - - Accessing this property will send the ``print(smu.measure.nplc)`` query. - - Setting this property to a value will send the ``smu.measure.nplc = value`` command. + - This function makes measurements, places them in a reading buffer, and returns the + last reading. **TSP Syntax:** :: - - smu.measure.nplc = value - - print(smu.measure.nplc) + - smu.measure.read() + + Args: + buffer_name (optional): The name of the reading buffer, which may be a default buffer + (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is defined, it + defaults to defbuffer1. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".nplc", value - ) - else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.read({function_args}))" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.read()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def offsetcompensation(self) -> str: - """Access the ``smu.measure.offsetcompensation`` attribute. + def readwithtime(self, buffer_name: Optional[str] = None) -> str: + """Run the ``smu.measure.readwithtime()`` function. **Description:** - - This attribute determines if offset compensation is used. - - **Usage:** - - Accessing this property will send the ``print(smu.measure.offsetcompensation)`` query. - - Setting this property to a value will send the - ``smu.measure.offsetcompensation = value`` command. + - This function initiates measurements and returns the last actual measurement and time + information in UTC format without using the trigger model. **TSP Syntax:** :: - - smu.measure.offsetcompensation = value - - print(smu.measure.offsetcompensation) + - smu.measure.readwithtime() + + Args: + buffer_name (optional): The name of the reading buffer, which may be a default buffer + (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is specified, this + parameter defaults to defbuffer1. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".offsetcompensation" + function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.offsetcompensation)" + f"print({self._cmd_syntax}.readwithtime({function_args}))" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.offsetcompensation`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.readwithtime()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @offsetcompensation.setter - def offsetcompensation(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.offsetcompensation`` attribute. + def setattribute(self, function: str, setting: str, value: str) -> None: + """Run the ``smu.measure.setattribute()`` function. **Description:** - - This attribute determines if offset compensation is used. - - **Usage:** - - Accessing this property will send the ``print(smu.measure.offsetcompensation)`` query. - - Setting this property to a value will send the - ``smu.measure.offsetcompensation = value`` command. + - This function allows you to set up a measure function whether or not the function is + active. **TSP Syntax:** :: - - smu.measure.offsetcompensation = value - - print(smu.measure.offsetcompensation) + - smu.measure.setattribute() + + Args: + function: The measurement function. + setting: The attribute for the function; refer to Details and the tables following the + examples. + value: The attribute value. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".offsetcompensation", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.offsetcompensation = {value}" - ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.setattribute({function}, {setting}, {value})" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.offsetcompensation`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.setattribute()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class SmuInterlock(BaseTSPCmd): + """The ``smu.interlock`` command tree. + + Properties/methods: + - ``.enable``: The ``smu.interlock.enable`` attribute. + - ``.tripped``: The ``smu.interlock.tripped`` attribute. + """ + @property - def range(self) -> str: - """Access the ``smu.measure.range`` attribute. + def enable(self) -> str: + """Access the ``smu.interlock.enable`` attribute. **Description:** - - This attribute determines the positive full-scale measure range. + - This attribute determines if the output can be turned on when the interlock is not + engaged. **Usage:** - - Accessing this property will send the ``print(smu.measure.range)`` query. - - Setting this property to a value will send the ``smu.measure.range = value`` command. + - Accessing this property will send the ``print(smu.interlock.enable)`` query. + - Setting this property to a value will send the ``smu.interlock.enable = value`` + command. **TSP Syntax:** :: - - smu.measure.range = value - - print(smu.measure.range) + - smu.interlock.enable = value + - print(smu.interlock.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".range" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.range)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @range.setter - def range(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.range`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.interlock.enable`` attribute. **Description:** - - This attribute determines the positive full-scale measure range. + - This attribute determines if the output can be turned on when the interlock is not + engaged. **Usage:** - - Accessing this property will send the ``print(smu.measure.range)`` query. - - Setting this property to a value will send the ``smu.measure.range = value`` command. + - Accessing this property will send the ``print(smu.interlock.enable)`` query. + - Setting this property to a value will send the ``smu.interlock.enable = value`` + command. **TSP Syntax:** :: - - smu.measure.range = value - - print(smu.measure.range) + - smu.interlock.enable = value + - print(smu.interlock.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4464,75 +5320,107 @@ def range(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".range", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.range = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def rel(self) -> SmuMeasureRel: - """Return the ``smu.measure.rel`` command tree. + def tripped(self) -> str: + """Access the ``smu.interlock.tripped`` attribute. - Sub-properties/methods: - - ``.acquire()``: The ``smu.measure.rel.acquire()`` function. - - ``.enable``: The ``smu.measure.rel.enable`` attribute. - - ``.level``: The ``smu.measure.rel.level`` attribute. + **Description:** + - This attribute indicates that the interlock has been tripped. + + **Usage:** + - Accessing this property will send the ``print(smu.interlock.tripped)`` query. + + **TSP Syntax:** + + :: + + - print(smu.interlock.tripped) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._rel + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".tripped" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.tripped)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.tripped`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuDigitizeRel(BaseTSPCmd): + """The ``smu.digitize.rel`` command tree. + + Properties/methods: + - ``.acquire()``: The ``smu.digitize.rel.acquire()`` function. + - ``.enable``: The ``smu.digitize.rel.enable`` attribute. + - ``.level``: The ``smu.digitize.rel.level`` attribute. + """ @property - def sense(self) -> str: - """Access the ``smu.measure.sense`` attribute. + def enable(self) -> str: + """Access the ``smu.digitize.rel.enable`` attribute. **Description:** - - This attribute selects local (2-wire) or remote (4-wire) sensing. + - This attribute enables or disables the application of a relative offset value to the + measurement. **Usage:** - - Accessing this property will send the ``print(smu.measure.sense)`` query. - - Setting this property to a value will send the ``smu.measure.sense = value`` command. + - Accessing this property will send the ``print(smu.digitize.rel.enable)`` query. + - Setting this property to a value will send the ``smu.digitize.rel.enable = value`` + command. **TSP Syntax:** :: - - smu.measure.sense = value - - print(smu.measure.sense) + - smu.digitize.rel.enable = value + - print(smu.digitize.rel.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".sense" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.sense)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sense`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @sense.setter - def sense(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.sense`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.rel.enable`` attribute. **Description:** - - This attribute selects local (2-wire) or remote (4-wire) sensing. + - This attribute enables or disables the application of a relative offset value to the + measurement. **Usage:** - - Accessing this property will send the ``print(smu.measure.sense)`` query. - - Setting this property to a value will send the ``smu.measure.sense = value`` command. + - Accessing this property will send the ``print(smu.digitize.rel.enable)`` query. + - Setting this property to a value will send the ``smu.digitize.rel.enable = value`` + command. **TSP Syntax:** :: - - smu.measure.sense = value - - print(smu.measure.sense) + - smu.digitize.rel.enable = value + - print(smu.digitize.rel.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4540,64 +5428,66 @@ def sense(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".sense", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.sense = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sense`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def unit(self) -> str: - """Access the ``smu.measure.unit`` attribute. + def level(self) -> str: + """Access the ``smu.digitize.rel.level`` attribute. **Description:** - - This attribute sets the units of measurement that are displayed on the front panel of - the instrument and stored in the reading buffer. + - This attribute contains the relative offset value. **Usage:** - - Accessing this property will send the ``print(smu.measure.unit)`` query. - - Setting this property to a value will send the ``smu.measure.unit = value`` command. + - Accessing this property will send the ``print(smu.digitize.rel.level)`` query. + - Setting this property to a value will send the ``smu.digitize.rel.level = value`` + command. **TSP Syntax:** :: - - smu.measure.unit = value - - print(smu.measure.unit) + - smu.digitize.rel.level = value + - print(smu.digitize.rel.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._cmd_syntax + ".level" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.level)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @unit.setter - def unit(self, value: Union[str, float]) -> None: - """Access the ``smu.measure.unit`` attribute. + @level.setter + def level(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.rel.level`` attribute. **Description:** - - This attribute sets the units of measurement that are displayed on the front panel of - the instrument and stored in the reading buffer. + - This attribute contains the relative offset value. **Usage:** - - Accessing this property will send the ``print(smu.measure.unit)`` query. - - Setting this property to a value will send the ``smu.measure.unit = value`` command. + - Accessing this property will send the ``print(smu.digitize.rel.level)`` query. + - Setting this property to a value will send the ``smu.digitize.rel.level = value`` + command. **TSP Syntax:** :: - - smu.measure.unit = value - - print(smu.measure.unit) + - smu.digitize.rel.level = value + - print(smu.digitize.rel.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4605,197 +5495,220 @@ def unit(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".unit", value + self._cmd_syntax + ".level", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.level = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def userdelay(self) -> Dict[int, Union[str, float]]: - """Access the ``smu.measure.userdelay[N]`` attribute. + def acquire(self) -> str: + """Run the ``smu.digitize.rel.acquire()`` function. **Description:** - - This attribute sets a user-defined delay that you can use in the trigger model. - - **Usage:** - - Accessing an item from this property will send the ``print(smu.measure.userdelay[N])`` - query. - - Setting an item from this property to a value will send the - ``smu.measure.userdelay[N] = value`` command. + - This function acquires a measurement and stores it as the relative offset value for + the selected digitize function. **TSP Syntax:** :: - - smu.measure.userdelay[N] = value - - print(smu.measure.userdelay[N]) + - smu.digitize.rel.acquire() - **Info:** - - ``N``, the user delay to which this time applies (1 to 5). + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._userdelay + try: + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.acquire())" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.acquire()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error - def getattribute(self, function: str, setting: str) -> str: - """Run the ``smu.measure.getattribute()`` function. + +class SmuDigitizeMathMxb(BaseTSPCmd): + """The ``smu.digitize.math.mxb`` command tree. + + Properties/methods: + - ``.bfactor``: The ``smu.digitize.math.mxb.bfactor`` attribute. + - ``.mfactor``: The ``smu.digitize.math.mxb.mfactor`` attribute. + """ + + @property + def bfactor(self) -> str: + """Access the ``smu.digitize.math.mxb.bfactor`` attribute. **Description:** - - This function returns the setting for a function attribute. + - This attribute specifies the offset, b, for the y = mx + b operation. + + **Usage:** + - Accessing this property will send the ``print(smu.digitize.math.mxb.bfactor)`` query. + - Setting this property to a value will send the + ``smu.digitize.math.mxb.bfactor = value`` command. **TSP Syntax:** :: - - smu.measure.getattribute() - - Args: - function: The measurement function. - setting: The attribute for the function; refer to smu.measure.setattribute() for - available settings. - - Returns: - The result of the function call. + - smu.digitize.math.mxb.bfactor = value + - print(smu.digitize.math.mxb.bfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".bfactor" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.getattribute({function}, {setting}))" + f"print({self._cmd_syntax}.bfactor)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getattribute()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def read(self, buffer_name: Optional[str] = None) -> str: - """Run the ``smu.measure.read()`` function. + @bfactor.setter + def bfactor(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.math.mxb.bfactor`` attribute. + + **Description:** + - This attribute specifies the offset, b, for the y = mx + b operation. - **Description:** - - This function makes measurements, places them in a reading buffer, and returns the - last reading. + **Usage:** + - Accessing this property will send the ``print(smu.digitize.math.mxb.bfactor)`` query. + - Setting this property to a value will send the + ``smu.digitize.math.mxb.bfactor = value`` command. **TSP Syntax:** :: - - smu.measure.read() - - Args: - buffer_name (optional): The name of the reading buffer, which may be a default buffer - (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is defined, it - defaults to defbuffer1. - - Returns: - The result of the function call. + - smu.digitize.math.mxb.bfactor = value + - print(smu.digitize.math.mxb.bfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.read({function_args}))" - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".bfactor", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.bfactor = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.read()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def readwithtime(self, buffer_name: Optional[str] = None) -> str: - """Run the ``smu.measure.readwithtime()`` function. + @property + def mfactor(self) -> str: + """Access the ``smu.digitize.math.mxb.mfactor`` attribute. **Description:** - - This function initiates measurements and returns the last actual measurement and time - information in UTC format without using the trigger model. + - This attribute specifies the scale factor, m, for the y = mx + b math operation. + + **Usage:** + - Accessing this property will send the ``print(smu.digitize.math.mxb.mfactor)`` query. + - Setting this property to a value will send the + ``smu.digitize.math.mxb.mfactor = value`` command. **TSP Syntax:** :: - - smu.measure.readwithtime() - - Args: - buffer_name (optional): The name of the reading buffer, which may be a default buffer - (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is specified, this - parameter defaults to defbuffer1. - - Returns: - The result of the function call. + - smu.digitize.math.mxb.mfactor = value + - print(smu.digitize.math.mxb.mfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".mfactor" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.readwithtime({function_args}))" + f"print({self._cmd_syntax}.mfactor)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.readwithtime()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def setattribute(self, function: str, setting: str, value: str) -> None: - """Run the ``smu.measure.setattribute()`` function. + @mfactor.setter + def mfactor(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.math.mxb.mfactor`` attribute. **Description:** - - This function allows you to set up a measure function whether or not the function is - active. + - This attribute specifies the scale factor, m, for the y = mx + b math operation. + + **Usage:** + - Accessing this property will send the ``print(smu.digitize.math.mxb.mfactor)`` query. + - Setting this property to a value will send the + ``smu.digitize.math.mxb.mfactor = value`` command. **TSP Syntax:** :: - - smu.measure.setattribute() - - Args: - function: The measurement function. - setting: The attribute for the function; refer to Details and the tables following the - examples. - value: The attribute value. + - smu.digitize.math.mxb.mfactor = value + - print(smu.digitize.math.mxb.mfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.setattribute({function}, {setting}, {value})" - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".mfactor", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mfactor = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.setattribute()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class SmuInterlock(BaseTSPCmd): - """The ``smu.interlock`` command tree. +class SmuDigitizeMath(BaseTSPCmd): + """The ``smu.digitize.math`` command tree. Properties/methods: - - ``.enable``: The ``smu.interlock.enable`` attribute. - - ``.tripped``: The ``smu.interlock.tripped`` attribute. + - ``.enable``: The ``smu.digitize.math.enable`` attribute. + - ``.format``: The ``smu.digitize.math.format`` attribute. + - ``.mxb``: The ``smu.digitize.math.mxb`` command tree. + - ``.percent``: The ``smu.digitize.math.percent`` attribute. """ + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mxb = SmuDigitizeMathMxb(device, f"{self._cmd_syntax}.mxb") + @property def enable(self) -> str: - """Access the ``smu.interlock.enable`` attribute. + """Access the ``smu.digitize.math.enable`` attribute. **Description:** - - This attribute determines if the output can be turned on when the interlock is not - engaged. + - This attribute enables or disables math operations on measurements for the selected + digitize function. **Usage:** - - Accessing this property will send the ``print(smu.interlock.enable)`` query. - - Setting this property to a value will send the ``smu.interlock.enable = value`` + - Accessing this property will send the ``print(smu.digitize.math.enable)`` query. + - Setting this property to a value will send the ``smu.digitize.math.enable = value`` command. **TSP Syntax:** :: - - smu.interlock.enable = value - - print(smu.interlock.enable) + - smu.digitize.math.enable = value + - print(smu.digitize.math.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4812,23 +5725,23 @@ def enable(self) -> str: @enable.setter def enable(self, value: Union[str, float]) -> None: - """Access the ``smu.interlock.enable`` attribute. + """Access the ``smu.digitize.math.enable`` attribute. **Description:** - - This attribute determines if the output can be turned on when the interlock is not - engaged. + - This attribute enables or disables math operations on measurements for the selected + digitize function. **Usage:** - - Accessing this property will send the ``print(smu.interlock.enable)`` query. - - Setting this property to a value will send the ``smu.interlock.enable = value`` + - Accessing this property will send the ``print(smu.digitize.math.enable)`` query. + - Setting this property to a value will send the ``smu.digitize.math.enable = value`` command. **TSP Syntax:** :: - - smu.interlock.enable = value - - print(smu.interlock.enable) + - smu.digitize.math.enable = value + - print(smu.digitize.math.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4847,96 +5760,136 @@ def enable(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error @property - def tripped(self) -> str: - """Access the ``smu.interlock.tripped`` attribute. + def format(self) -> str: + """Access the ``smu.digitize.math.format`` attribute. **Description:** - - This attribute indicates that the interlock has been tripped. + - This attribute specifies which math operation is performed on measurements when math + operations are enabled. **Usage:** - - Accessing this property will send the ``print(smu.interlock.tripped)`` query. + - Accessing this property will send the ``print(smu.digitize.math.format)`` query. + - Setting this property to a value will send the ``smu.digitize.math.format = value`` + command. **TSP Syntax:** :: - - print(smu.interlock.tripped) + - smu.digitize.math.format = value + - print(smu.digitize.math.format) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".tripped" + return self._cmd_syntax + ".format" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.tripped)" + f"print({self._cmd_syntax}.format)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.tripped`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @format.setter + def format(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.math.format`` attribute. -class SmuDigitizeRel(BaseTSPCmd): - """The ``smu.digitize.rel`` command tree. + **Description:** + - This attribute specifies which math operation is performed on measurements when math + operations are enabled. - Properties/methods: - - ``.acquire()``: The ``smu.digitize.rel.acquire()`` function. - - ``.enable``: The ``smu.digitize.rel.enable`` attribute. - - ``.level``: The ``smu.digitize.rel.level`` attribute. - """ + **Usage:** + - Accessing this property will send the ``print(smu.digitize.math.format)`` query. + - Setting this property to a value will send the ``smu.digitize.math.format = value`` + command. + + **TSP Syntax:** + + :: + + - smu.digitize.math.format = value + - print(smu.digitize.math.format) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".format", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error @property - def enable(self) -> str: - """Access the ``smu.digitize.rel.enable`` attribute. + def mxb(self) -> SmuDigitizeMathMxb: + """Return the ``smu.digitize.math.mxb`` command tree. + + Sub-properties/methods: + - ``.bfactor``: The ``smu.digitize.math.mxb.bfactor`` attribute. + - ``.mfactor``: The ``smu.digitize.math.mxb.mfactor`` attribute. + """ + return self._mxb + + @property + def percent(self) -> str: + """Access the ``smu.digitize.math.percent`` attribute. **Description:** - - This attribute enables or disables the application of a relative offset value to the - measurement. + - This attribute specifies the reference constant that is used when math operations are + set to percent. **Usage:** - - Accessing this property will send the ``print(smu.digitize.rel.enable)`` query. - - Setting this property to a value will send the ``smu.digitize.rel.enable = value`` + - Accessing this property will send the ``print(smu.digitize.math.percent)`` query. + - Setting this property to a value will send the ``smu.digitize.math.percent = value`` command. **TSP Syntax:** :: - - smu.digitize.rel.enable = value - - print(smu.digitize.rel.enable) + - smu.digitize.math.percent = value + - print(smu.digitize.math.percent) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".percent" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.percent)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.rel.enable`` attribute. + @percent.setter + def percent(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.math.percent`` attribute. **Description:** - - This attribute enables or disables the application of a relative offset value to the - measurement. + - This attribute specifies the reference constant that is used when math operations are + set to percent. **Usage:** - - Accessing this property will send the ``print(smu.digitize.rel.enable)`` query. - - Setting this property to a value will send the ``smu.digitize.rel.enable = value`` + - Accessing this property will send the ``print(smu.digitize.math.percent)`` query. + - Setting this property to a value will send the ``smu.digitize.math.percent = value`` command. **TSP Syntax:** :: - - smu.digitize.rel.enable = value - - print(smu.digitize.rel.enable) + - smu.digitize.math.percent = value + - print(smu.digitize.math.percent) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4944,66 +5897,76 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".percent", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.percent = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class SmuDigitizeLimitItemLow(BaseTSPCmd): + """The ``smu.digitize.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``smu.digitize.limit[r].low.value`` attribute. + """ + @property - def level(self) -> str: - """Access the ``smu.digitize.rel.level`` attribute. + def value(self) -> str: + """Access the ``smu.digitize.limit[r].low.value`` attribute. **Description:** - - This attribute contains the relative offset value. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.rel.level)`` query. - - Setting this property to a value will send the ``smu.digitize.rel.level = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].low.value)`` + query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].low.value = value`` command. **TSP Syntax:** :: - - smu.digitize.rel.level = value - - print(smu.digitize.rel.level) + - smu.digitize.limit[r].low.value = value + - print(smu.digitize.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".level" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.level)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @level.setter - def level(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.rel.level`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.limit[r].low.value`` attribute. **Description:** - - This attribute contains the relative offset value. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.rel.level)`` query. - - Setting this property to a value will send the ``smu.digitize.rel.level = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].low.value)`` + query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].low.value = value`` command. **TSP Syntax:** :: - - smu.digitize.rel.level = value - - print(smu.digitize.rel.level) + - smu.digitize.limit[r].low.value = value + - print(smu.digitize.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -5011,102 +5974,76 @@ def level(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".level", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.level = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 - raise NoDeviceProvidedError(msg) from error - - def acquire(self) -> str: - """Run the ``smu.digitize.rel.acquire()`` function. - - **Description:** - - This function acquires a measurement and stores it as the relative offset value for - the selected digitize function. - - **TSP Syntax:** - - :: - - - smu.digitize.rel.acquire() - - Returns: - The result of the function call. - - Raises: - tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. - """ - try: - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.acquire())" - ) - except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.acquire()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class SmuDigitizeMathMxb(BaseTSPCmd): - """The ``smu.digitize.math.mxb`` command tree. +class SmuDigitizeLimitItemHigh(BaseTSPCmd): + """The ``smu.digitize.limit[r].high`` command tree. Properties/methods: - - ``.bfactor``: The ``smu.digitize.math.mxb.bfactor`` attribute. - - ``.mfactor``: The ``smu.digitize.math.mxb.mfactor`` attribute. + - ``.value``: The ``smu.digitize.limit[r].high.value`` attribute. """ @property - def bfactor(self) -> str: - """Access the ``smu.digitize.math.mxb.bfactor`` attribute. + def value(self) -> str: + """Access the ``smu.digitize.limit[r].high.value`` attribute. **Description:** - - This attribute specifies the offset, b, for the y = mx + b operation. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.mxb.bfactor)`` query. + - Accessing this property will send the ``print(smu.digitize.limit[r].high.value)`` + query. - Setting this property to a value will send the - ``smu.digitize.math.mxb.bfactor = value`` command. + ``smu.digitize.limit[r].high.value = value`` command. **TSP Syntax:** :: - - smu.digitize.math.mxb.bfactor = value - - print(smu.digitize.math.mxb.bfactor) + - smu.digitize.limit[r].high.value = value + - print(smu.digitize.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".bfactor" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.bfactor)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @bfactor.setter - def bfactor(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.math.mxb.bfactor`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.limit[r].high.value`` attribute. **Description:** - - This attribute specifies the offset, b, for the y = mx + b operation. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.mxb.bfactor)`` query. + - Accessing this property will send the ``print(smu.digitize.limit[r].high.value)`` + query. - Setting this property to a value will send the - ``smu.digitize.math.mxb.bfactor = value`` command. + ``smu.digitize.limit[r].high.value = value`` command. **TSP Syntax:** :: - - smu.digitize.math.mxb.bfactor = value - - print(smu.digitize.math.mxb.bfactor) + - smu.digitize.limit[r].high.value = value + - print(smu.digitize.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -5114,66 +6051,87 @@ def bfactor(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".bfactor", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.bfactor = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class SmuDigitizeLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``smu.digitize.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``smu.digitize.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.digitize.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.digitize.limit[r].clear()`` function. + - ``.enable``: The ``smu.digitize.limit[r].enable`` attribute. + - ``.fail``: The ``smu.digitize.limit[r].fail`` attribute. + - ``.high``: The ``smu.digitize.limit[r].high`` command tree. + - ``.low``: The ``smu.digitize.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SmuDigitizeLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = SmuDigitizeLimitItemLow(device, f"{self._cmd_syntax}.low") + @property - def mfactor(self) -> str: - """Access the ``smu.digitize.math.mxb.mfactor`` attribute. + def audible(self) -> str: + """Access the ``smu.digitize.limit[r].audible`` attribute. **Description:** - - This attribute specifies the scale factor, m, for the y = mx + b math operation. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.mxb.mfactor)`` query. + - Accessing this property will send the ``print(smu.digitize.limit[r].audible)`` query. - Setting this property to a value will send the - ``smu.digitize.math.mxb.mfactor = value`` command. + ``smu.digitize.limit[r].audible = value`` command. **TSP Syntax:** :: - - smu.digitize.math.mxb.mfactor = value - - print(smu.digitize.math.mxb.mfactor) + - smu.digitize.limit[r].audible = value + - print(smu.digitize.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".mfactor" + return self._cmd_syntax + ".audible" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.mfactor)" + f"print({self._cmd_syntax}.audible)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @mfactor.setter - def mfactor(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.math.mxb.mfactor`` attribute. + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.limit[r].audible`` attribute. **Description:** - - This attribute specifies the scale factor, m, for the y = mx + b math operation. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.mxb.mfactor)`` query. + - Accessing this property will send the ``print(smu.digitize.limit[r].audible)`` query. - Setting this property to a value will send the - ``smu.digitize.math.mxb.mfactor = value`` command. + ``smu.digitize.limit[r].audible = value`` command. **TSP Syntax:** :: - - smu.digitize.math.mxb.mfactor = value - - print(smu.digitize.math.mxb.mfactor) + - smu.digitize.limit[r].audible = value + - print(smu.digitize.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -5181,83 +6139,70 @@ def mfactor(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".mfactor", value + self._cmd_syntax + ".audible", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.mfactor = {value}" + f"{self._cmd_syntax}.audible = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class SmuDigitizeMath(BaseTSPCmd): - """The ``smu.digitize.math`` command tree. - - Properties/methods: - - ``.enable``: The ``smu.digitize.math.enable`` attribute. - - ``.format``: The ``smu.digitize.math.format`` attribute. - - ``.mxb``: The ``smu.digitize.math.mxb`` command tree. - - ``.percent``: The ``smu.digitize.math.percent`` attribute. - """ - - def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._mxb = SmuDigitizeMathMxb(device, f"{self._cmd_syntax}.mxb") - @property - def enable(self) -> str: - """Access the ``smu.digitize.math.enable`` attribute. + def autoclear(self) -> str: + """Access the ``smu.digitize.limit[r].autoclear`` attribute. **Description:** - - This attribute enables or disables math operations on measurements for the selected - digitize function. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.enable)`` query. - - Setting this property to a value will send the ``smu.digitize.math.enable = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].autoclear)`` + query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - smu.digitize.math.enable = value - - print(smu.digitize.math.enable) + - smu.digitize.limit[r].autoclear = value + - print(smu.digitize.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".autoclear" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.autoclear)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.math.enable`` attribute. + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.limit[r].autoclear`` attribute. **Description:** - - This attribute enables or disables math operations on measurements for the selected - digitize function. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.enable)`` query. - - Setting this property to a value will send the ``smu.digitize.math.enable = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].autoclear)`` + query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - smu.digitize.math.enable = value - - print(smu.digitize.math.enable) + - smu.digitize.limit[r].autoclear = value + - print(smu.digitize.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -5265,68 +6210,68 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".autoclear", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.autoclear = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def format(self) -> str: - """Access the ``smu.digitize.math.format`` attribute. + def enable(self) -> str: + """Access the ``smu.digitize.limit[r].enable`` attribute. **Description:** - - This attribute specifies which math operation is performed on measurements when math - operations are enabled. + - This attribute enables or disables a limit test on the measurement from the selected + digitize function. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.format)`` query. - - Setting this property to a value will send the ``smu.digitize.math.format = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].enable)`` query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].enable = value`` command. **TSP Syntax:** :: - - smu.digitize.math.format = value - - print(smu.digitize.math.format) + - smu.digitize.limit[r].enable = value + - print(smu.digitize.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".format" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.format)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @format.setter - def format(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.math.format`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.digitize.limit[r].enable`` attribute. **Description:** - - This attribute specifies which math operation is performed on measurements when math - operations are enabled. + - This attribute enables or disables a limit test on the measurement from the selected + digitize function. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.format)`` query. - - Setting this property to a value will send the ``smu.digitize.math.format = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].enable)`` query. + - Setting this property to a value will send the + ``smu.digitize.limit[r].enable = value`` command. **TSP Syntax:** :: - - smu.digitize.math.format = value - - print(smu.digitize.math.format) + - smu.digitize.limit[r].enable = value + - print(smu.digitize.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -5334,93 +6279,81 @@ def format(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".format", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.format = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def mxb(self) -> SmuDigitizeMathMxb: - """Return the ``smu.digitize.math.mxb`` command tree. - - Sub-properties/methods: - - ``.bfactor``: The ``smu.digitize.math.mxb.bfactor`` attribute. - - ``.mfactor``: The ``smu.digitize.math.mxb.mfactor`` attribute. - """ - return self._mxb - - @property - def percent(self) -> str: - """Access the ``smu.digitize.math.percent`` attribute. + def fail(self) -> str: + """Access the ``smu.digitize.limit[r].fail`` attribute. **Description:** - - This attribute specifies the reference constant that is used when math operations are - set to percent. + - This attribute queries the results of a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.percent)`` query. - - Setting this property to a value will send the ``smu.digitize.math.percent = value`` - command. + - Accessing this property will send the ``print(smu.digitize.limit[r].fail)`` query. **TSP Syntax:** :: - - smu.digitize.math.percent = value - - print(smu.digitize.math.percent) + - print(smu.digitize.limit[r].fail) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".percent" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.percent)" - ) + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @percent.setter - def percent(self, value: Union[str, float]) -> None: - """Access the ``smu.digitize.math.percent`` attribute. + @property + def high(self) -> SmuDigitizeLimitItemHigh: + """Return the ``smu.digitize.limit[r].high`` command tree. - **Description:** - - This attribute specifies the reference constant that is used when math operations are - set to percent. + Sub-properties/methods: + - ``.value``: The ``smu.digitize.limit[r].high.value`` attribute. + """ + return self._high - **Usage:** - - Accessing this property will send the ``print(smu.digitize.math.percent)`` query. - - Setting this property to a value will send the ``smu.digitize.math.percent = value`` - command. + @property + def low(self) -> SmuDigitizeLimitItemLow: + """Return the ``smu.digitize.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.digitize.limit[r].low.value`` attribute. + """ + return self._low + + def clear(self) -> None: + """Run the ``smu.digitize.limit[r].clear()`` function. + + **Description:** + - This attribute clears the results of the limit test defined by Y. (r = resistance in + ohms) **TSP Syntax:** :: - - smu.digitize.math.percent = value - - print(smu.digitize.math.percent) + - smu.digitize.limit[r].clear() Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".percent", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.percent = {value}" - ) + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5432,6 +6365,7 @@ class SmuDigitize(BaseTSPCmd): - ``.count``: The ``smu.digitize.count`` attribute. - ``.displaydigits``: The ``smu.digitize.displaydigits`` attribute. - ``.func``: The ``smu.digitize.func`` attribute. + - ``.limit``: The ``smu.digitize.limit[r]`` command tree. - ``.math``: The ``smu.digitize.math`` command tree. - ``.range``: The ``smu.digitize.range`` attribute. - ``.read()``: The ``smu.digitize.read()`` function. @@ -5445,6 +6379,9 @@ class SmuDigitize(BaseTSPCmd): def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) + self._limit: Dict[int, SmuDigitizeLimitItem] = DefaultDictPassKeyToFactory( + lambda x: SmuDigitizeLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = SmuDigitizeMath(device, f"{self._cmd_syntax}.math") self._rel = SmuDigitizeRel(device, f"{self._cmd_syntax}.rel") self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( @@ -5718,6 +6655,21 @@ def func(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, SmuDigitizeLimitItem]: + """Return the ``smu.digitize.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``smu.digitize.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.digitize.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.digitize.limit[r].clear()`` function. + - ``.enable``: The ``smu.digitize.limit[r].enable`` attribute. + - ``.fail``: The ``smu.digitize.limit[r].fail`` attribute. + - ``.high``: The ``smu.digitize.limit[r].high`` command tree. + - ``.low``: The ``smu.digitize.limit[r].low`` command tree. + """ + return self._limit + @property def math(self) -> SmuDigitizeMath: """Return the ``smu.digitize.math`` command tree. @@ -6655,6 +7607,7 @@ def digitize(self) -> SmuDigitize: - ``.count``: The ``smu.digitize.count`` attribute. - ``.displaydigits``: The ``smu.digitize.displaydigits`` attribute. - ``.func``: The ``smu.digitize.func`` attribute. + - ``.limit``: The ``smu.digitize.limit[r]`` command tree. - ``.math``: The ``smu.digitize.math`` command tree. - ``.range``: The ``smu.digitize.range`` attribute. - ``.read()``: The ``smu.digitize.read()`` function. @@ -6762,6 +7715,7 @@ def measure(self) -> SmuMeasure: - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. diff --git a/src/tm_devices/commands/_6vynmi_smu/trigger.py b/src/tm_devices/commands/_6vynmi_smu/trigger.py index 9f376621..e0dfaf41 100644 --- a/src/tm_devices/commands/_6vynmi_smu/trigger.py +++ b/src/tm_devices/commands/_6vynmi_smu/trigger.py @@ -4191,17 +4191,159 @@ class Trigger(BaseTSPCmd): """The ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block if + the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a specified + block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a specified + block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building block + the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified building + block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger event + occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the digital + I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger model + is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a branch + counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing the + trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as input + when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as input + when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the configuration + of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 to + 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger model + executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be set, + but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be set, + but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than 100 + ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -4212,6 +4354,8 @@ class Trigger(BaseTSPCmd): smu.measure.userdelay[N]. - ``.USER_DELAY_M5``: trigger.USER_DELAY_M5, where the user delay 5 is set by smu.measure.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model continues. Properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -4228,20 +4372,194 @@ class Trigger(BaseTSPCmd): - ``.wait()``: The ``trigger.wait()`` function. """ + BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + """str: Defines a trigger model block that always goes to a specific block.""" + BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + """str: Defines a trigger model block that branches to a specified block a specified number of times.""" # noqa: E501 + BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + """str: Defines a trigger model block that goes to a specified block if the difference of two measurements meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + """str: Defines a trigger model block that goes to a specified block if a measurement meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + """str: Defines a trigger model block that goes to a specified block in the trigger model if a measurement meets user-defined criteria.""" # noqa: E501 + BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + """str: Causes the trigger model to branch to a specified building block the first time it is encountered in the trigger model.""" # noqa: E501 + BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + """str: Causes the trigger model to go to a specified building block every time the trigger model encounters it, except for the first time.""" # noqa: E501 + BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + """str: Branches to a specified block when a specified trigger event occurs.""" + BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + """str: Defines a trigger model block that clears the reading buffer.""" + BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + """str: Recalls the settings at the next index of a configuration list.""" + BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + """str: Recalls the settings stored at the previous index of a configuration list.""" BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" """str: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list.""" # noqa: E501 + BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + """str: Adds a constant delay to the execution of a trigger model.""" + BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + """str: Adds a user delay to the execution of the trigger model.""" + BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + """str: Defines a trigger model block that sets the lines on the digital I/O port high or low.""" # noqa: E501 + BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + """str: Allows you to log an event in the event log when the trigger model is running.""" + BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + """str: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead.""" + BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + """str: defines a trigger block that makes or digitizes a measurement.""" + BLOCK_NOP = "trigger.BLOCK_NOP" + """str: Creates a placeholder that performs no action in the trigger model.""" + BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + """str: Defines a trigger-model block that generates a trigger event and immediately continues to the next block.""" # noqa: E501 + BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + """str: Creates a block in the trigger model that resets a branch counter to 0.""" BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" """str: Defines a trigger block that turns the output source on or off.""" + BLOCK_WAIT = "trigger.BLOCK_WAIT" + """str: Defines a trigger model block that waits for an event before allowing the trigger model to continue.""" # noqa: E501 CLEAR_ENTER = "trigger.CLEAR_ENTER" """str: Clear previously detected trigger events when entering the wait block.""" CLEAR_NEVER = "trigger.CLEAR_NEVER" """str: Immediately act on any previously detected triggers and not clear them (default).""" + CONT_AUTO = "trigger.CONT_AUTO" + """str: Start continuous measurements after boot.""" + CONT_OFF = "trigger.CONT_OFF" + """str: Do not start continuous measurements after boot.""" + CONT_RESTART = "trigger.CONT_RESTART" + """str: Place the instrument into local control and start continuous measurements after boot.""" + COUNT_AUTO = "trigger.COUNT_AUTO" + """str: Use most recent count value.""" + COUNT_INFINITE = "trigger.COUNT_INFINITE" + """str: Infinite (run continuously until stopped).""" + COUNT_STOP = "trigger.COUNT_STOP" + """str: Stop infinite to stop the block.""" + EDGE_EITHER = "trigger.EDGE_EITHER" + """str: Sets the selected trigger line to detect either rising-edge or falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_FALLING = "trigger.EDGE_FALLING" + """str: Sets the selected trigger line to detect falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_RISING = "trigger.EDGE_RISING" + """str: Sets the selected trigger line to detect rising-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + """str: Trigger event blender1, which combines trigger events.""" + EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + """str: Trigger event blender2, which combines trigger events.""" + EVENT_COMMAND = "trigger.EVENT_COMMAND" + """str: A command interface trigger.""" + EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 1.""" # noqa: E501 + EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 2.""" # noqa: E501 + EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 3.""" # noqa: E501 + EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 4.""" # noqa: E501 + EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 5.""" # noqa: E501 + EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 6.""" # noqa: E501 + EVENT_DIGION = "trigger.EVENT_DIGION" + """str: Line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line N (1 to 6).""" # noqa: E501 EVENT_DISPLAY = "trigger.EVENT_DISPLAY" """str: Front-panel TRIGGER key press.""" + EVENT_LANN = "trigger.EVENT_LANN" + """str: Appropriate LXI trigger packet is received on LAN trigger object N (1 to 8).""" + EVENT_NONE = "trigger.EVENT_NONE" + """str: No trigger event.""" + EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + """str: Notify trigger block1 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + """str: Notify trigger block2 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + """str: Notify trigger block3 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + """str: Notify trigger block4 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + """str: Notify trigger block5 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + """str: Notify trigger block6 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + """str: Notify trigger block7 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" + """str: Notify trigger block8 generates a trigger event when the trigger model executes it.""" EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" """str: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it.""" # noqa: E501 EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" """str: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs.""" # noqa: E501 + EVENT_TIMER1 = "trigger.EVENT_TIMER1" + """str: Trigger timer 1 expired.""" + EVENT_TIMER2 = "trigger.EVENT_TIMER2" + """str: Trigger timer 2 expired.""" + EVENT_TIMER3 = "trigger.EVENT_TIMER3" + """str: Trigger timer 3 expired.""" + EVENT_TIMER4 = "trigger.EVENT_TIMER4" + """str: Trigger timer 4 expired.""" + EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + """str: Line edge detected on TSP-Link synchronization line 1.""" + EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + """str: Line edge detected on TSP-Link synchronization line 2.""" + EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + """str: Line edge detected on TSP-Link synchronization line 3.""" + EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + """str: Line edge detected on TSP-Link synchronization line N (1 to 3).""" + LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + """str: The measurement is above the value set by limit B; limit A must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_BELOW = "trigger.LIMIT_BELOW" + """str: The measurement is below the value set by limit A; limit B must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + """str: The measurement is inside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + """str: The measurement is outside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + """str: Asserts a TTL-low pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + """str: Asserts a TTL-high pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOG_ERROR1 = "trigger.LOG_ERROR1" + """str: Log error event 1 in the event log when trigger model execution reaches this block.""" + LOG_ERROR2 = "trigger.LOG_ERROR2" + """str: Log error event 2 in the event log when trigger model execution reaches this block.""" + LOG_ERROR3 = "trigger.LOG_ERROR3" + """str: Log error event 3 in the event log when trigger model execution reaches this block.""" + LOG_ERROR4 = "trigger.LOG_ERROR4" + """str: Log error event 4 in the event log when trigger model execution reaches this block.""" + LOG_INFO1 = "trigger.LOG_INFO1" + """str: Log information event 1 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO2 = "trigger.LOG_INFO2" + """str: Log information event 2 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO3 = "trigger.LOG_INFO3" + """str: Log information event 3 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO4 = "trigger.LOG_INFO4" + """str: Log information event 4 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_WARN1 = "trigger.LOG_WARN1" + """str: Log warning event 1 in the event log when trigger model execution reaches this block.""" + LOG_WARN2 = "trigger.LOG_WARN2" + """str: Log warning event 2 in the event log when trigger model execution reaches this block.""" + LOG_WARN3 = "trigger.LOG_WARN3" + """str: Log warning event 3 in the event log when trigger model execution reaches this block.""" + LOG_WARN4 = "trigger.LOG_WARN4" + """str: Log warning event 4 in the event log when trigger model execution reaches this block.""" + LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + """str: Abort the trigger model immediately and post a warning event log message.""" + OFF = "trigger.OFF" + """str: Disable the trigger timer.""" + ON = "trigger.ON" + """str: Enable the trigger timer.""" + STATE_ABORTED = "trigger.STATE_ABORTED" + """str: The trigger model is stopped.""" + STATE_ABORTING = "trigger.STATE_ABORTING" + """str: The trigger model is stopping.""" + STATE_BUILDING = "trigger.STATE_BUILDING" + """str: Blocks have been added.""" + STATE_EMPTY = "trigger.STATE_EMPTY" + """str: The trigger model is selected, but no blocks are defined.""" + STATE_FAILED = "trigger.STATE_FAILED" + """str: The trigger model is stopped because of an error.""" + STATE_IDLE = "trigger.STATE_IDLE" + """str: The trigger model is stopped.""" + STATE_RUNNING = "trigger.STATE_RUNNING" + """str: The trigger model is running.""" + STATE_WAITING = "trigger.STATE_WAITING" + """str: The trigger model has been in the same wait block for more than 100 ms.""" USER_DELAY_M1 = "trigger.USER_DELAY_M1" """str: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N].""" USER_DELAY_M2 = "trigger.USER_DELAY_M2" @@ -4252,6 +4570,10 @@ class Trigger(BaseTSPCmd): """str: trigger.USER_DELAY_M4, where the user delay 4 is set by smu.measure.userdelay[N].""" USER_DELAY_M5 = "trigger.USER_DELAY_M5" """str: trigger.USER_DELAY_M5, where the user delay 5 is set by smu.measure.userdelay[N].""" + WAIT_AND = "trigger.WAIT_AND" + """str: Each event must occur before the trigger model continues.""" + WAIT_OR = "trigger.WAIT_OR" + """str: At least one of the events must occur before the trigger model continues.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "trigger") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_6w7311_smu/trigger.py b/src/tm_devices/commands/_6w7311_smu/trigger.py index 8711fe29..d331f6d8 100644 --- a/src/tm_devices/commands/_6w7311_smu/trigger.py +++ b/src/tm_devices/commands/_6w7311_smu/trigger.py @@ -4159,17 +4159,159 @@ class Trigger(BaseTSPCmd): """The ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block if + the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a specified + block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a specified + block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building block + the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified building + block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger event + occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the digital + I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger model + is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a branch + counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing the + trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as input + when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as input + when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the configuration + of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 to + 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger model + executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger model + executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be set, + but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be set, + but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than 100 + ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -4185,6 +4327,8 @@ class Trigger(BaseTSPCmd): - ``.USER_DELAY_S3``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S4``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S5``: Delay 1 is set by smu.source.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model continues. Properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -4201,20 +4345,194 @@ class Trigger(BaseTSPCmd): - ``.wait()``: The ``trigger.wait()`` function. """ + BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + """str: Defines a trigger model block that always goes to a specific block.""" + BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + """str: Defines a trigger model block that branches to a specified block a specified number of times.""" # noqa: E501 + BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + """str: Defines a trigger model block that goes to a specified block if the difference of two measurements meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + """str: Defines a trigger model block that goes to a specified block if a measurement meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + """str: Defines a trigger model block that goes to a specified block in the trigger model if a measurement meets user-defined criteria.""" # noqa: E501 + BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + """str: Causes the trigger model to branch to a specified building block the first time it is encountered in the trigger model.""" # noqa: E501 + BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + """str: Causes the trigger model to go to a specified building block every time the trigger model encounters it, except for the first time.""" # noqa: E501 + BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + """str: Branches to a specified block when a specified trigger event occurs.""" + BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + """str: Defines a trigger model block that clears the reading buffer.""" + BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + """str: Recalls the settings at the next index of a configuration list.""" + BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + """str: Recalls the settings stored at the previous index of a configuration list.""" BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" """str: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list.""" # noqa: E501 + BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + """str: Adds a constant delay to the execution of a trigger model.""" + BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + """str: Adds a user delay to the execution of the trigger model.""" + BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + """str: Defines a trigger model block that sets the lines on the digital I/O port high or low.""" # noqa: E501 + BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + """str: Allows you to log an event in the event log when the trigger model is running.""" + BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + """str: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead.""" + BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + """str: defines a trigger block that makes or digitizes a measurement.""" + BLOCK_NOP = "trigger.BLOCK_NOP" + """str: Creates a placeholder that performs no action in the trigger model.""" + BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + """str: Defines a trigger-model block that generates a trigger event and immediately continues to the next block.""" # noqa: E501 + BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + """str: Creates a block in the trigger model that resets a branch counter to 0.""" BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" """str: Defines a trigger block that turns the output source on or off.""" + BLOCK_WAIT = "trigger.BLOCK_WAIT" + """str: Defines a trigger model block that waits for an event before allowing the trigger model to continue.""" # noqa: E501 CLEAR_ENTER = "trigger.CLEAR_ENTER" """str: Clear previously detected trigger events when entering the wait block.""" CLEAR_NEVER = "trigger.CLEAR_NEVER" """str: Immediately act on any previously detected triggers and not clear them (default).""" + CONT_AUTO = "trigger.CONT_AUTO" + """str: Start continuous measurements after boot.""" + CONT_OFF = "trigger.CONT_OFF" + """str: Do not start continuous measurements after boot.""" + CONT_RESTART = "trigger.CONT_RESTART" + """str: Place the instrument into local control and start continuous measurements after boot.""" + COUNT_AUTO = "trigger.COUNT_AUTO" + """str: Use most recent count value.""" + COUNT_INFINITE = "trigger.COUNT_INFINITE" + """str: Infinite (run continuously until stopped).""" + COUNT_STOP = "trigger.COUNT_STOP" + """str: Stop infinite to stop the block.""" + EDGE_EITHER = "trigger.EDGE_EITHER" + """str: Sets the selected trigger line to detect either rising-edge or falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_FALLING = "trigger.EDGE_FALLING" + """str: Sets the selected trigger line to detect falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_RISING = "trigger.EDGE_RISING" + """str: Sets the selected trigger line to detect rising-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + """str: Trigger event blender1, which combines trigger events.""" + EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + """str: Trigger event blender2, which combines trigger events.""" + EVENT_COMMAND = "trigger.EVENT_COMMAND" + """str: A command interface trigger.""" + EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 1.""" # noqa: E501 + EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 2.""" # noqa: E501 + EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 3.""" # noqa: E501 + EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 4.""" # noqa: E501 + EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 5.""" # noqa: E501 + EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + """str: Digital input line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line 6.""" # noqa: E501 + EVENT_DIGION = "trigger.EVENT_DIGION" + """str: Line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line N (1 to 6).""" # noqa: E501 EVENT_DISPLAY = "trigger.EVENT_DISPLAY" """str: Front-panel TRIGGER key press.""" + EVENT_LANN = "trigger.EVENT_LANN" + """str: Appropriate LXI trigger packet is received on LAN trigger object N (1 to 8).""" + EVENT_NONE = "trigger.EVENT_NONE" + """str: No trigger event.""" + EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + """str: Notify trigger block1 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + """str: Notify trigger block2 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + """str: Notify trigger block3 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + """str: Notify trigger block4 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + """str: Notify trigger block5 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + """str: Notify trigger block6 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + """str: Notify trigger block7 generates a trigger event when the trigger model executes it.""" + EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" + """str: Notify trigger block8 generates a trigger event when the trigger model executes it.""" EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" """str: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it.""" # noqa: E501 EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" """str: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs.""" # noqa: E501 + EVENT_TIMER1 = "trigger.EVENT_TIMER1" + """str: Trigger timer 1 expired.""" + EVENT_TIMER2 = "trigger.EVENT_TIMER2" + """str: Trigger timer 2 expired.""" + EVENT_TIMER3 = "trigger.EVENT_TIMER3" + """str: Trigger timer 3 expired.""" + EVENT_TIMER4 = "trigger.EVENT_TIMER4" + """str: Trigger timer 4 expired.""" + EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + """str: Line edge detected on TSP-Link synchronization line 1.""" + EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + """str: Line edge detected on TSP-Link synchronization line 2.""" + EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + """str: Line edge detected on TSP-Link synchronization line 3.""" + EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + """str: Line edge detected on TSP-Link synchronization line N (1 to 3).""" + LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + """str: The measurement is above the value set by limit B; limit A must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_BELOW = "trigger.LIMIT_BELOW" + """str: The measurement is below the value set by limit A; limit B must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + """str: The measurement is inside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + """str: The measurement is outside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + """str: Asserts a TTL-low pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + """str: Asserts a TTL-high pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOG_ERROR1 = "trigger.LOG_ERROR1" + """str: Log error event 1 in the event log when trigger model execution reaches this block.""" + LOG_ERROR2 = "trigger.LOG_ERROR2" + """str: Log error event 2 in the event log when trigger model execution reaches this block.""" + LOG_ERROR3 = "trigger.LOG_ERROR3" + """str: Log error event 3 in the event log when trigger model execution reaches this block.""" + LOG_ERROR4 = "trigger.LOG_ERROR4" + """str: Log error event 4 in the event log when trigger model execution reaches this block.""" + LOG_INFO1 = "trigger.LOG_INFO1" + """str: Log information event 1 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO2 = "trigger.LOG_INFO2" + """str: Log information event 2 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO3 = "trigger.LOG_INFO3" + """str: Log information event 3 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO4 = "trigger.LOG_INFO4" + """str: Log information event 4 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_WARN1 = "trigger.LOG_WARN1" + """str: Log warning event 1 in the event log when trigger model execution reaches this block.""" + LOG_WARN2 = "trigger.LOG_WARN2" + """str: Log warning event 2 in the event log when trigger model execution reaches this block.""" + LOG_WARN3 = "trigger.LOG_WARN3" + """str: Log warning event 3 in the event log when trigger model execution reaches this block.""" + LOG_WARN4 = "trigger.LOG_WARN4" + """str: Log warning event 4 in the event log when trigger model execution reaches this block.""" + LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + """str: Abort the trigger model immediately and post a warning event log message.""" + OFF = "trigger.OFF" + """str: Disable the trigger timer.""" + ON = "trigger.ON" + """str: Enable the trigger timer.""" + STATE_ABORTED = "trigger.STATE_ABORTED" + """str: The trigger model is stopped.""" + STATE_ABORTING = "trigger.STATE_ABORTING" + """str: The trigger model is stopping.""" + STATE_BUILDING = "trigger.STATE_BUILDING" + """str: Blocks have been added.""" + STATE_EMPTY = "trigger.STATE_EMPTY" + """str: The trigger model is selected, but no blocks are defined.""" + STATE_FAILED = "trigger.STATE_FAILED" + """str: The trigger model is stopped because of an error.""" + STATE_IDLE = "trigger.STATE_IDLE" + """str: The trigger model is stopped.""" + STATE_RUNNING = "trigger.STATE_RUNNING" + """str: The trigger model is running.""" + STATE_WAITING = "trigger.STATE_WAITING" + """str: The trigger model has been in the same wait block for more than 100 ms.""" USER_DELAY_M1 = "trigger.USER_DELAY_M1" """str: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N].""" USER_DELAY_M2 = "trigger.USER_DELAY_M2" @@ -4235,6 +4553,10 @@ class Trigger(BaseTSPCmd): """str: Delay 1 is set by smu.source.userdelay[N].""" USER_DELAY_S5 = "trigger.USER_DELAY_S5" """str: Delay 1 is set by smu.source.userdelay[N].""" + WAIT_AND = "trigger.WAIT_AND" + """str: Each event must occur before the trigger model continues.""" + WAIT_OR = "trigger.WAIT_OR" + """str: At least one of the events must occur before the trigger model continues.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "trigger") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_6xiuc2_smu/buffer.py b/src/tm_devices/commands/_6xiuc2_smu/buffer.py index 440a0bf6..0fd6c2ca 100644 --- a/src/tm_devices/commands/_6xiuc2_smu/buffer.py +++ b/src/tm_devices/commands/_6xiuc2_smu/buffer.py @@ -18,6 +18,8 @@ - buffer.getstats() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() - buffer.write.reading() """ from typing import Any, Dict, Optional, TYPE_CHECKING @@ -32,9 +34,63 @@ class BufferWrite(BaseTSPCmd): """The ``buffer.write`` command tree. Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + def reading( self, buffer_var: str, @@ -140,6 +196,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -172,6 +233,7 @@ class Buffer(BaseTSPCmd): - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ @@ -263,6 +325,14 @@ class Buffer(BaseTSPCmd): """str: Measure terminal, front is 1, rear is 0.""" STYLE_COMPACT = "buffer.STYLE_COMPACT" """str: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp.""" # noqa: E501 + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -323,6 +393,7 @@ def write(self) -> BufferWrite: """Return the ``buffer.write`` command tree. Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ return self._write @@ -434,7 +505,7 @@ def getstats( msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getstats()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -522,3 +593,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6xiuc2_smu/smu.py b/src/tm_devices/commands/_6xiuc2_smu/smu.py index 986f7d7f..ebeaea7d 100644 --- a/src/tm_devices/commands/_6xiuc2_smu/smu.py +++ b/src/tm_devices/commands/_6xiuc2_smu/smu.py @@ -38,6 +38,13 @@ - smu.measure.filter.type - smu.measure.func - smu.measure.getattribute() + - smu.measure.limit[Y].clear() + - smu.measure.limit[r].audible + - smu.measure.limit[r].autoclear + - smu.measure.limit[r].enable + - smu.measure.limit[r].fail + - smu.measure.limit[r].high.value + - smu.measure.limit[r].low.value - smu.measure.math.enable - smu.measure.math.format - smu.measure.math.mxb.bfactor @@ -91,7 +98,13 @@ """ from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, DefaultDictDeviceCommunication, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictDeviceCommunication, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -2371,6 +2384,451 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class SmuMeasureLimitItemLow(BaseTSPCmd): + """The ``smu.measure.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].low.value = value + - print(smu.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItemHigh(BaseTSPCmd): + """The ``smu.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``smu.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].high.value = value + - print(smu.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class SmuMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``smu.measure.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SmuMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = SmuMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + + @property + def audible(self) -> str: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".audible" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.audible)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].audible`` attribute. + + **Description:** + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].audible = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].audible = value + - print(smu.measure.limit[r].audible) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".audible", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.audible = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autoclear(self) -> str: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``smu.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].autoclear = value + - print(smu.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``smu.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``smu.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].enable = value + - print(smu.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``smu.measure.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(smu.measure.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(smu.measure.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> SmuMeasureLimitItemHigh: + """Return the ``smu.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> SmuMeasureLimitItemLow: + """Return the ``smu.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``smu.measure.limit[r].low.value`` attribute. + """ + return self._low + + def clear(self) -> None: + """Run the ``smu.measure.limit[r].clear()`` function. + + **Description:** + - This function clears the results of the limit test defined by Y for the selected + measurement function. (r = resistance in ohms) + + **TSP Syntax:** + + :: + + - smu.measure.limit[r].clear() + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class SmuMeasureFilter(BaseTSPCmd): """The ``smu.measure.filter`` command tree. @@ -3001,6 +3459,7 @@ class SmuMeasure(BaseTSPCmd): - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. @@ -3019,6 +3478,9 @@ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: self._autozero = SmuMeasureAutozero(device, f"{self._cmd_syntax}.autozero") self._configlist = SmuMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") self._filter = SmuMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, SmuMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: SmuMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = SmuMeasureMath(device, f"{self._cmd_syntax}.math") self._rel = SmuMeasureRel(device, f"{self._cmd_syntax}.rel") self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( @@ -3550,6 +4012,21 @@ def func(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, SmuMeasureLimitItem]: + """Return the ``smu.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``smu.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``smu.measure.limit[r].autoclear`` attribute. + - ``.clear()``: The ``smu.measure.limit[r].clear()`` function. + - ``.enable``: The ``smu.measure.limit[r].enable`` attribute. + - ``.fail``: The ``smu.measure.limit[r].fail`` attribute. + - ``.high``: The ``smu.measure.limit[r].high`` command tree. + - ``.low``: The ``smu.measure.limit[r].low`` command tree. + """ + return self._limit + @property def math(self) -> SmuMeasureMath: """Return the ``smu.measure.math`` command tree. @@ -4582,6 +5059,7 @@ def measure(self) -> SmuMeasure: - ``.filter``: The ``smu.measure.filter`` command tree. - ``.func``: The ``smu.measure.func`` attribute. - ``.getattribute()``: The ``smu.measure.getattribute()`` function. + - ``.limit``: The ``smu.measure.limit[r]`` command tree. - ``.math``: The ``smu.measure.math`` command tree. - ``.nplc``: The ``smu.measure.nplc`` attribute. - ``.offsetcompensation``: The ``smu.measure.offsetcompensation`` attribute. diff --git a/src/tm_devices/commands/_7kqm9p_smu/display.py b/src/tm_devices/commands/_7kqm9p_smu/display.py index ea145c38..a12e1e77 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/display.py +++ b/src/tm_devices/commands/_7kqm9p_smu/display.py @@ -255,6 +255,8 @@ class Display(BaseTSPCmd): - ``.STATE_LCD_50``: Set display to 50% brightness. - ``.STATE_LCD_75``: Set display to 75% brightness. - ``.STATE_LCD_OFF``: Set display to off. + - ``.TEXT1``: display text line for Line 1. + - ``.TEXT2``: display text line for Line 2. Properties/methods: - ``.activebuffer``: The ``display.activebuffer`` attribute. @@ -345,6 +347,10 @@ class Display(BaseTSPCmd): """str: Set display to 75% brightness.""" STATE_LCD_OFF = "display.STATE_LCD_OFF" """str: Set display to off.""" + TEXT1 = "display.TEXT1" + """str: display text line for Line 1.""" + TEXT2 = "display.TEXT2" + """str: display text line for Line 2.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_7kqm9p_smu/tsplink.py b/src/tm_devices/commands/_7kqm9p_smu/tsplink.py index 9018b340..972953bf 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/tsplink.py +++ b/src/tm_devices/commands/_7kqm9p_smu/tsplink.py @@ -220,6 +220,14 @@ def reset(self) -> None: class Tsplink(BaseTSPCmd): """The ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. @@ -231,6 +239,19 @@ class Tsplink(BaseTSPCmd): - ``.writeport()``: The ``tsplink.writeport()`` function. """ + MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + """str: TSP-Link digital open drain line.""" + MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + """str: TSP-Link trigger synchronous acceptor.""" + MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + """str: TSP-Link trigger synchronous master.""" + MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + """str: TSP-Link trigger open drain line.""" + STATE_HIGH = "tsplink.STATE_HIGH" + """str: High state of the synchronization line.""" + STATE_LOW = "tsplink.STATE_LOW" + """str: Low state of the synchronization line.""" + def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "tsplink") -> None: super().__init__(device, cmd_syntax) self._line: Dict[int, TsplinkLineItem] = DefaultDictPassKeyToFactory( diff --git a/src/tm_devices/commands/_7s2p1p_smu/display.py b/src/tm_devices/commands/_7s2p1p_smu/display.py index 8b9530ba..32780da0 100644 --- a/src/tm_devices/commands/_7s2p1p_smu/display.py +++ b/src/tm_devices/commands/_7s2p1p_smu/display.py @@ -309,10 +309,46 @@ class Display(BaseTSPCmd): - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -324,6 +360,9 @@ class Display(BaseTSPCmd): - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.getlastkey()``: The ``display.getlastkey()`` function. @@ -366,14 +405,77 @@ class Display(BaseTSPCmd): """str: TALK indicator on.""" ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" """str: TRIG indicator on.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" DISABLE = "display.DISABLE" """str: Disable the front-panel keys for numeric entry when entering a value.""" DONT_SAVE = "display.DONT_SAVE" """str: Do not save code to nonvolatile memory.""" ENABLE = "display.ENABLE" """str: Enable the front-panel keys for numeric entry when entering a value.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -396,6 +498,12 @@ class Display(BaseTSPCmd): """str: Lock out the EXIT (LOCAL) key.""" USER = "display.USER" """str: Displays the user screen.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_8ojdkz_smu/display.py b/src/tm_devices/commands/_8ojdkz_smu/display.py index 2efe28b8..68a78831 100644 --- a/src/tm_devices/commands/_8ojdkz_smu/display.py +++ b/src/tm_devices/commands/_8ojdkz_smu/display.py @@ -515,10 +515,58 @@ class Display(BaseTSPCmd): - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -532,6 +580,9 @@ class Display(BaseTSPCmd): - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.clear()``: The ``display.clear()`` function. @@ -586,14 +637,98 @@ class Display(BaseTSPCmd): """str: TALK indicator on.""" ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" """str: TRIG indicator on.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" DISABLE = "display.DISABLE" """str: Disable the front-panel keys for numeric entry when entering a value.""" DONT_SAVE = "display.DONT_SAVE" """str: Do not save code to nonvolatile memory.""" ENABLE = "display.ENABLE" """str: Enable the front-panel keys for numeric entry when entering a value.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DIGITSB = "display.KEY_DIGITSB" + """str: Represents the DIGITS (display resolution) key for Channel B.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_FILTERB = "display.KEY_FILTERB" + """str: Represents the FILTER key for Channel B.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LIMITB = "display.KEY_LIMITB" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel B.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MEASB = "display.KEY_MEASB" + """str: Represents the MEAS (Measure) key for Channel B.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" + KEY_MODEB = "display.KEY_MODEB" + """str: Represents the MODE (meter mode) key for Channel B.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_OUTPUTB = "display.KEY_OUTPUTB" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel B.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RELB = "display.KEY_RELB" + """str: Represents the REL key for Channel B.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SPEEDB = "display.KEY_SPEEDB" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel B.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_SRCB = "display.KEY_SRCB" + """str: Represents the SRC (Source) key for Channel B.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -620,6 +755,12 @@ class Display(BaseTSPCmd): """str: Lock out the EXIT (LOCAL) key.""" USER = "display.USER" """str: Displays the user screen.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_9mzp2j_smu/display.py b/src/tm_devices/commands/_9mzp2j_smu/display.py index 7e5a4dc6..a6e4ac67 100644 --- a/src/tm_devices/commands/_9mzp2j_smu/display.py +++ b/src/tm_devices/commands/_9mzp2j_smu/display.py @@ -529,10 +529,58 @@ class Display(BaseTSPCmd): - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -544,6 +592,9 @@ class Display(BaseTSPCmd): - ``.SMUA_SMUB``: Displays source-measure screen for SMU A and SMU B. - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.clear()``: The ``display.clear()`` function. @@ -598,14 +649,98 @@ class Display(BaseTSPCmd): """str: TALK indicator on.""" ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" """str: TRIG indicator on.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" DISABLE = "display.DISABLE" """str: Disable the front-panel keys for numeric entry when entering a value.""" DONT_SAVE = "display.DONT_SAVE" """str: Do not save code to nonvolatile memory.""" ENABLE = "display.ENABLE" """str: Enable the front-panel keys for numeric entry when entering a value.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DIGITSB = "display.KEY_DIGITSB" + """str: Represents the DIGITS (display resolution) key for Channel B.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_FILTERB = "display.KEY_FILTERB" + """str: Represents the FILTER key for Channel B.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LIMITB = "display.KEY_LIMITB" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel B.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MEASB = "display.KEY_MEASB" + """str: Represents the MEAS (Measure) key for Channel B.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" + KEY_MODEB = "display.KEY_MODEB" + """str: Represents the MODE (meter mode) key for Channel B.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_OUTPUTB = "display.KEY_OUTPUTB" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel B.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RELB = "display.KEY_RELB" + """str: Represents the REL key for Channel B.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SPEEDB = "display.KEY_SPEEDB" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel B.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_SRCB = "display.KEY_SRCB" + """str: Represents the SRC (Source) key for Channel B.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -628,6 +763,12 @@ class Display(BaseTSPCmd): """str: Displays source-measure and compliance screen for SMU B.""" UNLOCK = "display.UNLOCK" """str: Lock out the EXIT (LOCAL) key.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_9ncc6e_smu/display.py b/src/tm_devices/commands/_9ncc6e_smu/display.py index 1398fe79..f93fdab7 100644 --- a/src/tm_devices/commands/_9ncc6e_smu/display.py +++ b/src/tm_devices/commands/_9ncc6e_smu/display.py @@ -513,7 +513,43 @@ class Display(BaseTSPCmd): """The ``display`` command tree. Constants: + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.MEASURE_DCAMPS``: Display the current measurement function. @@ -522,6 +558,9 @@ class Display(BaseTSPCmd): - ``.MEASURE_WATTS``: Display the power measurement function. - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.clear()``: The ``display.clear()`` function. @@ -544,8 +583,71 @@ class Display(BaseTSPCmd): - ``.waitkey()``: The ``display.waitkey()`` function. """ + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -562,6 +664,12 @@ class Display(BaseTSPCmd): """str: Displays source-measure and compliance screen for SMU A.""" USER = "display.USER" """str: Displays the user screen.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_at7jl1_smu/display.py b/src/tm_devices/commands/_at7jl1_smu/display.py index 5cd69f22..fae42ef9 100644 --- a/src/tm_devices/commands/_at7jl1_smu/display.py +++ b/src/tm_devices/commands/_at7jl1_smu/display.py @@ -529,10 +529,58 @@ class Display(BaseTSPCmd): - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -546,6 +594,9 @@ class Display(BaseTSPCmd): - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.clear()``: The ``display.clear()`` function. @@ -600,14 +651,98 @@ class Display(BaseTSPCmd): """str: TALK indicator on.""" ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" """str: TRIG indicator on.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" DISABLE = "display.DISABLE" """str: Disable the front-panel keys for numeric entry when entering a value.""" DONT_SAVE = "display.DONT_SAVE" """str: Do not save code to nonvolatile memory.""" ENABLE = "display.ENABLE" """str: Enable the front-panel keys for numeric entry when entering a value.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DIGITSB = "display.KEY_DIGITSB" + """str: Represents the DIGITS (display resolution) key for Channel B.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_FILTERB = "display.KEY_FILTERB" + """str: Represents the FILTER key for Channel B.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LIMITB = "display.KEY_LIMITB" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel B.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MEASB = "display.KEY_MEASB" + """str: Represents the MEAS (Measure) key for Channel B.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" + KEY_MODEB = "display.KEY_MODEB" + """str: Represents the MODE (meter mode) key for Channel B.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_OUTPUTB = "display.KEY_OUTPUTB" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel B.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RELB = "display.KEY_RELB" + """str: Represents the REL key for Channel B.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SPEEDB = "display.KEY_SPEEDB" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel B.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_SRCB = "display.KEY_SRCB" + """str: Represents the SRC (Source) key for Channel B.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -634,6 +769,12 @@ class Display(BaseTSPCmd): """str: Lock out the EXIT (LOCAL) key.""" USER = "display.USER" """str: Displays the user screen.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_avh0iw_smu/display.py b/src/tm_devices/commands/_avh0iw_smu/display.py index 14b430b6..7e1d463f 100644 --- a/src/tm_devices/commands/_avh0iw_smu/display.py +++ b/src/tm_devices/commands/_avh0iw_smu/display.py @@ -483,10 +483,46 @@ class Display(BaseTSPCmd): - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -498,6 +534,9 @@ class Display(BaseTSPCmd): - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Properties/methods: - ``.clear()``: The ``display.clear()`` function. @@ -552,14 +591,77 @@ class Display(BaseTSPCmd): """str: TALK indicator on.""" ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" """str: TRIG indicator on.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" DISABLE = "display.DISABLE" """str: Disable the front-panel keys for numeric entry when entering a value.""" DONT_SAVE = "display.DONT_SAVE" """str: Do not save code to nonvolatile memory.""" ENABLE = "display.ENABLE" """str: Enable the front-panel keys for numeric entry when entering a value.""" + KEY_AUTO = "display.KEY_AUTO" + """str: Represents the range AUTO key.""" + KEY_CONFIG = "display.KEY_CONFIG" + """str: Represents the CONFIG key.""" + KEY_DIGITSA = "display.KEY_DIGITSA" + """str: Represents the DIGITS (display resolution) key. +For two-channel products, this is the DIGITS key for Channel A.""" + KEY_DISPLAY = "display.KEY_DISPLAY" + """str: Represents the DISPLAY key.""" + KEY_ENTER = "display.KEY_ENTER" + """str: Represents the ENTER key.""" + KEY_EXIT = "display.KEY_EXIT" + """str: Represents the EXIT key.""" + KEY_FILTERA = "display.KEY_FILTERA" + """str: Represents the FILTER key. +For two-channel products, this is the FILTER key for Channel A.""" + KEY_LEFT = "display.KEY_LEFT" + """str: Represents the left CURSOR key.""" + KEY_LIMITA = "display.KEY_LIMITA" + """str: Represents the LIMIT key. +For two-channel products, this is the LIMIT key for Channel A.""" + KEY_LOAD = "display.KEY_LOAD" + """str: Represents the LOAD (load test) key.""" + KEY_MEASA = "display.KEY_MEASA" + """str: Represents the MEAS (Measure) key. +For two-channel products, this is the MEAS key for Channel A.""" + KEY_MENU = "display.KEY_MENU" + """str: Represents the MENU key.""" + KEY_MODEA = "display.KEY_MODEA" + """str: Represents the MODE (meter mode) key +For two-channel products, this is the MODE key for Channel A.""" KEY_NONE = "display.KEY_NONE" """str: No key was pressed.""" + KEY_OUTPUTA = "display.KEY_OUTPUTA" + """str: Represents the OUTPUT ON/OFF key. +For two-channel products, this is the OUTPUT ON/OFF key for Channel A.""" + KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + """str: Represents the RANGE down key.""" + KEY_RANGEUP = "display.KEY_RANGEUP" + """str: Represents the RANGE up key.""" + KEY_RECALL = "display.KEY_RECALL" + """str: Represents the RECALL key.""" + KEY_RELA = "display.KEY_RELA" + """str: Represents the REL key. +For two-channel products, this is the REL key for Channel A.""" + KEY_RIGHT = "display.KEY_RIGHT" + """str: Represents the right CURSOR key.""" + KEY_RUN = "display.KEY_RUN" + """str: Represents the RUN key.""" + KEY_SPEEDA = "display.KEY_SPEEDA" + """str: Represents the SPEED key. +For two-channel products, this is the SPEED key for Channel A.""" + KEY_SRCA = "display.KEY_SRCA" + """str: Represents the SRC (Source) key. +For two-channel products, this is the SRC key for Channel A.""" + KEY_STORE = "display.KEY_STORE" + """str: Represents the STORE key.""" + KEY_TRIG = "display.KEY_TRIG" + """str: Represents the TRIG key.""" LIMIT_IV = "display.LIMIT_IV" """str: Display the primary limit value.""" LIMIT_P = "display.LIMIT_P" @@ -582,6 +684,12 @@ class Display(BaseTSPCmd): """str: Lock out the EXIT (LOCAL) key.""" USER = "display.USER" """str: Displays the user screen.""" + WHEEL_ENTER = "display.WHEEL_ENTER" + """str: Represents pressing the navigation wheel.""" + WHEEL_LEFT = "display.WHEEL_LEFT" + """str: Represents turning the Navigation wheel left.""" + WHEEL_RIGHT = "display.WHEEL_RIGHT" + """str: Represents turning the Navigation wheel right.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "display") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_c3g63_lpdmso/actonevent.py b/src/tm_devices/commands/_c3g63_lpdmso/actonevent.py new file mode 100644 index 00000000..1a8f58db --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/actonevent.py @@ -0,0 +1,3042 @@ +# pylint: disable=too-many-lines +"""The actonevent commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|1|0} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? +""" +from typing import Optional, TYPE_CHECKING + +from .._helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class ActoneventTriggerActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions on a trigger event from a single sequence or sequence of N + acquisition. Each acquisition in the sequence of N will perform a save operation. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions on a trigger event feature. + - ``OFF`` disables the stop acquisitions on a trigger event feature. + - ```` is a number that enables or disables the stop acquisitions on a trigger event + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventTriggerActionStopacq(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionStopacqState: + """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions on a trigger event from a single sequence or sequence + of N acquisition. Each acquisition in the sequence of N will perform a save operation. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions on a trigger event feature. + - ``OFF`` disables the stop acquisitions on a trigger event feature. + - ```` is a number that enables or disables the stop acquisitions on a trigger + event feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventTriggerActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a trigger event occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. + - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a trigger + event occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventTriggerActionSrq(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSrqState: + """Return the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a trigger event occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. + - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a + trigger event occurs feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventTriggerActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) on a trigger event. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|1|0} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) on a trigger event feature. + - ``OFF`` disables the save source waveform(s) on a trigger event feature. + - ``1`` enables the save source waveform(s) on a trigger event feature. Any number value, + other than 0, will enable the feature. + - ``0`` disables the save source waveform(s) on a trigger event feature, all other number + values enable the feature. + """ + + +class ActoneventTriggerActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSavewaveformState: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) on a trigger event. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|1|0} + - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) on a trigger event feature. + - ``OFF`` disables the save source waveform(s) on a trigger event feature. + - ``1`` enables the save source waveform(s) on a trigger event feature. Any number + value, other than 0, will enable the feature. + - ``0`` disables the save source waveform(s) on a trigger event feature, all other + number values enable the feature. + """ + return self._state + + +class ActoneventTriggerActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture on a trigger event from a single sequence or sequence + of N acquisition. Each acquisition in the sequence of N will perform a save operation. + This command replaces ``SAVE:IMAGE`` (still valid command, but only an alias for this new + command). + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture on a trigger event feature. + - ``OFF`` disables the save screen capture on a trigger event feature. + - ```` is a number that enables or disables the save screen capture on a trigger event + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventTriggerActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTriggerActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTriggerActionSaveimageState: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture on a trigger event from a single sequence or + sequence of N acquisition. Each acquisition in the sequence of N will perform a save + operation. This command replaces ``SAVE:IMAGE`` (still valid command, but only an + alias for this new command). + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture on a trigger event feature. + - ``OFF`` disables the save screen capture on a trigger event feature. + - ```` is a number that enables or disables the save screen capture on a trigger + event feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventTriggerAction(SCPICmdRead): + """The ``ACTONEVent:TRIGger:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventTriggerActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventTriggerActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventTriggerActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventTriggerActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventTriggerActionSaveimage: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventTriggerActionSavewaveform: + """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventTriggerActionSrq: + """Return the ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventTriggerActionStopacq: + """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventTrigger(SCPICmdRead): + """The ``ACTONEVent:TRIGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventTriggerAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventTriggerAction: + """Return the ``ACTONEVent:TRIGger:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventSearchActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a search event is found feature. + - ``OFF`` disables the stop acquisitions when a search event is found feature. + - ```` is a number that enables or disables the stop acquisitions when a search event + is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionStopacq(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionStopacqState: + """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a search event is found feature. + - ``OFF`` disables the stop acquisitions when a search event is found feature. + - ```` is a number that enables or disables the stop acquisitions when a search + event is found feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventSearchActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any search event is found feature. + - ``OFF`` disables the generate an SRQ event when any search event is found feature. + - ```` is a number that enables or disables the generate an SRQ event when any search + event is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSrq(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSrqState: + """Return the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any search event is found feature. + - ``OFF`` disables the generate an SRQ event when any search event is found feature. + - ```` is a number that enables or disables the generate an SRQ event when any + search event is found feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventSearchActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a search event is found feature. + - ``OFF`` disables the save source waveform(s) when a search event is found feature. + - ```` is a number that enables or disables the save source waveform(s) when a search + event is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSavewaveformState: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a search event is found feature. + - ``OFF`` disables the save source waveform(s) when a search event is found feature. + - ```` is a number that enables or disables the save source waveform(s) when a + search event is found feature. The number zero disables the feature, all other numbers + enable the feature. + """ + return self._state + + +class ActoneventSearchActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a search event is found feature. + - ``OFF`` disables the save screen capture when a search event is found feature. + - ```` is a number that enables or disables the save screen capture when a search event + is found feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventSearchActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventSearchActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventSearchActionSaveimageState: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a search event is found. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a search event is found feature. + - ``OFF`` disables the save screen capture when a search event is found feature. + - ```` is a number that enables or disables the save screen capture when a search + event is found feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventSearchAction(SCPICmdRead): + """The ``ACTONEVent:SEARCH:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventSearchActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventSearchActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventSearchActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventSearchActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventSearchActionSaveimage: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventSearchActionSavewaveform: + """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventSearchActionSrq: + """Return the ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventSearchActionStopacq: + """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventSearch(SCPICmdRead): + """The ``ACTONEVent:SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventSearchAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventSearchAction: + """Return the ``ACTONEVent:SEARCH:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMeasurementActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. + - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the stop acquisitions when the measurement + limit is exceeded feature. The number zero disables the feature, all other numbers enable + the feature. + """ + + +class ActoneventMeasurementActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionStopacqState: + """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. + - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the stop acquisitions when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any measurement triggers the user-defined + measurement limits. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any measurement triggers the user-defined + measurement limits feature. + - ``OFF`` disables the generate an SRQ event when any measurement triggers the user-defined + measurement limits feature. + - ```` is a number that enables or disables the generate an SRQ event when any + measurement triggers the user-defined measurement limits feature. The number zero disables + the feature, all other numbers enable the feature. + """ + + +class ActoneventMeasurementActionSrq(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionSrqState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when any measurement triggers the user-defined + measurement limits. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when any measurement triggers the + user-defined measurement limits feature. + - ``OFF`` disables the generate an SRQ event when any measurement triggers the + user-defined measurement limits feature. + - ```` is a number that enables or disables the generate an SRQ event when any + measurement triggers the user-defined measurement limits feature. The number zero + disables the feature, all other numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when the user-set measurement limit is + exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded feature. + - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save source waveform(s) when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventMeasurementActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSavewaveformState( + device, f"{self._cmd_syntax}:STATE" + ) + + @property + def state(self) -> ActoneventMeasurementActionSavewaveformState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when the user-set measurement limit + is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded + feature. + - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save source waveform(s) when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. + - ``OFF`` disables the save screen capture when the measurement limit is exceeded feature. + - ```` is a number that enables or disables the save screen capture when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventMeasurementActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMeasurementActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMeasurementActionSaveimageState: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when the user-set measurement limit is exceeded. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. + - ``OFF`` disables the save screen capture when the measurement limit is exceeded + feature. + - ```` is a number that enables or disables the save screen capture when the + measurement limit is exceeded feature. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventMeasurementAction(SCPICmdRead): + """The ``ACTONEVent:MEASUrement:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMeasurementActionSaveimage( + device, f"{self._cmd_syntax}:SAVEIMAGe" + ) + self._savewaveform = ActoneventMeasurementActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMeasurementActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMeasurementActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMeasurementActionSaveimage: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMeasurementActionSavewaveform: + """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMeasurementActionSrq: + """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMeasurementActionStopacq: + """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMeasurement(SCPICmdRead): + """The ``ACTONEVent:MEASUrement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMeasurementAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMeasurementAction: + """Return the ``ACTONEVent:MEASUrement:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskpassActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test passes feature. + - ``OFF`` disables the stop acquisitions when a mask test passes feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionStopacqState: + """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test passes feature. + - ``OFF`` disables the stop acquisitions when a mask test passes feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskpassActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask passes feature. + - ``OFF`` disables the generate an SRQ event when a mask passes feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSrqState: + """Return the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask passes. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask passes feature. + - ``OFF`` disables the generate an SRQ event when a mask passes feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskpassActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test passes feature. + - ``OFF`` disables the save source waveform(s) when a mask test passes feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSavewaveformState: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test passes feature. + - ``OFF`` disables the save source waveform(s) when a mask test passes feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test passes feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventMaskpassActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test passes feature. + - ``OFF`` disables the save screen capture when a mask test passes feature. + - ```` is a number that enables or disables the save screen capture when a mask test + passes feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskpassActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskpassActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskpassActionSaveimageState: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test passes. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test passes feature. + - ``OFF`` disables the save screen capture when a mask test passes feature. + - ```` is a number that enables or disables the save screen capture when a mask + test passes feature. The number zero disables the feature, all other numbers enable + the feature. + """ + return self._state + + +class ActoneventMaskpassAction(SCPICmdRead): + """The ``ACTONEVent:MASKPass:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskpassActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskpassActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskpassActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskpassActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskpassActionSaveimage: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskpassActionSavewaveform: + """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskpassActionSrq: + """Return the ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskpassActionStopacq: + """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskpass(SCPICmdRead): + """The ``ACTONEVent:MASKPass`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskpassAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskpassAction: + """Return the ``ACTONEVent:MASKPass:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskhitActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask hit occurs feature. + - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. + - ```` is a number that enables or disables the stop acquisitions when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionStopacqState: + """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask hit occurs feature. + - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. + - ```` is a number that enables or disables the stop acquisitions when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. + - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSrqState: + """Return the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. + - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + hit occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. + - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSavewaveformState: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. + - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + hit occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask hit occurs feature. + - ``OFF`` disables the save screen capture when a mask hit occurs feature. + - ```` is a number that enables or disables the save screen capture when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskhitActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskhitActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskhitActionSaveimageState: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask hit occurs. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask hit occurs feature. + - ``OFF`` disables the save screen capture when a mask hit occurs feature. + - ```` is a number that enables or disables the save screen capture when a mask hit + occurs feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskhitAction(SCPICmdRead): + """The ``ACTONEVent:MASKHit:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskhitActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskhitActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskhitActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskhitActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskhitActionSaveimage: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskhitActionSavewaveform: + """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskhitActionSrq: + """Return the ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskhitActionStopacq: + """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskhit(SCPICmdRead): + """The ``ACTONEVent:MASKHit`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskhitAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskhitAction: + """Return the ``ACTONEVent:MASKHit:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventMaskfailActionStopacqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test fails feature. + - ``OFF`` disables the stop acquisitions when a mask test fails feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + fails feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionStopacq(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionStopacqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionStopacqState: + """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + + **Description:** + - This command stops acquisitions when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? + + **Info:** + - ``ON`` enables the stop acquisitions when a mask test fails feature. + - ``OFF`` disables the stop acquisitions when a mask test fails feature. + - ```` is a number that enables or disables the stop acquisitions when a mask test + fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSrqState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask fails feature. + - ``OFF`` disables the generate an SRQ event when a mask fails feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask fails + feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionSrq(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSrqState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSrqState: + """Return the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + + **Description:** + - This command generates an SRQ event when a mask fails. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SRQ:STATE? + + **Info:** + - ``ON`` enables the generate an SRQ event when a mask fails feature. + - ``OFF`` disables the generate an SRQ event when a mask fails feature. + - ```` is a number that enables or disables the generate an SRQ event when a mask + fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test fails feature. + - ``OFF`` disables the save source waveform(s) when a mask test fails feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + + +class ActoneventMaskfailActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSavewaveformState: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + + **Description:** + - This command saves the user set source waveform(s) when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? + + **Info:** + - ``ON`` enables the save source waveform(s) when a mask test fails feature. + - ``OFF`` disables the save source waveform(s) when a mask test fails feature. + - ```` is a number that enables or disables the save source waveform(s) when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test fails feature. + - ``OFF`` disables the save screen capture when a mask test fails feature. + - ```` is a number that enables or disables the save screen capture when a mask test + fails feature. The number zero disables the feature, all other numbers enable the feature. + """ + + +class ActoneventMaskfailActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventMaskfailActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventMaskfailActionSaveimageState: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + + **Description:** + - This command saves a screen capture when a mask test fails. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? + + **Info:** + - ``ON`` enables the save screen capture when a mask test fails feature. + - ``OFF`` disables the save screen capture when a mask test fails feature. + - ```` is a number that enables or disables the save screen capture when a mask + test fails feature. The number zero disables the feature, all other numbers enable the + feature. + """ + return self._state + + +class ActoneventMaskfailAction(SCPICmdRead): + """The ``ACTONEVent:MASKFail:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventMaskfailActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savewaveform = ActoneventMaskfailActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + self._srq = ActoneventMaskfailActionSrq(device, f"{self._cmd_syntax}:SRQ") + self._stopacq = ActoneventMaskfailActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") + + @property + def saveimage(self) -> ActoneventMaskfailActionSaveimage: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savewaveform(self) -> ActoneventMaskfailActionSavewaveform: + """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + @property + def srq(self) -> ActoneventMaskfailActionSrq: + """Return the ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. + """ + return self._srq + + @property + def stopacq(self) -> ActoneventMaskfailActionStopacq: + """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. + """ + return self._stopacq + + +class ActoneventMaskfail(SCPICmdRead): + """The ``ACTONEVent:MASKFail`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventMaskfailAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventMaskfailAction: + """Return the ``ACTONEVent:MASKFail:ACTION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. + - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. + - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. + - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. + """ + return self._action + + +class ActoneventLimit(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:LIMit`` command. + + **Description:** + - This command sets whether the act on event should limit the number of saves. This prevents + the saves from filling the hard drive. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + + **Info:** + - ```` is a number that enables or disables whether the act on event should limit the + number of saves. The number zero disables the feature and the number one enables the + feature. + """ + + +class ActoneventLimitcount(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:LIMITCount`` command. + + **Description:** + - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command must be + enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + + **Info:** + - ```` sets the number of allowed saves for the act on event feature. The number must + be a positive integer. + """ + + +class ActoneventEnable(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:ENable`` command. + + **Description:** + - This command enables or disables actions on event (AOE). If AOE saves are limited and the + limit has been reached, this parameter will disable AOE. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + + **Info:** + - ```` is a number that enables or disables actions on event. The number zero disables + the feature and the number one enables the feature. + """ + + +# pylint: disable=too-many-instance-attributes +class Actonevent(SCPICmdRead): + """The ``ACTONEVent`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.enable``: The ``ACTONEVent:ENable`` command. + - ``.limitcount``: The ``ACTONEVent:LIMITCount`` command. + - ``.limit``: The ``ACTONEVent:LIMit`` command. + - ``.maskfail``: The ``ACTONEVent:MASKFail`` command tree. + - ``.maskhit``: The ``ACTONEVent:MASKHit`` command tree. + - ``.maskpass``: The ``ACTONEVent:MASKPass`` command tree. + - ``.measurement``: The ``ACTONEVent:MEASUrement`` command tree. + - ``.search``: The ``ACTONEVent:SEARCH`` command tree. + - ``.trigger``: The ``ACTONEVent:TRIGger`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "ACTONEVent") -> None: + super().__init__(device, cmd_syntax) + self._enable = ActoneventEnable(device, f"{self._cmd_syntax}:ENable") + self._limitcount = ActoneventLimitcount(device, f"{self._cmd_syntax}:LIMITCount") + self._limit = ActoneventLimit(device, f"{self._cmd_syntax}:LIMit") + self._maskfail = ActoneventMaskfail(device, f"{self._cmd_syntax}:MASKFail") + self._maskhit = ActoneventMaskhit(device, f"{self._cmd_syntax}:MASKHit") + self._maskpass = ActoneventMaskpass(device, f"{self._cmd_syntax}:MASKPass") + self._measurement = ActoneventMeasurement(device, f"{self._cmd_syntax}:MEASUrement") + self._search = ActoneventSearch(device, f"{self._cmd_syntax}:SEARCH") + self._trigger = ActoneventTrigger(device, f"{self._cmd_syntax}:TRIGger") + + @property + def enable(self) -> ActoneventEnable: + """Return the ``ACTONEVent:ENable`` command. + + **Description:** + - This command enables or disables actions on event (AOE). If AOE saves are limited and + the limit has been reached, this parameter will disable AOE. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:ENable + - ACTONEVent:ENable? + + **Info:** + - ```` is a number that enables or disables actions on event. The number zero + disables the feature and the number one enables the feature. + """ + return self._enable + + @property + def limitcount(self) -> ActoneventLimitcount: + """Return the ``ACTONEVent:LIMITCount`` command. + + **Description:** + - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command + must be enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` + command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMITCount + - ACTONEVent:LIMITCount? + + **Info:** + - ```` sets the number of allowed saves for the act on event feature. The number + must be a positive integer. + """ + return self._limitcount + + @property + def limit(self) -> ActoneventLimit: + """Return the ``ACTONEVent:LIMit`` command. + + **Description:** + - This command sets whether the act on event should limit the number of saves. This + prevents the saves from filling the hard drive. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. + + **SCPI Syntax:** + + :: + + - ACTONEVent:LIMit + - ACTONEVent:LIMit? + + **Info:** + - ```` is a number that enables or disables whether the act on event should limit + the number of saves. The number zero disables the feature and the number one enables + the feature. + """ + return self._limit + + @property + def maskfail(self) -> ActoneventMaskfail: + """Return the ``ACTONEVent:MASKFail`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. + """ + return self._maskfail + + @property + def maskhit(self) -> ActoneventMaskhit: + """Return the ``ACTONEVent:MASKHit`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. + """ + return self._maskhit + + @property + def maskpass(self) -> ActoneventMaskpass: + """Return the ``ACTONEVent:MASKPass`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. + """ + return self._maskpass + + @property + def measurement(self) -> ActoneventMeasurement: + """Return the ``ACTONEVent:MEASUrement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. + """ + return self._measurement + + @property + def search(self) -> ActoneventSearch: + """Return the ``ACTONEVent:SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. + """ + return self._search + + @property + def trigger(self) -> ActoneventTrigger: + """Return the ``ACTONEVent:TRIGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. + """ + return self._trigger diff --git a/src/tm_devices/commands/_c3g63_lpdmso/bus.py b/src/tm_devices/commands/_c3g63_lpdmso/bus.py index 843772bd..0ed63121 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/bus.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/bus.py @@ -280,6 +280,7 @@ - BUS:B:FLEXray:SIGnal? - BUS:B:FLEXray:SOUrce {CH|MATH|REF} - BUS:B:FLEXray:SOUrce:TXRX {CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? - BUS:B:FLEXray:SOUrce? - BUS:B:FLEXray:THRESHold - BUS:B:FLEXray:THRESHold? @@ -303,6 +304,8 @@ - BUS:B:I3C:DATa:SOUrce? - BUS:B:I3C:DATa:THReshold - BUS:B:I3C:DATa:THReshold? + - BUS:B:I3C:VERSion {VR1} + - BUS:B:I3C:VERSion? - BUS:B:LABel:COLor - BUS:B:LABel:COLor? - BUS:B:LABel:FONT:BOLD {ON|OFF|1|0} @@ -373,7 +376,9 @@ - BUS:B:MDIO:DATA:SOUrce {CH|MATH|REF} - BUS:B:MDIO:DATA:SOUrce? - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? - BUS:B:MIL1553B:POLarity {NORMal|INVERTed} - BUS:B:MIL1553B:POLarity? - BUS:B:MIL1553B:RESPonsetime:MAXimum @@ -383,9 +388,36 @@ - BUS:B:MIL1553B:SOUrce {CH|MATH|REF} - BUS:B:MIL1553B:SOUrce? - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? + - BUS:B:NFC:APPLYDEMod {1|0} + - BUS:B:NFC:APPLYDEMod? + - BUS:B:NFC:BITRate + - BUS:B:NFC:BITRate? + - BUS:B:NFC:CMD:STARTINDex + - BUS:B:NFC:CMD:STARTINDex? + - BUS:B:NFC:CMD:THReshold + - BUS:B:NFC:CMD:THReshold? + - BUS:B:NFC:CMD:TRANsition:ZERo {RISing| FALLing} + - BUS:B:NFC:CMD:TRANsition:ZERo? + - BUS:B:NFC:COMMand:POLarity {NORMal|INVerted} + - BUS:B:NFC:COMMand:POLarity? + - BUS:B:NFC:RESPonse:POLarity {NORMal|INVerted} + - BUS:B:NFC:RESPonse:POLarity? + - BUS:B:NFC:RSP:THReshold + - BUS:B:NFC:RSP:THReshold? + - BUS:B:NFC:SOUrce {CH} + - BUS:B:NFC:SOUrce? + - BUS:B:NFC:START:INDex + - BUS:B:NFC:START:INDex? + - BUS:B:NFC:STD {NFC15693| NFC14443A| NFC14443B| NFCFELica} + - BUS:B:NFC:STD? + - BUS:B:NFC:TOLerance + - BUS:B:NFC:TOLerance? + - BUS:B:NFC:TRANsition:ZERo {ge|ieee} + - BUS:B:NFC:TRANsition:ZERo? - BUS:B:NRZ:BITOrder {LSB|MSB} - BUS:B:NRZ:BITOrder? - - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate - BUS:B:NRZ:BITRate? - BUS:B:NRZ:POLarity {INVerted|NORmal} - BUS:B:NRZ:POLarity? @@ -413,8 +445,12 @@ - BUS:B:PARallel:CLOCk:EDGE? - BUS:B:PARallel:CLOCk:ISCLOCKED {OFF|ON|} - BUS:B:PARallel:CLOCk:ISCLOCKED? + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} - BUS:B:PSIFIVe:BITRate? + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? - BUS:B:PSIFIVe:DATAA - BUS:B:PSIFIVe:DATAA? - BUS:B:PSIFIVe:DATAB @@ -437,6 +473,8 @@ - BUS:B:PSIFIVe:SYNCTHRESHold? - BUS:B:PSIFIVe:THRESHold - BUS:B:PSIFIVe:THRESHold? + - BUS:B:RS232C:BITORDer {LSB|MSB} + - BUS:B:RS232C:BITORDer? - BUS:B:RS232C:BITRate {CUSTOM|RATE300|RATE1K|RATE2K|RATE9K| RATE19K|RATE38K|RATE115K|RATE921K} - BUS:B:RS232C:BITRate:CUSTom - BUS:B:RS232C:BITRate:CUSTom? @@ -562,9 +600,11 @@ - BUS:B:SPI:SELect:THReshold - BUS:B:SPI:SELect:THReshold? - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? - BUS:B:SPMI:SCLk:THReshold - BUS:B:SPMI:SCLk:THReshold? - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? - BUS:B:SPMI:SDATa:THReshold - BUS:B:SPMI:SDATa:THReshold? - BUS:B:SVID:ALERT:SOUrce {CH|MATH|REF} @@ -599,10 +639,6 @@ - BUS:B:USB:SOUrce? - BUS:B:USB:THRESHold - BUS:B:USB:THRESHold? - - BUS:BPSIFIVe:BITPERiod - - BUS:BPSIFIVe:BITPERiod? - - BUS:BPSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} - - BUS:BPSIFIVe:COMM:DIRection? - BUS:DELete - BUS:LIST? """ # noqa: E501 @@ -661,177 +697,6 @@ class BusDelete(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class BusBpsifiveItemCommDirection(SCPICmdWrite, SCPICmdRead): - """The ``BUS:BPSIFIVe:COMM:DIRection`` command. - - **Description:** - - This command sets or queries the PSI5 bus communication direction. Communication direction - by default is set to Sensor to ECU. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:COMM:DIRection?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:COMM:DIRection?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:BPSIFIVe:COMM:DIRection value`` - command. - - **SCPI Syntax:** - - :: - - - BUS:BPSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} - - BUS:BPSIFIVe:COMM:DIRection? - - **Info:** - - ``B`` is the number of the bus. - - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the default - value. - - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. - """ - - -class BusBpsifiveItemComm(SCPICmdRead): - """The ``BUS:BPSIFIVe:COMM`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:COMM?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:COMM?`` query and - raise an AssertionError if the returned value does not match ``value``. - - **Info:** - - ``B`` is the number of the bus. - - Properties: - - ``.direction``: The ``BUS:BPSIFIVe:COMM:DIRection`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._direction = BusBpsifiveItemCommDirection(device, f"{self._cmd_syntax}:DIRection") - - @property - def direction(self) -> BusBpsifiveItemCommDirection: - """Return the ``BUS:BPSIFIVe:COMM:DIRection`` command. - - **Description:** - - This command sets or queries the PSI5 bus communication direction. Communication - direction by default is set to Sensor to ECU. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:COMM:DIRection?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:COMM:DIRection?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``BUS:BPSIFIVe:COMM:DIRection value`` command. - - **SCPI Syntax:** - - :: - - - BUS:BPSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} - - BUS:BPSIFIVe:COMM:DIRection? - - **Info:** - - ``B`` is the number of the bus. - - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the - default value. - - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. - """ - return self._direction - - -class BusBpsifiveItemBitperiod(SCPICmdWrite, SCPICmdRead): - """The ``BUS:BPSIFIVe:BITPERiod`` command. - - **Description:** - - This command sets or queries the PSI5 Bit period bus parameter. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:BITPERiod?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:BITPERiod?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:BPSIFIVe:BITPERiod value`` - command. - - **SCPI Syntax:** - - :: - - - BUS:BPSIFIVe:BITPERiod - - BUS:BPSIFIVe:BITPERiod? - - **Info:** - - ``B`` is the number of the bus. - - ```` specifies the bit period. The default bit period is 60 Micro seconds. - """ - - -class BusBpsifiveItem(ValidatedDynamicNumberCmd, SCPICmdRead): - """The ``BUS:BPSIFIVe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **Info:** - - ``B`` is the number of the bus. - - Properties: - - ``.bitperiod``: The ``BUS:BPSIFIVe:BITPERiod`` command. - - ``.comm``: The ``BUS:BPSIFIVe:COMM`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bitperiod = BusBpsifiveItemBitperiod(device, f"{self._cmd_syntax}:BITPERiod") - self._comm = BusBpsifiveItemComm(device, f"{self._cmd_syntax}:COMM") - - @property - def bitperiod(self) -> BusBpsifiveItemBitperiod: - """Return the ``BUS:BPSIFIVe:BITPERiod`` command. - - **Description:** - - This command sets or queries the PSI5 Bit period bus parameter. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:BITPERiod?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:BITPERiod?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:BPSIFIVe:BITPERiod value`` - command. - - **SCPI Syntax:** - - :: - - - BUS:BPSIFIVe:BITPERiod - - BUS:BPSIFIVe:BITPERiod? - - **Info:** - - ``B`` is the number of the bus. - - ```` specifies the bit period. The default bit period is 60 Micro seconds. - """ - return self._bitperiod - - @property - def comm(self) -> BusBpsifiveItemComm: - """Return the ``BUS:BPSIFIVe:COMM`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe:COMM?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe:COMM?`` query and - raise an AssertionError if the returned value does not match ``value``. - - **Info:** - - ``B`` is the number of the bus. - - Sub-properties: - - ``.direction``: The ``BUS:BPSIFIVe:COMM:DIRection`` command. - """ - return self._comm - - class BusBItemUsbThreshold(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:USB:THRESHold`` command. @@ -1966,13 +1831,16 @@ class BusBItemSpmiSdataThreshold(SCPICmdWrite, SCPICmdRead): """ -class BusBItemSpmiSdataSource(SCPICmdWrite): +class BusBItemSpmiSdataSource(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:SPMI:SDATa:SOUrce`` command. **Description:** - This command sets or queries the SPMI Data (SDATA) source for the specified bus. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce value`` command. @@ -1981,6 +1849,7 @@ class BusBItemSpmiSdataSource(SCPICmdWrite): :: - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? **Info:** - ``B`` is the number of the bus waveform. @@ -2025,6 +1894,9 @@ def source(self) -> BusBItemSpmiSdataSource: - This command sets or queries the SPMI Data (SDATA) source for the specified bus. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce value`` command. @@ -2033,6 +1905,7 @@ def source(self) -> BusBItemSpmiSdataSource: :: - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? **Info:** - ``B`` is the number of the bus waveform. @@ -2103,13 +1976,16 @@ class BusBItemSpmiSclkThreshold(SCPICmdWrite, SCPICmdRead): """ -class BusBItemSpmiSclkSource(SCPICmdWrite): +class BusBItemSpmiSclkSource(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:SPMI:SCLk:SOUrce`` command. **Description:** - This command sets or queries the SPMI Clock (SCLK) source for the specified bus. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce value`` command. @@ -2118,6 +1994,7 @@ class BusBItemSpmiSclkSource(SCPICmdWrite): :: - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? **Info:** - ``B`` is the number of the bus waveform. @@ -2162,6 +2039,9 @@ def source(self) -> BusBItemSpmiSclkSource: - This command sets or queries the SPMI Clock (SCLK) source for the specified bus. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce value`` command. @@ -2170,6 +2050,7 @@ def source(self) -> BusBItemSpmiSclkSource: :: - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>| MATH|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? **Info:** - ``B`` is the number of the bus waveform. @@ -6437,6 +6318,34 @@ def custom(self) -> BusBItemRs232cBitrateCustom: return self._custom +class BusBItemRs232cBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:BITORDer`` command. + + **Description:** + - This command sets or queries the bit order for the specified RS-232 bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITORDer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITORDer?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:BITORDer value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:RS232C:BITORDer {LSB|MSB} + - BUS:B:RS232C:BITORDer? + + **Info:** + - ``B`` is the number of the bus. + - ``LSB`` sets the bit order to LSB. This is the default value. + - ``MSB`` sets the bit order to MSB. + """ + + +# pylint: disable=too-many-instance-attributes class BusBItemRs232c(SCPICmdRead): """The ``BUS:B:RS232C`` command tree. @@ -6449,6 +6358,7 @@ class BusBItemRs232c(SCPICmdRead): - ``B`` is the number of the bus. Properties: + - ``.bitorder``: The ``BUS:B:RS232C:BITORDer`` command. - ``.bitrate``: The ``BUS:B:RS232C:BITRate`` command. - ``.databits``: The ``BUS:B:RS232C:DATABits`` command. - ``.delimiter``: The ``BUS:B:RS232C:DELIMiter`` command. @@ -6460,6 +6370,7 @@ class BusBItemRs232c(SCPICmdRead): def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) + self._bitorder = BusBItemRs232cBitorder(device, f"{self._cmd_syntax}:BITORDer") self._bitrate = BusBItemRs232cBitrate(device, f"{self._cmd_syntax}:BITRate") self._databits = BusBItemRs232cDatabits(device, f"{self._cmd_syntax}:DATABits") self._delimiter = BusBItemRs232cDelimiter(device, f"{self._cmd_syntax}:DELIMiter") @@ -6468,6 +6379,34 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._polarity = BusBItemRs232cPolarity(device, f"{self._cmd_syntax}:POLarity") self._source = BusBItemRs232cSource(device, f"{self._cmd_syntax}:SOUrce") + @property + def bitorder(self) -> BusBItemRs232cBitorder: + """Return the ``BUS:B:RS232C:BITORDer`` command. + + **Description:** + - This command sets or queries the bit order for the specified RS-232 bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITORDer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITORDer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:BITORDer value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:RS232C:BITORDer {LSB|MSB} + - BUS:B:RS232C:BITORDer? + + **Info:** + - ``B`` is the number of the bus. + - ``LSB`` sets the bit order to LSB. This is the default value. + - ``MSB`` sets the bit order to MSB. + """ + return self._bitorder + @property def bitrate(self) -> BusBItemRs232cBitrate: """Return the ``BUS:B:RS232C:BITRate`` command. @@ -6985,6 +6924,86 @@ class BusBItemPsifiveDataa(SCPICmdWrite, SCPICmdRead): """ +class BusBItemPsifiveCommDirection(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + + **Description:** + - This command sets or queries the PSI5 bus communication direction. Communication direction + by default is set to Sensor to ECU. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? + + **Info:** + - ``B`` is the number of the bus. + - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the default + value. + - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. + """ + + +class BusBItemPsifiveComm(SCPICmdRead): + """The ``BUS:B:PSIFIVe:COMM`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.direction``: The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = BusBItemPsifiveCommDirection(device, f"{self._cmd_syntax}:DIRection") + + @property + def direction(self) -> BusBItemPsifiveCommDirection: + """Return the ``BUS:B:PSIFIVe:COMM:DIRection`` command. + + **Description:** + - This command sets or queries the PSI5 bus communication direction. Communication + direction by default is set to Sensor to ECU. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PSIFIVe:COMM:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? + + **Info:** + - ``B`` is the number of the bus. + - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the + default value. + - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. + """ + return self._direction + + class BusBItemPsifiveBitrate(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:PSIFIVe:BITRate`` command. @@ -7010,6 +7029,32 @@ class BusBItemPsifiveBitrate(SCPICmdWrite, SCPICmdRead): """ +class BusBItemPsifiveBitperiod(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:BITPERiod`` command. + + **Description:** + - This command sets or queries the PSI5 Bit period bus parameter. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? + + **Info:** + - ``B`` is the number of the bus. + - ```` specifies the bit period. The default bit period is 60 Micro seconds. + """ + + # pylint: disable=too-many-instance-attributes class BusBItemPsifive(SCPICmdRead): """The ``BUS:B:PSIFIVe`` command tree. @@ -7023,7 +7068,9 @@ class BusBItemPsifive(SCPICmdRead): - ``B`` is the number of the bus. Properties: + - ``.bitperiod``: The ``BUS:B:PSIFIVe:BITPERiod`` command. - ``.bitrate``: The ``BUS:B:PSIFIVe:BITRate`` command. + - ``.comm``: The ``BUS:B:PSIFIVe:COMM`` command tree. - ``.dataa``: The ``BUS:B:PSIFIVe:DATAA`` command. - ``.datab``: The ``BUS:B:PSIFIVe:DATAB`` command. - ``.dataformat``: The ``BUS:B:PSIFIVe:DATAFORMat`` command. @@ -7039,7 +7086,9 @@ class BusBItemPsifive(SCPICmdRead): def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) + self._bitperiod = BusBItemPsifiveBitperiod(device, f"{self._cmd_syntax}:BITPERiod") self._bitrate = BusBItemPsifiveBitrate(device, f"{self._cmd_syntax}:BITRate") + self._comm = BusBItemPsifiveComm(device, f"{self._cmd_syntax}:COMM") self._dataa = BusBItemPsifiveDataa(device, f"{self._cmd_syntax}:DATAA") self._datab = BusBItemPsifiveDatab(device, f"{self._cmd_syntax}:DATAB") self._dataformat = BusBItemPsifiveDataformat(device, f"{self._cmd_syntax}:DATAFORMat") @@ -7055,30 +7104,74 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._threshold = BusBItemPsifiveThreshold(device, f"{self._cmd_syntax}:THRESHold") @property - def bitrate(self) -> BusBItemPsifiveBitrate: - """Return the ``BUS:B:PSIFIVe:BITRate`` command. + def bitperiod(self) -> BusBItemPsifiveBitperiod: + """Return the ``BUS:B:PSIFIVe:BITPERiod`` command. **Description:** - - This command sets or queries the PSI5 bitrate. + - This command sets or queries the PSI5 Bit period bus parameter. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITRate value`` + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod value`` command. **SCPI Syntax:** :: - - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} - - BUS:B:PSIFIVe:BITRate? + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? **Info:** - ``B`` is the number of the bus. + - ```` specifies the bit period. The default bit period is 60 Micro seconds. """ - return self._bitrate + return self._bitperiod + + @property + def bitrate(self) -> BusBItemPsifiveBitrate: + """Return the ``BUS:B:PSIFIVe:BITRate`` command. + + **Description:** + - This command sets or queries the PSI5 bitrate. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} + - BUS:B:PSIFIVe:BITRate? + + **Info:** + - ``B`` is the number of the bus. + """ + return self._bitrate + + @property + def comm(self) -> BusBItemPsifiveComm: + """Return the ``BUS:B:PSIFIVe:COMM`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Sub-properties: + - ``.direction``: The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + """ + return self._comm @property def dataa(self) -> BusBItemPsifiveDataa: @@ -8327,267 +8420,1301 @@ class BusBItemNrzPolarity(SCPICmdWrite, SCPICmdRead): raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:POLarity value`` command. - **SCPI Syntax:** + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:POLarity {INVerted|NORmal} + - BUS:B:NRZ:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + + +class BusBItemNrzBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:BITRate`` command. + + **Description:** + - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITRate value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 G. + """ + + +class BusBItemNrzBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:BITOrder`` command. + + **Description:** + - This command sets or queries the NRZ bit order for the specified bus. The bus is specified + by x. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:BITOrder {LSB|MSB} + - BUS:B:NRZ:BITOrder? + + **Info:** + - ``B`` is the number of the bus. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new MSB of + the recovered value, shifting any previously recovered bits one place to the right. The + decoding happens left to right. + """ + + +class BusBItemNrz(SCPICmdRead): + """The ``BUS:B:NRZ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.bitorder``: The ``BUS:B:NRZ:BITOrder`` command. + - ``.bitrate``: The ``BUS:B:NRZ:BITRate`` command. + - ``.polarity``: The ``BUS:B:NRZ:POLarity`` command. + - ``.source``: The ``BUS:B:NRZ:SOUrce`` command. + - ``.spmi``: The ``BUS:B:NRZ:SPMI`` command tree. + - ``.threshold``: The ``BUS:B:NRZ:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitorder = BusBItemNrzBitorder(device, f"{self._cmd_syntax}:BITOrder") + self._bitrate = BusBItemNrzBitrate(device, f"{self._cmd_syntax}:BITRate") + self._polarity = BusBItemNrzPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemNrzSource(device, f"{self._cmd_syntax}:SOUrce") + self._spmi = BusBItemNrzSpmi(device, f"{self._cmd_syntax}:SPMI") + self._threshold = BusBItemNrzThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def bitorder(self) -> BusBItemNrzBitorder: + """Return the ``BUS:B:NRZ:BITOrder`` command. + + **Description:** + - This command sets or queries the NRZ bit order for the specified bus. The bus is + specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:BITOrder {LSB|MSB} + - BUS:B:NRZ:BITOrder? + + **Info:** + - ``B`` is the number of the bus. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new + MSB of the recovered value, shifting any previously recovered bits one place to the + right. The decoding happens left to right. + """ + return self._bitorder + + @property + def bitrate(self) -> BusBItemNrzBitrate: + """Return the ``BUS:B:NRZ:BITRate`` command. + + **Description:** + - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 G. + """ + return self._bitrate + + @property + def polarity(self) -> BusBItemNrzPolarity: + """Return the ``BUS:B:NRZ:POLarity`` command. + + **Description:** + - This command sets or queries the NRZ source polarity for the specified bus. The bus + number is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:POLarity {INVerted|NORmal} + - BUS:B:NRZ:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemNrzSource: + """Return the ``BUS:B:NRZ:SOUrce`` command. + + **Description:** + - This command sets or queries the NRZ source for the specified bus. This command + specifies the source channel. The bus is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:SOUrce {CH|MATH|REF] + - BUS:B:NRZ:SOUrce? + + **Info:** + - ``B`` is the number of the bus. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def spmi(self) -> BusBItemNrzSpmi: + """Return the ``BUS:B:NRZ:SPMI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Sub-properties: + - ``.version``: The ``BUS:B:NRZ:SPMI:VERsion`` command. + """ + return self._spmi + + @property + def threshold(self) -> BusBItemNrzThreshold: + """Return the ``BUS:B:NRZ:THReshold`` command. + + **Description:** + - This command sets or queries the NRZ threshold for the specified bus. The bus number + is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NRZ:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NRZ:THReshold + - BUS:B:NRZ:THReshold? + + **Info:** + - ``B`` is the number of the bus. + - ```` is the NRZ Strobe threshold for the specified bus in volts. The valid range + is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemNfcTransitionZero(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:TRANsition:ZERo`` command. + + **Description:** + - The command sets or queries the Manchester standard convention for the specified NFC bus + on the response lane. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TRANsition:ZERo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TRANsition:ZERo?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:TRANsition:ZERo value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:TRANsition:ZERo {ge|ieee} + - BUS:B:NFC:TRANsition:ZERo? + + **Info:** + - ``B`` is the number of the bus. + - ``ge`` sets the transition type to Manchester G.E thomas convention. + - ``ieee`` sets the transition type to Manchester IEEE convention. + """ + + +class BusBItemNfcTransition(SCPICmdRead): + """The ``BUS:B:NFC:TRANsition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TRANsition?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.zero``: The ``BUS:B:NFC:TRANsition:ZERo`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._zero = BusBItemNfcTransitionZero(device, f"{self._cmd_syntax}:ZERo") + + @property + def zero(self) -> BusBItemNfcTransitionZero: + """Return the ``BUS:B:NFC:TRANsition:ZERo`` command. + + **Description:** + - The command sets or queries the Manchester standard convention for the specified NFC + bus on the response lane. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TRANsition:ZERo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TRANsition:ZERo?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:NFC:TRANsition:ZERo value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:TRANsition:ZERo {ge|ieee} + - BUS:B:NFC:TRANsition:ZERo? + + **Info:** + - ``B`` is the number of the bus. + - ``ge`` sets the transition type to Manchester G.E thomas convention. + - ``ieee`` sets the transition type to Manchester IEEE convention. + """ + return self._zero + + +class BusBItemNfcTolerance(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:TOLerance`` command. + + **Description:** + - This command sets or queries the tolerance for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TOLerance?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:TOLerance value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:TOLerance + - BUS:B:NFC:TOLerance? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the tolerance. The default tolerance value is 10%. The minimum value is 1% + and the maximum is 50%. + """ + + +class BusBItemNfcStd(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:STD`` command. + + **Description:** + - This command sets or queries the standard for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:STD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:STD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:STD value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:STD {NFC15693| NFC14443A| NFC14443B| NFCFELica} + - BUS:B:NFC:STD? + + **Info:** + - ``B`` is the number of the bus. + - ``NFC15693`` sets the standard to 15693. + - ``NFC14443A`` sets the standard to 14443A. + - ``NFC14443B`` sets the standard to 14443B. + - ``NFCFELica`` sets the standard to Felica. + """ + + +class BusBItemNfcStartIndex(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:START:INDex`` command. + + **Description:** + - This command sets or queries the start index for the specified NFC bus on the response + lane. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:START:INDex?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:START:INDex?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:START:INDex value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:START:INDex + - BUS:B:NFC:START:INDex? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the index. The default value is 1. The minimum value is 1 and the maximum + is 8. + """ + + +class BusBItemNfcStart(SCPICmdRead): + """The ``BUS:B:NFC:START`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:START?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:START?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.index``: The ``BUS:B:NFC:START:INDex`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._index = BusBItemNfcStartIndex(device, f"{self._cmd_syntax}:INDex") + + @property + def index(self) -> BusBItemNfcStartIndex: + """Return the ``BUS:B:NFC:START:INDex`` command. + + **Description:** + - This command sets or queries the start index for the specified NFC bus on the response + lane. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:START:INDex?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:START:INDex?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:START:INDex value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:START:INDex + - BUS:B:NFC:START:INDex? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the index. The default value is 1. The minimum value is 1 and the + maximum is 8. + """ + return self._index + + +class BusBItemNfcSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:SOUrce {CH} + - BUS:B:NFC:SOUrce? + + **Info:** + - ``B`` is the number of the bus. + - ``CH`` specifies an analog channel as the source. + """ + + +class BusBItemNfcRspThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:RSP:THReshold`` command. + + **Description:** + - This command sets or queries the response threshold for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RSP:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RSP:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:RSP:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:RSP:THReshold + - BUS:B:NFC:RSP:THReshold? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the threshold. The default value is 1.0 V. The minimum value is -8.0 V and + the maximum is 8.0 V. + """ + + +class BusBItemNfcRsp(SCPICmdRead): + """The ``BUS:B:NFC:RSP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RSP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RSP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:NFC:RSP:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemNfcRspThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def threshold(self) -> BusBItemNfcRspThreshold: + """Return the ``BUS:B:NFC:RSP:THReshold`` command. + + **Description:** + - This command sets or queries the response threshold for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RSP:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RSP:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:RSP:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:RSP:THReshold + - BUS:B:NFC:RSP:THReshold? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the threshold. The default value is 1.0 V. The minimum value is -8.0 V + and the maximum is 8.0 V. + """ + return self._threshold + + +class BusBItemNfcResponsePolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:RESPonse:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for NFC Type B response signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RESPonse:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RESPonse:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:RESPonse:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:RESPonse:POLarity {NORMal|INVerted} + - BUS:B:NFC:RESPonse:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``NORMal`` sets the polarity of command to Normal. + - ``INVerted`` sets the polarity of command to Inverted. + """ + + +class BusBItemNfcResponse(SCPICmdRead): + """The ``BUS:B:NFC:RESPonse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RESPonse?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.polarity``: The ``BUS:B:NFC:RESPonse:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemNfcResponsePolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> BusBItemNfcResponsePolarity: + """Return the ``BUS:B:NFC:RESPonse:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for NFC Type B response signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RESPonse:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RESPonse:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:NFC:RESPonse:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:RESPonse:POLarity {NORMal|INVerted} + - BUS:B:NFC:RESPonse:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``NORMal`` sets the polarity of command to Normal. + - ``INVerted`` sets the polarity of command to Inverted. + """ + return self._polarity + + +class BusBItemNfcCommandPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:COMMand:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for NFC Type B command signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:COMMand:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:COMMand:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:COMMand:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:COMMand:POLarity {NORMal|INVerted} + - BUS:B:NFC:COMMand:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``NORMal`` sets the polarity of command to Normal. + - ``INVerted`` sets the polarity of command to Inverted. + """ + + +class BusBItemNfcCommand(SCPICmdRead): + """The ``BUS:B:NFC:COMMand`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:COMMand?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:COMMand?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.polarity``: The ``BUS:B:NFC:COMMand:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemNfcCommandPolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> BusBItemNfcCommandPolarity: + """Return the ``BUS:B:NFC:COMMand:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for NFC Type B command signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:COMMand:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:COMMand:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:NFC:COMMand:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:COMMand:POLarity {NORMal|INVerted} + - BUS:B:NFC:COMMand:POLarity? + + **Info:** + - ``B`` is the number of the bus. + - ``NORMal`` sets the polarity of command to Normal. + - ``INVerted`` sets the polarity of command to Inverted. + """ + return self._polarity + + +class BusBItemNfcCmdTransitionZero(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:CMD:TRANsition:ZERo`` command. + + **Description:** + - This command sets or queries the Manchester type for NFC command signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:TRANsition:ZERo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:TRANsition:ZERo?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:NFC:CMD:TRANsition:ZERo value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:TRANsition:ZERo {RISing| FALLing} + - BUS:B:NFC:CMD:TRANsition:ZERo? + + **Info:** + - ``B`` is the number of the bus. + - ``RISing`` sets the Manchester type to G.E thomas. This is the default value. + - ``FALLing`` sets the Manchester type to IEEE. + """ + + +class BusBItemNfcCmdTransition(SCPICmdRead): + """The ``BUS:B:NFC:CMD:TRANsition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:TRANsition?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.zero``: The ``BUS:B:NFC:CMD:TRANsition:ZERo`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._zero = BusBItemNfcCmdTransitionZero(device, f"{self._cmd_syntax}:ZERo") + + @property + def zero(self) -> BusBItemNfcCmdTransitionZero: + """Return the ``BUS:B:NFC:CMD:TRANsition:ZERo`` command. + + **Description:** + - This command sets or queries the Manchester type for NFC command signal type for the + specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:TRANsition:ZERo?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:NFC:CMD:TRANsition:ZERo?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:NFC:CMD:TRANsition:ZERo value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:TRANsition:ZERo {RISing| FALLing} + - BUS:B:NFC:CMD:TRANsition:ZERo? + + **Info:** + - ``B`` is the number of the bus. + - ``RISing`` sets the Manchester type to G.E thomas. This is the default value. + - ``FALLing`` sets the Manchester type to IEEE. + """ + return self._zero + + +class BusBItemNfcCmdThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:CMD:THReshold`` command. + + **Description:** + - This command sets or queries the command threshold for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:CMD:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:THReshold + - BUS:B:NFC:CMD:THReshold? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the threshold. The default bit rate value is 1.0 V. The minimum value is + -8.0 V and the maximum is 8.0 V. + """ + + +class BusBItemNfcCmdStartindex(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:CMD:STARTINDex`` command. + + **Description:** + - This command sets or queries the Manchester start index for NFC command signal type for + the specified bus + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:STARTINDex?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:STARTINDex?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:CMD:STARTINDex value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:STARTINDex + - BUS:B:NFC:CMD:STARTINDex? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the Manchester start index. The default value is 1. The minimum value is 1 + and the maximum is 8. + """ + + +class BusBItemNfcCmd(SCPICmdRead): + """The ``BUS:B:NFC:CMD`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Properties: + - ``.startindex``: The ``BUS:B:NFC:CMD:STARTINDex`` command. + - ``.threshold``: The ``BUS:B:NFC:CMD:THReshold`` command. + - ``.transition``: The ``BUS:B:NFC:CMD:TRANsition`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._startindex = BusBItemNfcCmdStartindex(device, f"{self._cmd_syntax}:STARTINDex") + self._threshold = BusBItemNfcCmdThreshold(device, f"{self._cmd_syntax}:THReshold") + self._transition = BusBItemNfcCmdTransition(device, f"{self._cmd_syntax}:TRANsition") + + @property + def startindex(self) -> BusBItemNfcCmdStartindex: + """Return the ``BUS:B:NFC:CMD:STARTINDex`` command. + + **Description:** + - This command sets or queries the Manchester start index for NFC command signal type + for the specified bus + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:STARTINDex?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:STARTINDex?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:CMD:STARTINDex value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:STARTINDex + - BUS:B:NFC:CMD:STARTINDex? + + **Info:** + - ``B`` is the number of the bus. + - ```` sets the Manchester start index. The default value is 1. The minimum value + is 1 and the maximum is 8. + """ + return self._startindex + + @property + def threshold(self) -> BusBItemNfcCmdThreshold: + """Return the ``BUS:B:NFC:CMD:THReshold`` command. + + **Description:** + - This command sets or queries the command threshold for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:CMD:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:CMD:THReshold + - BUS:B:NFC:CMD:THReshold? - :: + **Info:** + - ``B`` is the number of the bus. + - ```` sets the threshold. The default bit rate value is 1.0 V. The minimum value + is -8.0 V and the maximum is 8.0 V. + """ + return self._threshold - - BUS:B:NRZ:POLarity {INVerted|NORmal} - - BUS:B:NRZ:POLarity? + @property + def transition(self) -> BusBItemNfcCmdTransition: + """Return the ``BUS:B:NFC:CMD:TRANsition`` command tree. - **Info:** - - ``B`` is the number of the bus. - - ``INVerted`` specifies inverted polarity. - - ``NORmal`` specifies normal polarity. - """ + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD:TRANsition?`` + query and raise an AssertionError if the returned value does not match ``value``. + **Info:** + - ``B`` is the number of the bus. -class BusBItemNrzBitrate(SCPICmdWriteNoArguments, SCPICmdRead): - """The ``BUS:B:NRZ:BITRate`` command. + Sub-properties: + - ``.zero``: The ``BUS:B:NFC:CMD:TRANsition:ZERo`` command. + """ + return self._transition + + +class BusBItemNfcBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:BITRate`` command. **Description:** - - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + - This command sets or queries the bit rate for the specified NFC bus on the response lane. + The bus number is specified by . **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:BITRate?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write()`` method will send the ``BUS:B:NRZ:BITRate`` command. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:BITRate value`` command. **SCPI Syntax:** :: - - BUS:B:NRZ:BITRate - - BUS:B:NRZ:BITRate? + - BUS:B:NFC:BITRate + - BUS:B:NFC:BITRate? **Info:** - ``B`` is the number of the bus. + - ```` sets the bit rate. The default bit rate value is 106000 bps. The minimum value + is 1 and the maximum is 1000000000. """ -class BusBItemNrzBitorder(SCPICmdWrite, SCPICmdRead): - """The ``BUS:B:NRZ:BITOrder`` command. +class BusBItemNfcApplydemod(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NFC:APPLYDEMod`` command. **Description:** - - This command sets or queries the NRZ bit order for the specified bus. The bus is specified - by x. + - This command sets or queries if the load modulation is applied on the response for the + specified bus. The bus number is specified by . **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:APPLYDEMod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:APPLYDEMod?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` command. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:APPLYDEMod value`` + command. **SCPI Syntax:** :: - - BUS:B:NRZ:BITOrder {LSB|MSB} - - BUS:B:NRZ:BITOrder? + - BUS:B:NFC:APPLYDEMod {1|0} + - BUS:B:NFC:APPLYDEMod? **Info:** - - ``B`` is the number of the bus. - - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting - previously recovered bits one place to the left. The decoding happens right to left. - - ``MSB`` specifies that each successive bit from the bus's data line becomes the new MSB of - the recovered value, shifting any previously recovered bits one place to the right. The - decoding happens left to right. + - ``1`` sets the demodulation application as true. This is the default value. + - ``0`` sets the demodulation application as false. """ -class BusBItemNrz(SCPICmdRead): - """The ``BUS:B:NRZ`` command tree. +# pylint: disable=too-many-instance-attributes +class BusBItemNfc(SCPICmdRead): + """The ``BUS:B:NFC`` command tree. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ?`` query and raise an + - Using the ``.query()`` method will send the ``BUS:B:NFC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC?`` query and raise an AssertionError if the returned value does not match ``value``. - **Info:** - - ``B`` is the number of the bus. - Properties: - - ``.bitorder``: The ``BUS:B:NRZ:BITOrder`` command. - - ``.bitrate``: The ``BUS:B:NRZ:BITRate`` command. - - ``.polarity``: The ``BUS:B:NRZ:POLarity`` command. - - ``.source``: The ``BUS:B:NRZ:SOUrce`` command. - - ``.spmi``: The ``BUS:B:NRZ:SPMI`` command tree. - - ``.threshold``: The ``BUS:B:NRZ:THReshold`` command. + - ``.applydemod``: The ``BUS:B:NFC:APPLYDEMod`` command. + - ``.bitrate``: The ``BUS:B:NFC:BITRate`` command. + - ``.cmd``: The ``BUS:B:NFC:CMD`` command tree. + - ``.command``: The ``BUS:B:NFC:COMMand`` command tree. + - ``.response``: The ``BUS:B:NFC:RESPonse`` command tree. + - ``.rsp``: The ``BUS:B:NFC:RSP`` command tree. + - ``.source``: The ``BUS:B:NFC:SOUrce`` command. + - ``.start``: The ``BUS:B:NFC:START`` command tree. + - ``.std``: The ``BUS:B:NFC:STD`` command. + - ``.tolerance``: The ``BUS:B:NFC:TOLerance`` command. + - ``.transition``: The ``BUS:B:NFC:TRANsition`` command tree. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) - self._bitorder = BusBItemNrzBitorder(device, f"{self._cmd_syntax}:BITOrder") - self._bitrate = BusBItemNrzBitrate(device, f"{self._cmd_syntax}:BITRate") - self._polarity = BusBItemNrzPolarity(device, f"{self._cmd_syntax}:POLarity") - self._source = BusBItemNrzSource(device, f"{self._cmd_syntax}:SOUrce") - self._spmi = BusBItemNrzSpmi(device, f"{self._cmd_syntax}:SPMI") - self._threshold = BusBItemNrzThreshold(device, f"{self._cmd_syntax}:THReshold") + self._applydemod = BusBItemNfcApplydemod(device, f"{self._cmd_syntax}:APPLYDEMod") + self._bitrate = BusBItemNfcBitrate(device, f"{self._cmd_syntax}:BITRate") + self._cmd = BusBItemNfcCmd(device, f"{self._cmd_syntax}:CMD") + self._command = BusBItemNfcCommand(device, f"{self._cmd_syntax}:COMMand") + self._response = BusBItemNfcResponse(device, f"{self._cmd_syntax}:RESPonse") + self._rsp = BusBItemNfcRsp(device, f"{self._cmd_syntax}:RSP") + self._source = BusBItemNfcSource(device, f"{self._cmd_syntax}:SOUrce") + self._start = BusBItemNfcStart(device, f"{self._cmd_syntax}:START") + self._std = BusBItemNfcStd(device, f"{self._cmd_syntax}:STD") + self._tolerance = BusBItemNfcTolerance(device, f"{self._cmd_syntax}:TOLerance") + self._transition = BusBItemNfcTransition(device, f"{self._cmd_syntax}:TRANsition") @property - def bitorder(self) -> BusBItemNrzBitorder: - """Return the ``BUS:B:NRZ:BITOrder`` command. + def applydemod(self) -> BusBItemNfcApplydemod: + """Return the ``BUS:B:NFC:APPLYDEMod`` command. **Description:** - - This command sets or queries the NRZ bit order for the specified bus. The bus is - specified by x. + - This command sets or queries if the load modulation is applied on the response for the + specified bus. The bus number is specified by . **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` + - Using the ``.query()`` method will send the ``BUS:B:NFC:APPLYDEMod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:APPLYDEMod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:APPLYDEMod value`` command. **SCPI Syntax:** :: - - BUS:B:NRZ:BITOrder {LSB|MSB} - - BUS:B:NRZ:BITOrder? + - BUS:B:NFC:APPLYDEMod {1|0} + - BUS:B:NFC:APPLYDEMod? **Info:** - - ``B`` is the number of the bus. - - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting - previously recovered bits one place to the left. The decoding happens right to left. - - ``MSB`` specifies that each successive bit from the bus's data line becomes the new - MSB of the recovered value, shifting any previously recovered bits one place to the - right. The decoding happens left to right. + - ``1`` sets the demodulation application as true. This is the default value. + - ``0`` sets the demodulation application as false. """ - return self._bitorder + return self._applydemod @property - def bitrate(self) -> BusBItemNrzBitrate: - """Return the ``BUS:B:NRZ:BITRate`` command. + def bitrate(self) -> BusBItemNfcBitrate: + """Return the ``BUS:B:NFC:BITRate`` command. **Description:** - - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + - This command sets or queries the bit rate for the specified NFC bus on the response + lane. The bus number is specified by . **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:BITRate?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write()`` method will send the ``BUS:B:NRZ:BITRate`` command. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:BITRate value`` + command. **SCPI Syntax:** :: - - BUS:B:NRZ:BITRate - - BUS:B:NRZ:BITRate? + - BUS:B:NFC:BITRate + - BUS:B:NFC:BITRate? **Info:** - ``B`` is the number of the bus. + - ```` sets the bit rate. The default bit rate value is 106000 bps. The minimum + value is 1 and the maximum is 1000000000. """ return self._bitrate @property - def polarity(self) -> BusBItemNrzPolarity: - """Return the ``BUS:B:NRZ:POLarity`` command. + def cmd(self) -> BusBItemNfcCmd: + """Return the ``BUS:B:NFC:CMD`` command tree. - **Description:** - - This command sets or queries the NRZ source polarity for the specified bus. The bus - number is specified by x. + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:CMD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:CMD?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Sub-properties: + - ``.startindex``: The ``BUS:B:NFC:CMD:STARTINDex`` command. + - ``.threshold``: The ``BUS:B:NFC:CMD:THReshold`` command. + - ``.transition``: The ``BUS:B:NFC:CMD:TRANsition`` command tree. + """ + return self._cmd + + @property + def command(self) -> BusBItemNfcCommand: + """Return the ``BUS:B:NFC:COMMand`` command tree. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:POLarity?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:POLarity?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:COMMand?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:COMMand?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:POLarity value`` - command. - **SCPI Syntax:** + **Info:** + - ``B`` is the number of the bus. - :: + Sub-properties: + - ``.polarity``: The ``BUS:B:NFC:COMMand:POLarity`` command. + """ + return self._command - - BUS:B:NRZ:POLarity {INVerted|NORmal} - - BUS:B:NRZ:POLarity? + @property + def response(self) -> BusBItemNfcResponse: + """Return the ``BUS:B:NFC:RESPonse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RESPonse?`` query and + raise an AssertionError if the returned value does not match ``value``. **Info:** - ``B`` is the number of the bus. - - ``INVerted`` specifies inverted polarity. - - ``NORmal`` specifies normal polarity. + + Sub-properties: + - ``.polarity``: The ``BUS:B:NFC:RESPonse:POLarity`` command. """ - return self._polarity + return self._response @property - def source(self) -> BusBItemNrzSource: - """Return the ``BUS:B:NRZ:SOUrce`` command. + def rsp(self) -> BusBItemNfcRsp: + """Return the ``BUS:B:NFC:RSP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:RSP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:RSP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:NFC:RSP:THReshold`` command. + """ + return self._rsp + + @property + def source(self) -> BusBItemNfcSource: + """Return the ``BUS:B:NFC:SOUrce`` command. **Description:** - - This command sets or queries the NRZ source for the specified bus. This command - specifies the source channel. The bus is specified by x. + - This command sets or queries the source for the specified NFC bus. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:SOUrce?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SOUrce?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:SOUrce?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SOUrce value`` + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:SOUrce value`` command. **SCPI Syntax:** :: - - BUS:B:NRZ:SOUrce {CH|MATH|REF] - - BUS:B:NRZ:SOUrce? + - BUS:B:NFC:SOUrce {CH} + - BUS:B:NFC:SOUrce? **Info:** - ``B`` is the number of the bus. - ``CH`` specifies an analog channel as the source. - - ``MATH`` specifies a math waveform as the source. - - ``REF`` specifies a digital reference waveform as the source. """ return self._source @property - def spmi(self) -> BusBItemNrzSpmi: - """Return the ``BUS:B:NRZ:SPMI`` command tree. + def start(self) -> BusBItemNfcStart: + """Return the ``BUS:B:NFC:START`` command tree. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI?`` query and + - Using the ``.query()`` method will send the ``BUS:B:NFC:START?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:START?`` query and raise an AssertionError if the returned value does not match ``value``. **Info:** - ``B`` is the number of the bus. Sub-properties: - - ``.version``: The ``BUS:B:NRZ:SPMI:VERsion`` command. + - ``.index``: The ``BUS:B:NFC:START:INDex`` command. """ - return self._spmi + return self._start @property - def threshold(self) -> BusBItemNrzThreshold: - """Return the ``BUS:B:NRZ:THReshold`` command. + def std(self) -> BusBItemNfcStd: + """Return the ``BUS:B:NFC:STD`` command. **Description:** - - This command sets or queries the NRZ threshold for the specified bus. The bus number - is specified by x. + - This command sets or queries the standard for the specified NFC bus. **Usage:** - - Using the ``.query()`` method will send the ``BUS:B:NRZ:THReshold?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:THReshold?`` query + - Using the ``.query()`` method will send the ``BUS:B:NFC:STD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:STD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:STD value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:NFC:STD {NFC15693| NFC14443A| NFC14443B| NFCFELica} + - BUS:B:NFC:STD? + + **Info:** + - ``B`` is the number of the bus. + - ``NFC15693`` sets the standard to 15693. + - ``NFC14443A`` sets the standard to 14443A. + - ``NFC14443B`` sets the standard to 14443B. + - ``NFCFELica`` sets the standard to Felica. + """ + return self._std + + @property + def tolerance(self) -> BusBItemNfcTolerance: + """Return the ``BUS:B:NFC:TOLerance`` command. + + **Description:** + - This command sets or queries the tolerance for the specified NFC bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TOLerance?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:THReshold value`` + - Using the ``.write(value)`` method will send the ``BUS:B:NFC:TOLerance value`` command. **SCPI Syntax:** :: - - BUS:B:NRZ:THReshold - - BUS:B:NRZ:THReshold? + - BUS:B:NFC:TOLerance + - BUS:B:NFC:TOLerance? **Info:** - ``B`` is the number of the bus. - - ```` is the NRZ Strobe threshold for the specified bus in volts. The valid range - is -8 V to +8 V. + - ```` sets the tolerance. The default tolerance value is 10%. The minimum value is + 1% and the maximum is 50%. """ - return self._threshold + return self._tolerance + + @property + def transition(self) -> BusBItemNfcTransition: + """Return the ``BUS:B:NFC:TRANsition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC:TRANsition?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``B`` is the number of the bus. + + Sub-properties: + - ``.zero``: The ``BUS:B:NFC:TRANsition:ZERo`` command. + """ + return self._transition -class BusBItemMil1553bThreshold(SCPICmdWrite): +class BusBItemMil1553bThreshold(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:MIL1553B:THRESHold`` command. **Description:** @@ -8595,6 +9722,9 @@ class BusBItemMil1553bThreshold(SCPICmdWrite): bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:THRESHold value`` command. @@ -8603,6 +9733,7 @@ class BusBItemMil1553bThreshold(SCPICmdWrite): :: - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? **Info:** - ``B`` is the number of the bus. @@ -8809,7 +9940,7 @@ class BusBItemMil1553bPolarity(SCPICmdWrite, SCPICmdRead): """ -class BusBItemMil1553bLowthreshold(SCPICmdWrite): +class BusBItemMil1553bLowthreshold(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:MIL1553B:LOWTHRESHold`` command. **Description:** @@ -8817,6 +9948,9 @@ class BusBItemMil1553bLowthreshold(SCPICmdWrite): bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold value`` command. @@ -8825,6 +9959,7 @@ class BusBItemMil1553bLowthreshold(SCPICmdWrite): :: - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? **Info:** - ``B`` is the number of the bus. @@ -8872,6 +10007,9 @@ def lowthreshold(self) -> BusBItemMil1553bLowthreshold: The bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold value`` command. @@ -8880,6 +10018,7 @@ def lowthreshold(self) -> BusBItemMil1553bLowthreshold: :: - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? **Info:** - ``B`` is the number of the bus. @@ -8974,6 +10113,9 @@ def threshold(self) -> BusBItemMil1553bThreshold: The bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:THRESHold value`` command. @@ -8982,6 +10124,7 @@ def threshold(self) -> BusBItemMil1553bThreshold: :: - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? **Info:** - ``B`` is the number of the bus. @@ -8990,7 +10133,7 @@ def threshold(self) -> BusBItemMil1553bThreshold: return self._threshold -class BusBItemMdioDataThreshold(SCPICmdWrite): +class BusBItemMdioDataThreshold(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:MDIO:DATA:THReshold`` command. **Description:** @@ -8998,6 +10141,9 @@ class BusBItemMdioDataThreshold(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold value`` command. @@ -9006,6 +10152,7 @@ class BusBItemMdioDataThreshold(SCPICmdWrite): :: - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? **Info:** - ``B`` is the number of the bus. @@ -9102,6 +10249,9 @@ def threshold(self) -> BusBItemMdioDataThreshold: bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold value`` command. @@ -9110,6 +10260,7 @@ def threshold(self) -> BusBItemMdioDataThreshold: :: - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? **Info:** - ``B`` is the number of the bus. @@ -11545,6 +12696,32 @@ def name(self) -> BusBItemLabelName: return self._name +class BusBItemI3cVersion(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I3C:VERSion`` command. + + **Description:** + - This command sets or queries the version for the specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:I3C:VERSion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:VERSion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:VERSion value`` command. + + **SCPI Syntax:** + + :: + + - BUS:B:I3C:VERSion {VR1} + - BUS:B:I3C:VERSion? + + **Info:** + - ``B`` is the number of the bus. + - ``VR10`` sets the version to Version 1.0. This is the default version. + - ``VR11`` sets the version to Version 1.1. + """ + + class BusBItemI3cDataThreshold(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:I3C:DATa:THReshold`` command. @@ -11840,12 +13017,14 @@ class BusBItemI3c(SCPICmdRead): Properties: - ``.clock``: The ``BUS:B:I3C:CLOCk`` command tree. - ``.data``: The ``BUS:B:I3C:DATa`` command tree. + - ``.version``: The ``BUS:B:I3C:VERSion`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) self._clock = BusBItemI3cClock(device, f"{self._cmd_syntax}:CLOCk") self._data = BusBItemI3cData(device, f"{self._cmd_syntax}:DATa") + self._version = BusBItemI3cVersion(device, f"{self._cmd_syntax}:VERSion") @property def clock(self) -> BusBItemI3cClock: @@ -11883,6 +13062,34 @@ def data(self) -> BusBItemI3cData: """ return self._data + @property + def version(self) -> BusBItemI3cVersion: + """Return the ``BUS:B:I3C:VERSion`` command. + + **Description:** + - This command sets or queries the version for the specified bus. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:I3C:VERSion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:VERSion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:VERSion value`` + command. + + **SCPI Syntax:** + + :: + + - BUS:B:I3C:VERSion {VR1} + - BUS:B:I3C:VERSion? + + **Info:** + - ``B`` is the number of the bus. + - ``VR10`` sets the version to Version 1.0. This is the default version. + - ``VR11`` sets the version to Version 1.1. + """ + return self._version + class BusBItemI2cRwinaddr(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:I2C:RWINADDR`` command. @@ -12346,7 +13553,7 @@ class BusBItemFlexrayThreshold(SCPICmdWrite, SCPICmdRead): """ -class BusBItemFlexraySourceTxrx(SCPICmdWrite): +class BusBItemFlexraySourceTxrx(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:FLEXray:SOUrce:TXRX`` command. **Description:** @@ -12354,6 +13561,9 @@ class BusBItemFlexraySourceTxrx(SCPICmdWrite): signal type is TXRX. The bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX value`` command. @@ -12362,6 +13572,7 @@ class BusBItemFlexraySourceTxrx(SCPICmdWrite): :: - BUS:B:FLEXray:SOUrce:TXRX {CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? **Info:** - ``B`` is the number of the bus. @@ -12409,6 +13620,9 @@ def txrx(self) -> BusBItemFlexraySourceTxrx: the signal type is TXRX. The bus is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX value`` command. @@ -12417,6 +13631,7 @@ def txrx(self) -> BusBItemFlexraySourceTxrx: :: - BUS:B:FLEXray:SOUrce:TXRX {CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? **Info:** - ``B`` is the number of the bus. @@ -15044,7 +16259,7 @@ class BusBItemEspiDatatwoPolarity(SCPICmdWrite, SCPICmdRead): """The ``BUS:B:ESPI:DATATWO:POLarity`` command. **Description:** - - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) polarity + - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) polarity for the specified bus. The bus is specified by x. **Usage:** @@ -15096,7 +16311,7 @@ def polarity(self) -> BusBItemEspiDatatwoPolarity: """Return the ``BUS:B:ESPI:DATATWO:POLarity`` command. **Description:** - - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) + - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) polarity for the specified bus. The bus is specified by x. **Usage:** @@ -22219,6 +23434,7 @@ class BusBItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.manchester``: The ``BUS:B:MANChester`` command tree. - ``.mdio``: The ``BUS:B:MDIO`` command tree. - ``.mil1553b``: The ``BUS:B:MIL1553B`` command tree. + - ``.nfc``: The ``BUS:B:NFC`` command tree. - ``.nrz``: The ``BUS:B:NRZ`` command tree. - ``.onewire``: The ``BUS:B:ONEWIRe`` command tree. - ``.parallel``: The ``BUS:B:PARallel`` command tree. @@ -22258,6 +23474,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._manchester = BusBItemManchester(device, f"{self._cmd_syntax}:MANChester") self._mdio = BusBItemMdio(device, f"{self._cmd_syntax}:MDIO") self._mil1553b = BusBItemMil1553b(device, f"{self._cmd_syntax}:MIL1553B") + self._nfc = BusBItemNfc(device, f"{self._cmd_syntax}:NFC") self._nrz = BusBItemNrz(device, f"{self._cmd_syntax}:NRZ") self._onewire = BusBItemOnewire(device, f"{self._cmd_syntax}:ONEWIRe") self._parallel = BusBItemParallel(device, f"{self._cmd_syntax}:PARallel") @@ -22602,6 +23819,7 @@ def i3c(self) -> BusBItemI3c: Sub-properties: - ``.clock``: The ``BUS:B:I3C:CLOCk`` command tree. - ``.data``: The ``BUS:B:I3C:DATa`` command tree. + - ``.version``: The ``BUS:B:I3C:VERSion`` command. """ return self._i3c @@ -22718,6 +23936,30 @@ def mil1553b(self) -> BusBItemMil1553b: """ return self._mil1553b + @property + def nfc(self) -> BusBItemNfc: + """Return the ``BUS:B:NFC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS:B:NFC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NFC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.applydemod``: The ``BUS:B:NFC:APPLYDEMod`` command. + - ``.bitrate``: The ``BUS:B:NFC:BITRate`` command. + - ``.cmd``: The ``BUS:B:NFC:CMD`` command tree. + - ``.command``: The ``BUS:B:NFC:COMMand`` command tree. + - ``.response``: The ``BUS:B:NFC:RESPonse`` command tree. + - ``.rsp``: The ``BUS:B:NFC:RSP`` command tree. + - ``.source``: The ``BUS:B:NFC:SOUrce`` command. + - ``.start``: The ``BUS:B:NFC:START`` command tree. + - ``.std``: The ``BUS:B:NFC:STD`` command. + - ``.tolerance``: The ``BUS:B:NFC:TOLerance`` command. + - ``.transition``: The ``BUS:B:NFC:TRANsition`` command tree. + """ + return self._nfc + @property def nrz(self) -> BusBItemNrz: """Return the ``BUS:B:NRZ`` command tree. @@ -22791,7 +24033,9 @@ def psifive(self) -> BusBItemPsifive: - ``B`` is the number of the bus. Sub-properties: + - ``.bitperiod``: The ``BUS:B:PSIFIVe:BITPERiod`` command. - ``.bitrate``: The ``BUS:B:PSIFIVe:BITRate`` command. + - ``.comm``: The ``BUS:B:PSIFIVe:COMM`` command tree. - ``.dataa``: The ``BUS:B:PSIFIVe:DATAA`` command. - ``.datab``: The ``BUS:B:PSIFIVe:DATAB`` command. - ``.dataformat``: The ``BUS:B:PSIFIVe:DATAFORMat`` command. @@ -22819,6 +24063,7 @@ def rs232c(self) -> BusBItemRs232c: - ``B`` is the number of the bus. Sub-properties: + - ``.bitorder``: The ``BUS:B:RS232C:BITORDer`` command. - ``.bitrate``: The ``BUS:B:RS232C:BITRate`` command. - ``.databits``: The ``BUS:B:RS232C:DATABits`` command. - ``.delimiter``: The ``BUS:B:RS232C:DELIMiter`` command. @@ -23100,7 +24345,6 @@ class Bus(SCPICmdRead): Properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -23111,9 +24355,6 @@ def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "BUS") self._b: Dict[int, BusBItem] = DefaultDictPassKeyToFactory( lambda x: BusBItem(device, f"{self._cmd_syntax}:B{x}") ) - self._bpsifive: Dict[int, BusBpsifiveItem] = DefaultDictPassKeyToFactory( - lambda x: BusBpsifiveItem(device, f"{self._cmd_syntax}:B{x}PSIFIVe") - ) self._delete = BusDelete(device, f"{self._cmd_syntax}:DELete") self._list = BusList(device, f"{self._cmd_syntax}:LIST") @@ -23173,6 +24414,7 @@ def b(self) -> Dict[int, BusBItem]: - ``.manchester``: The ``BUS:B:MANChester`` command tree. - ``.mdio``: The ``BUS:B:MDIO`` command tree. - ``.mil1553b``: The ``BUS:B:MIL1553B`` command tree. + - ``.nfc``: The ``BUS:B:NFC`` command tree. - ``.nrz``: The ``BUS:B:NRZ`` command tree. - ``.onewire``: The ``BUS:B:ONEWIRe`` command tree. - ``.parallel``: The ``BUS:B:PARallel`` command tree. @@ -23191,24 +24433,6 @@ def b(self) -> Dict[int, BusBItem]: """ return self._b - @property - def bpsifive(self) -> Dict[int, BusBpsifiveItem]: - """Return the ``BUS:BPSIFIVe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``BUS:BPSIFIVe?`` query. - - Using the ``.verify(value)`` method will send the ``BUS:BPSIFIVe?`` query and raise - an AssertionError if the returned value does not match ``value``. - - **Info:** - - ``B`` is the number of the bus. - - Sub-properties: - - ``.bitperiod``: The ``BUS:BPSIFIVe:BITPERiod`` command. - - ``.comm``: The ``BUS:BPSIFIVe:COMM`` command tree. - """ - return self._bpsifive - @property def delete(self) -> BusDelete: """Return the ``BUS:DELete`` command. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/callouts.py b/src/tm_devices/commands/_c3g63_lpdmso/callouts.py new file mode 100644 index 00000000..1530819d --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/callouts.py @@ -0,0 +1,935 @@ +"""The callouts commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - CALLOUTS:ADDNew + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? +""" +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class CalloutsCalloutItemType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + + **Info:** + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + + +class CalloutsCalloutItemText(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TEXT`` command. + + **Description:** + - This command sets or queries the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + + **Info:** + - ```` specifies the callout text. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + **Description:** + - This command sets or queries the underline state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + + **Info:** + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + + +class CalloutsCalloutItemFontType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + + **Info:** + - ```` specifies the type of font for the callout text. The available font types + include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans + Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontSize(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + + **Info:** + - ```` specifies the font size in points. + """ + + +class CalloutsCalloutItemFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + **Description:** + - This command sets or queries the italic state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + + **Info:** + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + + +class CalloutsCalloutItemFontBold(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + + **Info:** + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + + +class CalloutsCalloutItemFont(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = CalloutsCalloutItemFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = CalloutsCalloutItemFontItalic(device, f"{self._cmd_syntax}:ITALIC") + self._size = CalloutsCalloutItemFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = CalloutsCalloutItemFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = CalloutsCalloutItemFontUnderline(device, f"{self._cmd_syntax}:UNDERLine") + + @property + def bold(self) -> CalloutsCalloutItemFontBold: + """Return the ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:BOLD value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + + **Info:** + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + return self._bold + + @property + def italic(self) -> CalloutsCalloutItemFontItalic: + """Return the ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + **Description:** + - This command sets or queries the italic state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:ITALIC value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + + **Info:** + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + return self._italic + + @property + def size(self) -> CalloutsCalloutItemFontSize: + """Return the ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:SIZE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + + **Info:** + - ```` specifies the font size in points. + """ + return self._size + + @property + def type(self) -> CalloutsCalloutItemFontType: + """Return the ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:TYPE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + + **Info:** + - ```` specifies the type of font for the callout text. The available font + types include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, + Monospace, Sans Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + return self._type + + @property + def underline(self) -> CalloutsCalloutItemFontUnderline: + """Return the ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + **Description:** + - This command sets or queries the underline state of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + + **Info:** + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + return self._underline + + +class CalloutsCalloutItemDisplaypositionY(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + **Description:** + - This command sets or queries vertical display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + + **Info:** + - ```` specifies the callout vertical display position. + """ + + +class CalloutsCalloutItemDisplaypositionX(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + **Description:** + - This command sets or queries horizontal display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + + **Info:** + - ```` specifies the callout horizontal display position. + """ + + +class CalloutsCalloutItemDisplayposition(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._x = CalloutsCalloutItemDisplaypositionX(device, f"{self._cmd_syntax}:X") + self._y = CalloutsCalloutItemDisplaypositionY(device, f"{self._cmd_syntax}:Y") + + @property + def x(self) -> CalloutsCalloutItemDisplaypositionX: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + **Description:** + - This command sets or queries horizontal display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + + **Info:** + - ```` specifies the callout horizontal display position. + """ + return self._x + + @property + def y(self) -> CalloutsCalloutItemDisplaypositionY: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + **Description:** + - This command sets or queries vertical display position of the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + + **Info:** + - ```` specifies the callout vertical display position. + """ + return self._y + + +class CalloutsCalloutItemColor(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:COLOR`` command. + + **Description:** + - This command sets or queries the text color of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + + **Info:** + - ```` specifies the callout text color using hexadecimal color values. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemBookmarkXpos(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + **Description:** + - This command sets or queries the X-Position of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + + **Info:** + - ```` specifies the location of the bookmark linked to the source waveform in X-axis. + """ + + +class CalloutsCalloutItemBookmarkSource(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + + **Info:** + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + + +class CalloutsCalloutItemBookmark(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = CalloutsCalloutItemBookmarkSource(device, f"{self._cmd_syntax}:SOURCE") + self._xpos = CalloutsCalloutItemBookmarkXpos(device, f"{self._cmd_syntax}:XPOS") + + @property + def source(self) -> CalloutsCalloutItemBookmarkSource: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + + **Info:** + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + return self._source + + @property + def xpos(self) -> CalloutsCalloutItemBookmarkXpos: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + **Description:** + - This command sets or queries the X-Position of the Bookmark callout type. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + + **Info:** + - ```` specifies the location of the bookmark linked to the source waveform in + X-axis. + """ + return self._xpos + + +class CalloutsCalloutItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``CALLOUTS:CALLOUT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bookmark = CalloutsCalloutItemBookmark(device, f"{self._cmd_syntax}:BOOKMark") + self._color = CalloutsCalloutItemColor(device, f"{self._cmd_syntax}:COLOR") + self._displayposition = CalloutsCalloutItemDisplayposition( + device, f"{self._cmd_syntax}:DISPLAYPOSition" + ) + self._font = CalloutsCalloutItemFont(device, f"{self._cmd_syntax}:FONT") + self._text = CalloutsCalloutItemText(device, f"{self._cmd_syntax}:TEXT") + self._type = CalloutsCalloutItemType(device, f"{self._cmd_syntax}:TYPE") + + @property + def bookmark(self) -> CalloutsCalloutItemBookmark: + """Return the ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + return self._bookmark + + @property + def color(self) -> CalloutsCalloutItemColor: + """Return the ``CALLOUTS:CALLOUT:COLOR`` command. + + **Description:** + - This command sets or queries the text color of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + + **Info:** + - ```` specifies the callout text color using hexadecimal color values. + """ + return self._color + + @property + def displayposition(self) -> CalloutsCalloutItemDisplayposition: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + return self._displayposition + + @property + def font(self) -> CalloutsCalloutItemFont: + """Return the ``CALLOUTS:CALLOUT:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + return self._font + + @property + def text(self) -> CalloutsCalloutItemText: + """Return the ``CALLOUTS:CALLOUT:TEXT`` command. + + **Description:** + - This command sets or queries the callout text. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + + **Info:** + - ```` specifies the callout text. + """ + return self._text + + @property + def type(self) -> CalloutsCalloutItemType: + """Return the ``CALLOUTS:CALLOUT:TYPE`` command. + + **Description:** + - This command sets or queries type of the callout. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + + **Info:** + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + return self._type + + +class CalloutsAddnew(SCPICmdWrite): + """The ``CALLOUTS:ADDNew`` command. + + **Description:** + - This command adds the specified callout. A Note is the default callout type. + + **Usage:** + - Using the ``.write(value)`` method will send the ``CALLOUTS:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:ADDNew + + **Info:** + - ```` specifies the callout. The argument is of the form 'CALLOUT', where + is a number value ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Callouts(SCPICmdRead): + """The ``CALLOUTS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "CALLOUTS") -> None: + super().__init__(device, cmd_syntax) + self._addnew = CalloutsAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._callout: Dict[int, CalloutsCalloutItem] = DefaultDictPassKeyToFactory( + lambda x: CalloutsCalloutItem(device, f"{self._cmd_syntax}:CALLOUT{x}") + ) + + @property + def addnew(self) -> CalloutsAddnew: + """Return the ``CALLOUTS:ADDNew`` command. + + **Description:** + - This command adds the specified callout. A Note is the default callout type. + + **Usage:** + - Using the ``.write(value)`` method will send the ``CALLOUTS:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - CALLOUTS:ADDNew + + **Info:** + - ```` specifies the callout. The argument is of the form 'CALLOUT', where + is a number value ≥ 1. + """ + return self._addnew + + @property + def callout(self) -> Dict[int, CalloutsCalloutItem]: + """Return the ``CALLOUTS:CALLOUT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + return self._callout diff --git a/src/tm_devices/commands/_c3g63_lpdmso/ch.py b/src/tm_devices/commands/_c3g63_lpdmso/ch.py index 680581ae..c125bdde 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/ch.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/ch.py @@ -97,19 +97,33 @@ - CH:VTERm:BIAS? - CH? - CH_D:LABel:COLor + - CH_D:LABel:COLor? - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? """ from typing import Dict, Optional, TYPE_CHECKING @@ -127,7 +141,7 @@ from tm_devices.drivers.pi.pi_device import PIDevice -class ChannelDallLabelName(SCPICmdWrite): +class ChannelDallLabelName(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:NAMe`` command. **Description:** @@ -135,6 +149,9 @@ class ChannelDallLabelName(SCPICmdWrite): specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:NAMe value`` command. **SCPI Syntax:** @@ -142,6 +159,7 @@ class ChannelDallLabelName(SCPICmdWrite): :: - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? **Info:** - ``CH`` is the channel number. @@ -151,7 +169,7 @@ class ChannelDallLabelName(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class ChannelDallLabelFontUnderline(SCPICmdWrite): +class ChannelDallLabelFontUnderline(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:FONT:UNDERline`` command. **Description:** @@ -159,6 +177,9 @@ class ChannelDallLabelFontUnderline(SCPICmdWrite): channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline value`` command. @@ -167,6 +188,7 @@ class ChannelDallLabelFontUnderline(SCPICmdWrite): :: - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? **Info:** - ``CH`` is the channel number. @@ -176,7 +198,7 @@ class ChannelDallLabelFontUnderline(SCPICmdWrite): """ -class ChannelDallLabelFontType(SCPICmdWrite): +class ChannelDallLabelFontType(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:FONT:TYPE`` command. **Description:** @@ -184,6 +206,9 @@ class ChannelDallLabelFontType(SCPICmdWrite): or Times New Roman. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE value`` command. @@ -192,6 +217,7 @@ class ChannelDallLabelFontType(SCPICmdWrite): :: - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? **Info:** - ``CH`` is the channel number. @@ -201,7 +227,7 @@ class ChannelDallLabelFontType(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class ChannelDallLabelFontSize(SCPICmdWrite): +class ChannelDallLabelFontSize(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:FONT:SIZE`` command. **Description:** @@ -209,6 +235,9 @@ class ChannelDallLabelFontSize(SCPICmdWrite): specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE value`` command. @@ -217,6 +246,7 @@ class ChannelDallLabelFontSize(SCPICmdWrite): :: - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? **Info:** - ``CH`` is the channel number. @@ -224,7 +254,7 @@ class ChannelDallLabelFontSize(SCPICmdWrite): """ -class ChannelDallLabelFontItalic(SCPICmdWrite): +class ChannelDallLabelFontItalic(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:FONT:ITALic`` command. **Description:** @@ -232,6 +262,9 @@ class ChannelDallLabelFontItalic(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic value`` command. @@ -240,6 +273,7 @@ class ChannelDallLabelFontItalic(SCPICmdWrite): :: - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? **Info:** - ``CH`` is the channel number. @@ -249,7 +283,7 @@ class ChannelDallLabelFontItalic(SCPICmdWrite): """ -class ChannelDallLabelFontBold(SCPICmdWrite): +class ChannelDallLabelFontBold(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:FONT:BOLD`` command. **Description:** @@ -257,6 +291,9 @@ class ChannelDallLabelFontBold(SCPICmdWrite): specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD value`` command. @@ -265,6 +302,7 @@ class ChannelDallLabelFontBold(SCPICmdWrite): :: - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? **Info:** - ``CH`` is the channel number. @@ -310,6 +348,9 @@ def bold(self) -> ChannelDallLabelFontBold: channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD value`` command. @@ -318,6 +359,7 @@ def bold(self) -> ChannelDallLabelFontBold: :: - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? **Info:** - ``CH`` is the channel number. @@ -336,6 +378,9 @@ def italic(self) -> ChannelDallLabelFontItalic: channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic value`` command. @@ -344,6 +389,7 @@ def italic(self) -> ChannelDallLabelFontItalic: :: - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? **Info:** - ``CH`` is the channel number. @@ -362,6 +408,9 @@ def size(self) -> ChannelDallLabelFontSize: is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE value`` command. @@ -370,6 +419,7 @@ def size(self) -> ChannelDallLabelFontSize: :: - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? **Info:** - ``CH`` is the channel number. @@ -386,6 +436,9 @@ def type(self) -> ChannelDallLabelFontType: Arial or Times New Roman. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE value`` command. @@ -394,6 +447,7 @@ def type(self) -> ChannelDallLabelFontType: :: - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? **Info:** - ``CH`` is the channel number. @@ -410,6 +464,10 @@ def underline(self) -> ChannelDallLabelFontUnderline: channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline value`` command. @@ -418,6 +476,7 @@ def underline(self) -> ChannelDallLabelFontUnderline: :: - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? **Info:** - ``CH`` is the channel number. @@ -428,7 +487,7 @@ def underline(self) -> ChannelDallLabelFontUnderline: return self._underline -class ChannelDallLabelColor(SCPICmdWrite): +class ChannelDallLabelColor(SCPICmdWrite, SCPICmdRead): """The ``CH_DALL:LABel:COLor`` command. **Description:** @@ -436,6 +495,9 @@ class ChannelDallLabelColor(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:COLor value`` command. **SCPI Syntax:** @@ -443,6 +505,7 @@ class ChannelDallLabelColor(SCPICmdWrite): :: - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? **Info:** - ``CH`` is the channel number. @@ -485,6 +548,9 @@ def color(self) -> ChannelDallLabelColor: channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:COLor value`` command. @@ -493,6 +559,7 @@ def color(self) -> ChannelDallLabelColor: :: - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? **Info:** - ``CH`` is the channel number. @@ -531,6 +598,9 @@ def name(self) -> ChannelDallLabelName: specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:NAMe value`` command. @@ -539,6 +609,7 @@ def name(self) -> ChannelDallLabelName: :: - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? **Info:** - ``CH`` is the channel number. @@ -586,13 +657,16 @@ def label(self) -> ChannelDallLabel: return self._label -class ChannelDigitalBitLabelName(SCPICmdWrite): +class ChannelDigitalBitLabelName(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:NAMe`` command. **Description:** - Sets or queries the label of the specified digital bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:NAMe value`` command. **SCPI Syntax:** @@ -600,6 +674,7 @@ class ChannelDigitalBitLabelName(SCPICmdWrite): :: - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? **Info:** - ``CH`` is the channel number. @@ -609,7 +684,7 @@ class ChannelDigitalBitLabelName(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite): +class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:FONT:UNDERline`` command. **Description:** @@ -617,6 +692,9 @@ class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite): bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:UNDERline value`` command. @@ -625,6 +703,7 @@ class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite): :: - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? **Info:** - ``CH`` is the channel number. @@ -634,7 +713,7 @@ class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite): """ -class ChannelDigitalBitLabelFontType(SCPICmdWrite): +class ChannelDigitalBitLabelFontType(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:FONT:TYPE`` command. **Description:** @@ -642,6 +721,9 @@ class ChannelDigitalBitLabelFontType(SCPICmdWrite): as Arial or Times New Roman. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:TYPE value`` command. @@ -650,6 +732,7 @@ class ChannelDigitalBitLabelFontType(SCPICmdWrite): :: - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? **Info:** - ``CH`` is the channel number. @@ -659,7 +742,7 @@ class ChannelDigitalBitLabelFontType(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class ChannelDigitalBitLabelFontSize(SCPICmdWrite): +class ChannelDigitalBitLabelFontSize(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:FONT:SIZE`` command. **Description:** @@ -667,6 +750,9 @@ class ChannelDigitalBitLabelFontSize(SCPICmdWrite): channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:SIZE value`` command. @@ -675,6 +761,7 @@ class ChannelDigitalBitLabelFontSize(SCPICmdWrite): :: - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? **Info:** - ``CH`` is the channel number. @@ -682,7 +769,7 @@ class ChannelDigitalBitLabelFontSize(SCPICmdWrite): """ -class ChannelDigitalBitLabelFontItalic(SCPICmdWrite): +class ChannelDigitalBitLabelFontItalic(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:FONT:ITALic`` command. **Description:** @@ -690,6 +777,9 @@ class ChannelDigitalBitLabelFontItalic(SCPICmdWrite): The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:ITALic value`` command. @@ -698,6 +788,7 @@ class ChannelDigitalBitLabelFontItalic(SCPICmdWrite): :: - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? **Info:** - ``CH`` is the channel number. @@ -707,7 +798,7 @@ class ChannelDigitalBitLabelFontItalic(SCPICmdWrite): """ -class ChannelDigitalBitLabelFontBold(SCPICmdWrite): +class ChannelDigitalBitLabelFontBold(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:FONT:BOLD`` command. **Description:** @@ -715,6 +806,9 @@ class ChannelDigitalBitLabelFontBold(SCPICmdWrite): channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:BOLD value`` command. @@ -723,6 +817,7 @@ class ChannelDigitalBitLabelFontBold(SCPICmdWrite): :: - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? **Info:** - ``CH`` is the channel number. @@ -770,6 +865,9 @@ def bold(self) -> ChannelDigitalBitLabelFontBold: The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:BOLD value`` command. @@ -778,6 +876,7 @@ def bold(self) -> ChannelDigitalBitLabelFontBold: :: - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? **Info:** - ``CH`` is the channel number. @@ -796,6 +895,9 @@ def italic(self) -> ChannelDigitalBitLabelFontItalic: bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:ITALic value`` command. @@ -804,6 +906,7 @@ def italic(self) -> ChannelDigitalBitLabelFontItalic: :: - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? **Info:** - ``CH`` is the channel number. @@ -822,6 +925,9 @@ def size(self) -> ChannelDigitalBitLabelFontSize: The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:SIZE value`` command. @@ -830,6 +936,7 @@ def size(self) -> ChannelDigitalBitLabelFontSize: :: - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? **Info:** - ``CH`` is the channel number. @@ -846,6 +953,9 @@ def type(self) -> ChannelDigitalBitLabelFontType: such as Arial or Times New Roman. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:TYPE value`` command. @@ -854,6 +964,7 @@ def type(self) -> ChannelDigitalBitLabelFontType: :: - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? **Info:** - ``CH`` is the channel number. @@ -870,6 +981,10 @@ def underline(self) -> ChannelDigitalBitLabelFontUnderline: bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:UNDERline value`` command. @@ -878,6 +993,7 @@ def underline(self) -> ChannelDigitalBitLabelFontUnderline: :: - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? **Info:** - ``CH`` is the channel number. @@ -888,7 +1004,7 @@ def underline(self) -> ChannelDigitalBitLabelFontUnderline: return self._underline -class ChannelDigitalBitLabelColor(SCPICmdWrite): +class ChannelDigitalBitLabelColor(SCPICmdWrite, SCPICmdRead): """The ``CH_D:LABel:COLor`` command. **Description:** @@ -896,6 +1012,9 @@ class ChannelDigitalBitLabelColor(SCPICmdWrite): channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:COLor value`` command. **SCPI Syntax:** @@ -903,6 +1022,7 @@ class ChannelDigitalBitLabelColor(SCPICmdWrite): :: - CH_D:LABel:COLor + - CH_D:LABel:COLor? **Info:** - ``CH`` is the channel number. @@ -945,6 +1065,9 @@ def color(self) -> ChannelDigitalBitLabelColor: channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:COLor value`` command. @@ -953,6 +1076,7 @@ def color(self) -> ChannelDigitalBitLabelColor: :: - CH_D:LABel:COLor + - CH_D:LABel:COLor? **Info:** - ``CH`` is the channel number. @@ -990,6 +1114,9 @@ def name(self) -> ChannelDigitalBitLabelName: - Sets or queries the label of the specified digital bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``CH_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``CH_D:LABel:NAMe value`` command. @@ -998,6 +1125,7 @@ def name(self) -> ChannelDigitalBitLabelName: :: - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? **Info:** - ``CH`` is the channel number. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/diag.py b/src/tm_devices/commands/_c3g63_lpdmso/diag.py new file mode 100644 index 00000000..1840f211 --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/diag.py @@ -0,0 +1,532 @@ +"""The diag commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + - DIAg:LOOP:OPTion? + - DIAg:LOOP:STOP + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + - DIAg:RESUlt:FLAg? + - DIAg:RESUlt:LOG? + - DIAg:RESUlt? + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + - DIAg:STATE {EXECute|ABOrt} +""" +from typing import Optional, TYPE_CHECKING + +from .._helpers import SCPICmdRead, SCPICmdWrite, SCPICmdWriteNoArguments + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class DiagState(SCPICmdWrite): + """The ``DIAg:STATE`` command. + + **Description:** + - This command starts or aborts Self Test. Abort happens after group under test completes. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:STATE {EXECute|ABOrt} + + **Info:** + - ``EXECUTE`` starts execution of the diagnostics. + - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal + operating state. + """ + + +class DiagSelect(SCPICmdWrite): + """The ``DIAg:SELect`` command. + + **Description:** + - This command selects an available diagnostic area. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + + **Info:** + - ``ALL`` selects all diagnostic areas. + - ``IO`` selects the IO group. + - ``ANALOG`` selects the ANALOG diagnostic area. + - ``SYSTEM`` selects the SYSTEM diagnostic area. + - ``ASIC`` selects the ASIC diagnostic area. + - ``ACQ`` selects the ACQ diagnostic area. + - ``SIGNAL`` selects the SIGNAL diagnostic area. + - ``MEMORY`` selects the MEMORY diagnostic area. + """ + + +class DiagResultLog(SCPICmdRead): + """The ``DIAg:RESUlt:LOG`` command. + + **Description:** + - This query returns the test Pass/Fail status of each diagnostic area. It does not return + the overall status. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:LOG? + """ + + +class DiagResultFlag(SCPICmdRead): + """The ``DIAg:RESUlt:FLAg`` command. + + **Description:** + - This query returns the status of the diagnostic test area that has been selected. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:FLAg? + """ + + +class DiagResult(SCPICmdRead): + """The ``DIAg:RESUlt`` command. + + **Description:** + - This query returns both the overall diagnostics test results and the results of each + individual test area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt? + + Properties: + - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. + - ``.log``: The ``DIAg:RESUlt:LOG`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._flag = DiagResultFlag(device, f"{self._cmd_syntax}:FLAg") + self._log = DiagResultLog(device, f"{self._cmd_syntax}:LOG") + + @property + def flag(self) -> DiagResultFlag: + """Return the ``DIAg:RESUlt:FLAg`` command. + + **Description:** + - This query returns the status of the diagnostic test area that has been selected. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:FLAg? + """ + return self._flag + + @property + def log(self) -> DiagResultLog: + """Return the ``DIAg:RESUlt:LOG`` command. + + **Description:** + - This query returns the test Pass/Fail status of each diagnostic area. It does not + return the overall status. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt:LOG? + """ + return self._log + + +class DiagMode(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:MODe`` command. + + **Description:** + - This command sets or queries the diagnostics mode. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + + **Info:** + - ``POST`` specifies the power on self test diagnostics. + - ``EXTENDED`` specifies the extended diagnostics. + - ``SERVICE`` specifies the service diagnostics. + """ + + +class DiagLoopStop(SCPICmdWriteNoArguments): + """The ``DIAg:LOOP:STOP`` command. + + **Description:** + - Request that diagnostics stop looping. + + **Usage:** + - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:STOP + """ + + +class DiagLoopOptionNtimes(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:LOOP:OPTion:NTIMes`` command. + + **Description:** + - This command sets or queries how many loops to run, if N-times is being used. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` + command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + + **Info:** + - ```` is how many loops to run. + """ + + +class DiagLoopOption(SCPICmdWrite, SCPICmdRead): + """The ``DIAg:LOOP:OPTion`` command. + + **Description:** + - This command sets or queries the type of looping desired. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion? + + **Info:** + - ``Fail`` - run until a failure is found, then halt. + - ``Once`` - run through one loop. + - ``Always`` - run forever. + - ``Onfail`` - run until a failure is found, then loop on it. + - ``Ntimes`` - run n number of loops. + + Properties: + - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ntimes = DiagLoopOptionNtimes(device, f"{self._cmd_syntax}:NTIMes") + + @property + def ntimes(self) -> DiagLoopOptionNtimes: + """Return the ``DIAg:LOOP:OPTion:NTIMes`` command. + + **Description:** + - This command sets or queries how many loops to run, if N-times is being used. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` + command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion:NTIMes + - DIAg:LOOP:OPTion:NTIMes? + + **Info:** + - ```` is how many loops to run. + """ + return self._ntimes + + +class DiagLoop(SCPICmdRead): + """The ``DIAg:LOOP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.option``: The ``DIAg:LOOP:OPTion`` command. + - ``.stop``: The ``DIAg:LOOP:STOP`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._option = DiagLoopOption(device, f"{self._cmd_syntax}:OPTion") + self._stop = DiagLoopStop(device, f"{self._cmd_syntax}:STOP") + + @property + def option(self) -> DiagLoopOption: + """Return the ``DIAg:LOOP:OPTion`` command. + + **Description:** + - This command sets or queries the type of looping desired. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} + - DIAg:LOOP:OPTion? + + **Info:** + - ``Fail`` - run until a failure is found, then halt. + - ``Once`` - run through one loop. + - ``Always`` - run forever. + - ``Onfail`` - run until a failure is found, then loop on it. + - ``Ntimes`` - run n number of loops. + + Sub-properties: + - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. + """ + return self._option + + @property + def stop(self) -> DiagLoopStop: + """Return the ``DIAg:LOOP:STOP`` command. + + **Description:** + - Request that diagnostics stop looping. + + **Usage:** + - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. + + **SCPI Syntax:** + + :: + + - DIAg:LOOP:STOP + """ + return self._stop + + +class Diag(SCPICmdRead): + """The ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.loop``: The ``DIAg:LOOP`` command tree. + - ``.mode``: The ``DIAg:MODe`` command. + - ``.result``: The ``DIAg:RESUlt`` command. + - ``.select``: The ``DIAg:SELect`` command. + - ``.state``: The ``DIAg:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "DIAg") -> None: + super().__init__(device, cmd_syntax) + self._loop = DiagLoop(device, f"{self._cmd_syntax}:LOOP") + self._mode = DiagMode(device, f"{self._cmd_syntax}:MODe") + self._result = DiagResult(device, f"{self._cmd_syntax}:RESUlt") + self._select = DiagSelect(device, f"{self._cmd_syntax}:SELect") + self._state = DiagState(device, f"{self._cmd_syntax}:STATE") + + @property + def loop(self) -> DiagLoop: + """Return the ``DIAg:LOOP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.option``: The ``DIAg:LOOP:OPTion`` command. + - ``.stop``: The ``DIAg:LOOP:STOP`` command. + """ + return self._loop + + @property + def mode(self) -> DiagMode: + """Return the ``DIAg:MODe`` command. + + **Description:** + - This command sets or queries the diagnostics mode. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:MODe {POST|EXTENDED|SERVICE} + - DIAg:MODe? + + **Info:** + - ``POST`` specifies the power on self test diagnostics. + - ``EXTENDED`` specifies the extended diagnostics. + - ``SERVICE`` specifies the service diagnostics. + """ + return self._mode + + @property + def result(self) -> DiagResult: + """Return the ``DIAg:RESUlt`` command. + + **Description:** + - This query returns both the overall diagnostics test results and the results of each + individual test area. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DIAg:RESUlt? + + Sub-properties: + - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. + - ``.log``: The ``DIAg:RESUlt:LOG`` command. + """ + return self._result + + @property + def select(self) -> DiagSelect: + """Return the ``DIAg:SELect`` command. + + **Description:** + - This command selects an available diagnostic area. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} + + **Info:** + - ``ALL`` selects all diagnostic areas. + - ``IO`` selects the IO group. + - ``ANALOG`` selects the ANALOG diagnostic area. + - ``SYSTEM`` selects the SYSTEM diagnostic area. + - ``ASIC`` selects the ASIC diagnostic area. + - ``ACQ`` selects the ACQ diagnostic area. + - ``SIGNAL`` selects the SIGNAL diagnostic area. + - ``MEMORY`` selects the MEMORY diagnostic area. + """ + return self._select + + @property + def state(self) -> DiagState: + """Return the ``DIAg:STATE`` command. + + **Description:** + - This command starts or aborts Self Test. Abort happens after group under test + completes. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. + + **SCPI Syntax:** + + :: + + - DIAg:STATE {EXECute|ABOrt} + + **Info:** + - ``EXECUTE`` starts execution of the diagnostics. + - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal + operating state. + """ + return self._state diff --git a/src/tm_devices/commands/_c3g63_lpdmso/display.py b/src/tm_devices/commands/_c3g63_lpdmso/display.py index 57be5fa9..710b1abc 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/display.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/display.py @@ -20,10 +20,15 @@ - DISplay:COLors {NORMal|INVERTed} - DISplay:COLors? - DISplay:GLObal:B:STATE {|OFF|ON} + - DISplay:GLObal:B:STATE? - DISplay:GLObal:CH:STATE {|OFF|ON} + - DISplay:GLObal:CH:STATE? - DISplay:GLObal:MATH:STATE {|OFF|ON} + - DISplay:GLObal:MATH:STATE? - DISplay:GLObal:PLOT:STATE {|OFF|ON} + - DISplay:GLObal:PLOT:STATE? - DISplay:GLObal:REF:STATE {|OFF|ON} + - DISplay:GLObal:REF:STATE? - DISplay:INTENSITy:BACKLight {LOW|MEDium|HIGH} - DISplay:INTENSITy:BACKLight:AUTODim:ENAble {ON|OFF} - DISplay:INTENSITy:BACKLight:AUTODim:ENAble? @@ -15841,7 +15846,7 @@ def backlight(self) -> DisplayIntensityBacklight: return self._backlight -class DisplayGlobalRefItemState(SCPICmdWrite): +class DisplayGlobalRefItemState(SCPICmdWrite, SCPICmdRead): """The ``DISplay:GLObal:REF:STATE`` command. **Description:** @@ -15852,6 +15857,9 @@ class DisplayGlobalRefItemState(SCPICmdWrite): already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:REF:STATE value`` command. @@ -15860,6 +15868,7 @@ class DisplayGlobalRefItemState(SCPICmdWrite): :: - DISplay:GLObal:REF:STATE {|OFF|ON} + - DISplay:GLObal:REF:STATE? **Info:** - ``REF`` is the Reference waveform number. @@ -15901,6 +15910,9 @@ def state(self) -> DisplayGlobalRefItemState: waveform is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:REF:STATE value`` command. @@ -15909,6 +15921,7 @@ def state(self) -> DisplayGlobalRefItemState: :: - DISplay:GLObal:REF:STATE {|OFF|ON} + - DISplay:GLObal:REF:STATE? **Info:** - ``REF`` is the Reference waveform number. @@ -15920,7 +15933,7 @@ def state(self) -> DisplayGlobalRefItemState: return self._state -class DisplayGlobalPlotItemState(SCPICmdWrite): +class DisplayGlobalPlotItemState(SCPICmdWrite, SCPICmdRead): """The ``DISplay:GLObal:PLOT:STATE`` command. **Description:** @@ -15930,6 +15943,9 @@ class DisplayGlobalPlotItemState(SCPICmdWrite): waveform view. This command only works if the specified plot is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:PLOT:STATE value`` command. @@ -15938,6 +15954,7 @@ class DisplayGlobalPlotItemState(SCPICmdWrite): :: - DISplay:GLObal:PLOT:STATE {|OFF|ON} + - DISplay:GLObal:PLOT:STATE? **Info:** - ``PLOT`` is the plot number. @@ -15979,6 +15996,9 @@ def state(self) -> DisplayGlobalPlotItemState: already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:PLOT:STATE value`` command. @@ -15987,6 +16007,7 @@ def state(self) -> DisplayGlobalPlotItemState: :: - DISplay:GLObal:PLOT:STATE {|OFF|ON} + - DISplay:GLObal:PLOT:STATE? **Info:** - ``PLOT`` is the plot number. @@ -15998,7 +16019,7 @@ def state(self) -> DisplayGlobalPlotItemState: return self._state -class DisplayGlobalMathItemState(SCPICmdWrite): +class DisplayGlobalMathItemState(SCPICmdWrite, SCPICmdRead): """The ``DISplay:GLObal:MATH:STATE`` command. **Description:** @@ -16008,6 +16029,9 @@ class DisplayGlobalMathItemState(SCPICmdWrite): command only works if the specified math waveform is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:MATH:STATE value`` command. @@ -16016,6 +16040,7 @@ class DisplayGlobalMathItemState(SCPICmdWrite): :: - DISplay:GLObal:MATH:STATE {|OFF|ON} + - DISplay:GLObal:MATH:STATE? **Info:** - ```` = 0 disables the display of the specified math; any other value enables display @@ -16053,6 +16078,9 @@ def state(self) -> DisplayGlobalMathItemState: already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:MATH:STATE value`` command. @@ -16061,6 +16089,7 @@ def state(self) -> DisplayGlobalMathItemState: :: - DISplay:GLObal:MATH:STATE {|OFF|ON} + - DISplay:GLObal:MATH:STATE? **Info:** - ```` = 0 disables the display of the specified math; any other value enables @@ -16071,7 +16100,7 @@ def state(self) -> DisplayGlobalMathItemState: return self._state -class DisplayGlobalChannelState(SCPICmdWrite): +class DisplayGlobalChannelState(SCPICmdWrite, SCPICmdRead): """The ``DISplay:GLObal:CH:STATE`` command. **Description:** @@ -16082,6 +16111,9 @@ class DisplayGlobalChannelState(SCPICmdWrite): already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:CH:STATE value`` command. @@ -16090,6 +16122,7 @@ class DisplayGlobalChannelState(SCPICmdWrite): :: - DISplay:GLObal:CH:STATE {|OFF|ON} + - DISplay:GLObal:CH:STATE? **Info:** - ```` = 0 disables the display of the specified channel; any other value enables @@ -16127,6 +16160,9 @@ def state(self) -> DisplayGlobalChannelState: channel is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:CH:STATE value`` command. @@ -16135,6 +16171,7 @@ def state(self) -> DisplayGlobalChannelState: :: - DISplay:GLObal:CH:STATE {|OFF|ON} + - DISplay:GLObal:CH:STATE? **Info:** - ```` = 0 disables the display of the specified channel; any other value enables @@ -16145,7 +16182,7 @@ def state(self) -> DisplayGlobalChannelState: return self._state -class DisplayGlobalBItemState(SCPICmdWrite): +class DisplayGlobalBItemState(SCPICmdWrite, SCPICmdRead): """The ``DISplay:GLObal:B:STATE`` command. **Description:** @@ -16155,6 +16192,9 @@ class DisplayGlobalBItemState(SCPICmdWrite): command only works if the specified bus is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:B:STATE value`` command. @@ -16163,6 +16203,7 @@ class DisplayGlobalBItemState(SCPICmdWrite): :: - DISplay:GLObal:B:STATE {|OFF|ON} + - DISplay:GLObal:B:STATE? **Info:** - ```` = 0 disables the display of the specified bus; any other value enables display @@ -16199,6 +16240,9 @@ def state(self) -> DisplayGlobalBItemState: waveform view. This command only works if the specified bus is added already. **Usage:** + - Using the ``.query()`` method will send the ``DISplay:GLObal:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``DISplay:GLObal:B:STATE value`` command. @@ -16207,6 +16251,7 @@ def state(self) -> DisplayGlobalBItemState: :: - DISplay:GLObal:B:STATE {|OFF|ON} + - DISplay:GLObal:B:STATE? **Info:** - ```` = 0 disables the display of the specified bus; any other value enables diff --git a/src/tm_devices/commands/_c3g63_lpdmso/histogram.py b/src/tm_devices/commands/_c3g63_lpdmso/histogram.py new file mode 100644 index 00000000..c7c1f2b1 --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/histogram.py @@ -0,0 +1,1866 @@ +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +"""The histogram commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - HISTogram:ADDNew + - HISTogram:DELETEALL + - HISTogram:DELete + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + - HISTogram:HISTogram:DATa? + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + - HISTogram:HISTogram:SAVe + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + - HISTogram:HISTogram:SOUrce {CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + - HISTogram:LIST? +""" # noqa: E501 +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdReadWithArguments, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class HistogramList(SCPICmdRead): + """The ``HISTogram:LIST`` command. + + **Description:** + - This query returns a comma separated list of all currently defined histograms. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:LIST? + """ + + +class HistogramHistogramItemTransparency(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:TRANsparency`` command. + + **Description:** + - This command sets or queries the transparency of the histogram bins. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies the transparency as a percentage, with a minimum of 0 and a maximum of + 100. + """ + + +class HistogramHistogramItemState(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:STATE`` command. + + **Description:** + - This command sets or queries whether histogram calculations are enabled for the specified + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:STATE value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram calculations. + - ``OFF`` disables the histogram calculations. + """ + + +class HistogramHistogramItemSource(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:SOUrce`` command. + + **Description:** + - This command sets or queries which source waveform will be compared against the histogram + box when the histogram testing is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SOUrce {CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class HistogramHistogramItemSize(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:SIZe`` command. + + **Description:** + - This command sets or queries the height or width of the specified histogram bins in + divisions. This size can be larger than the box, which allows you to view the histogram + bins easily. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies the number of divisions to set the height or width of the histogram + bins to. + """ + + +class HistogramHistogramItemSave(SCPICmdWrite): + """The ``HISTogram:HISTogram:SAVe`` command. + + **Description:** + - This command saves the specified histograms data as a comma separated list of values. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SAVe value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SAVe + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` is the file path to save the .csv file to. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class HistogramHistogramItemMeasurementTwosigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + + **Description:** + - This command sets or queries whether the µ±2(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±2(sigma) measurement. + - ``OFF`` disables the µ±2(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementThrsigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + + **Description:** + - This command sets or queries whether the µ±3(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±3(sigma) measurement. + - ``OFF`` disables the µ±3(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementStddev(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + + **Description:** + - This command sets or queries whether the Standard Deviation measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:STDDev?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Standard Deviation measurement. + - ``OFF`` disables the Standard Deviation measurement. + """ + + +class HistogramHistogramItemMeasurementResults(SCPICmdReadWithArguments): + """The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + + **Description:** + - This query only command returns the measurement results from the specified histogram. The + argument must be in the form of {argument 1},{argument 2},{argument 3}. Argument 1 + specifies which histogram measurement to return results for. Argument 2 specifies which + acquisitions to return measurement results for. Argument 3 specifies which statistic to + return measurement results for. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``COUNt`` specifies the Count as the histogram measurement to return results for. + - ``HITS`` specifies the Hits as the histogram measurement to return results for. + - ``MAX`` specifies the Max as the histogram measurement to return results for. + - ``MIN`` specifies the Min as the histogram measurement to return results for. + - ``PK2PK`` specifies the Peak-to-peak as the histogram measurement or statistic to return + results for. + - ``MODE`` specifies the Mode as the histogram measurement to return results for. + - ``MEAN`` specifies the Mean as the histogram measurement or statistic to return results + for. + - ``MEDian`` specifies the Median as the histogram measurement to return results for. + - ``PHITs`` specifies the Peak Hits as the histogram measurement to return results for. + - ``STDDev`` specifies the Standard Deviation as the histogram measurement or statistic to + return results for. + - ``ONESigma`` specifies the µ±1(sigma) as the histogram measurement to return results for. + - ``TWOSigma`` specifies the µ±2(sigma) as the histogram measurement to return results for. + - ``THRSigma`` specifies the µ±3(sigma) as the histogram measurement to return results for. + - ``ALLAcqs`` specifies the All Acquisitions as the acquisitions to return results for. + - ``CURRentacq`` specifies the Current Acquisitions as the acquisitions to return results + for. + - ``HISTory`` specifies the History as the acquisitions to return results for. + - ``MAXimum`` specifies the Maximum as the statistic to return results for. + - ``MINimum`` specifies the Minimum as the statistic to return results for. + - ``POPUlation`` specifies the Population as the statistic to return results for. + """ # noqa: E501 + + +class HistogramHistogramItemMeasurementPk2pk(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + + **Description:** + - This command sets or queries whether the Peak-to-peak measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:PK2PK?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak-to-peak measurement. + - ``OFF`` disables the Peak-to-peak measurement. + """ + + +class HistogramHistogramItemMeasurementPhits(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + + **Description:** + - This command sets or queries whether the Peak Hits measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:PHITs?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak Hits measurement. + - ``OFF`` disables the Peak Hits measurement. + """ + + +class HistogramHistogramItemMeasurementOnesigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + + **Description:** + - This command sets or queries whether the µ±1(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±1(sigma) measurement. + - ``OFF`` disables the µ±1(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementMode(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MODE`` command. + + **Description:** + - This command sets or queries whether the Mode measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mode measurement. + - ``OFF`` disables the Mode measurement. + """ + + +class HistogramHistogramItemMeasurementMin(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MIN`` command. + + **Description:** + - This command sets or queries whether the Min measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MIN?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Min measurement. + - ``OFF`` disables the Min measurement. + """ + + +class HistogramHistogramItemMeasurementMedian(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + + **Description:** + - This command sets or queries whether the Median measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MEDian?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Median measurement. + - ``OFF`` disables the Median measurement. + """ + + +class HistogramHistogramItemMeasurementMean(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + + **Description:** + - This command sets or queries whether the Mean measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MEAN?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mean measurement. + - ``OFF`` disables the Mean measurement. + """ + + +class HistogramHistogramItemMeasurementMax(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MAX`` command. + + **Description:** + - This command sets or queries whether the Max measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MAX?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Max measurement. + - ``OFF`` disables the Max measurement. + """ + + +class HistogramHistogramItemMeasurementHits(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:HITS`` command. + + **Description:** + - This command sets or queries whether the Hits in Box measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:HITS?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Hits in Box measurement. + - ``OFF`` disables the Hits in Box measurement. + """ + + +class HistogramHistogramItemMeasurementCount(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + + **Description:** + - This command sets or queries whether the waveform count measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:COUNt?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the waveform count measurement. + - ``OFF`` disables the waveform count measurement. + """ + + +# pylint: disable=too-many-instance-attributes +class HistogramHistogramItemMeasurement(SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:MEASurement?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``HISTogram`` specifies the histogram number. + + Properties: + - ``.count``: The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + - ``.hits``: The ``HISTogram:HISTogram:MEASurement:HITS`` command. + - ``.max``: The ``HISTogram:HISTogram:MEASurement:MAX`` command. + - ``.mean``: The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + - ``.median``: The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + - ``.min``: The ``HISTogram:HISTogram:MEASurement:MIN`` command. + - ``.mode``: The ``HISTogram:HISTogram:MEASurement:MODE`` command. + - ``.onesigma``: The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + - ``.phits``: The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + - ``.pk2pk``: The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + - ``.results``: The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + - ``.stddev``: The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + - ``.thrsigma``: The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + - ``.twosigma``: The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = HistogramHistogramItemMeasurementCount(device, f"{self._cmd_syntax}:COUNt") + self._hits = HistogramHistogramItemMeasurementHits(device, f"{self._cmd_syntax}:HITS") + self._max = HistogramHistogramItemMeasurementMax(device, f"{self._cmd_syntax}:MAX") + self._mean = HistogramHistogramItemMeasurementMean(device, f"{self._cmd_syntax}:MEAN") + self._median = HistogramHistogramItemMeasurementMedian(device, f"{self._cmd_syntax}:MEDian") + self._min = HistogramHistogramItemMeasurementMin(device, f"{self._cmd_syntax}:MIN") + self._mode = HistogramHistogramItemMeasurementMode(device, f"{self._cmd_syntax}:MODE") + self._onesigma = HistogramHistogramItemMeasurementOnesigma( + device, f"{self._cmd_syntax}:ONESigma" + ) + self._phits = HistogramHistogramItemMeasurementPhits(device, f"{self._cmd_syntax}:PHITs") + self._pk2pk = HistogramHistogramItemMeasurementPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._results = HistogramHistogramItemMeasurementResults( + device, f"{self._cmd_syntax}:RESUlts" + ) + self._stddev = HistogramHistogramItemMeasurementStddev(device, f"{self._cmd_syntax}:STDDev") + self._thrsigma = HistogramHistogramItemMeasurementThrsigma( + device, f"{self._cmd_syntax}:THRSigma" + ) + self._twosigma = HistogramHistogramItemMeasurementTwosigma( + device, f"{self._cmd_syntax}:TWOSigma" + ) + + @property + def count(self) -> HistogramHistogramItemMeasurementCount: + """Return the ``HISTogram:HISTogram:MEASurement:COUNt`` command. + + **Description:** + - This command sets or queries whether the waveform count measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the waveform count measurement. + - ``OFF`` disables the waveform count measurement. + """ + return self._count + + @property + def hits(self) -> HistogramHistogramItemMeasurementHits: + """Return the ``HISTogram:HISTogram:MEASurement:HITS`` command. + + **Description:** + - This command sets or queries whether the Hits in Box measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Hits in Box measurement. + - ``OFF`` disables the Hits in Box measurement. + """ + return self._hits + + @property + def max(self) -> HistogramHistogramItemMeasurementMax: + """Return the ``HISTogram:HISTogram:MEASurement:MAX`` command. + + **Description:** + - This command sets or queries whether the Max measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Max measurement. + - ``OFF`` disables the Max measurement. + """ + return self._max + + @property + def mean(self) -> HistogramHistogramItemMeasurementMean: + """Return the ``HISTogram:HISTogram:MEASurement:MEAN`` command. + + **Description:** + - This command sets or queries whether the Mean measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mean measurement. + - ``OFF`` disables the Mean measurement. + """ + return self._mean + + @property + def median(self) -> HistogramHistogramItemMeasurementMedian: + """Return the ``HISTogram:HISTogram:MEASurement:MEDian`` command. + + **Description:** + - This command sets or queries whether the Median measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Median measurement. + - ``OFF`` disables the Median measurement. + """ + return self._median + + @property + def min(self) -> HistogramHistogramItemMeasurementMin: + """Return the ``HISTogram:HISTogram:MEASurement:MIN`` command. + + **Description:** + - This command sets or queries whether the Min measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Min measurement. + - ``OFF`` disables the Min measurement. + """ + return self._min + + @property + def mode(self) -> HistogramHistogramItemMeasurementMode: + """Return the ``HISTogram:HISTogram:MEASurement:MODE`` command. + + **Description:** + - This command sets or queries whether the Mode measurement is enabled on the histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mode measurement. + - ``OFF`` disables the Mode measurement. + """ + return self._mode + + @property + def onesigma(self) -> HistogramHistogramItemMeasurementOnesigma: + """Return the ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + + **Description:** + - This command sets or queries whether the µ±1(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±1(sigma) measurement. + - ``OFF`` disables the µ±1(sigma) measurement. + """ + return self._onesigma + + @property + def phits(self) -> HistogramHistogramItemMeasurementPhits: + """Return the ``HISTogram:HISTogram:MEASurement:PHITs`` command. + + **Description:** + - This command sets or queries whether the Peak Hits measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak Hits measurement. + - ``OFF`` disables the Peak Hits measurement. + """ + return self._phits + + @property + def pk2pk(self) -> HistogramHistogramItemMeasurementPk2pk: + """Return the ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + + **Description:** + - This command sets or queries whether the Peak-to-peak measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak-to-peak measurement. + - ``OFF`` disables the Peak-to-peak measurement. + """ + return self._pk2pk + + @property + def results(self) -> HistogramHistogramItemMeasurementResults: + """Return the ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + + **Description:** + - This query only command returns the measurement results from the specified histogram. + The argument must be in the form of {argument 1},{argument 2},{argument 3}. Argument 1 + specifies which histogram measurement to return results for. Argument 2 specifies + which acquisitions to return measurement results for. Argument 3 specifies which + statistic to return measurement results for. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``COUNt`` specifies the Count as the histogram measurement to return results for. + - ``HITS`` specifies the Hits as the histogram measurement to return results for. + - ``MAX`` specifies the Max as the histogram measurement to return results for. + - ``MIN`` specifies the Min as the histogram measurement to return results for. + - ``PK2PK`` specifies the Peak-to-peak as the histogram measurement or statistic to + return results for. + - ``MODE`` specifies the Mode as the histogram measurement to return results for. + - ``MEAN`` specifies the Mean as the histogram measurement or statistic to return + results for. + - ``MEDian`` specifies the Median as the histogram measurement to return results for. + - ``PHITs`` specifies the Peak Hits as the histogram measurement to return results for. + - ``STDDev`` specifies the Standard Deviation as the histogram measurement or statistic + to return results for. + - ``ONESigma`` specifies the µ±1(sigma) as the histogram measurement to return results + for. + - ``TWOSigma`` specifies the µ±2(sigma) as the histogram measurement to return results + for. + - ``THRSigma`` specifies the µ±3(sigma) as the histogram measurement to return results + for. + - ``ALLAcqs`` specifies the All Acquisitions as the acquisitions to return results for. + - ``CURRentacq`` specifies the Current Acquisitions as the acquisitions to return + results for. + - ``HISTory`` specifies the History as the acquisitions to return results for. + - ``MAXimum`` specifies the Maximum as the statistic to return results for. + - ``MINimum`` specifies the Minimum as the statistic to return results for. + - ``POPUlation`` specifies the Population as the statistic to return results for. + """ # noqa: E501 + return self._results + + @property + def stddev(self) -> HistogramHistogramItemMeasurementStddev: + """Return the ``HISTogram:HISTogram:MEASurement:STDDev`` command. + + **Description:** + - This command sets or queries whether the Standard Deviation measurement is enabled on + the histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Standard Deviation measurement. + - ``OFF`` disables the Standard Deviation measurement. + """ + return self._stddev + + @property + def thrsigma(self) -> HistogramHistogramItemMeasurementThrsigma: + """Return the ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + + **Description:** + - This command sets or queries whether the µ±3(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±3(sigma) measurement. + - ``OFF`` disables the µ±3(sigma) measurement. + """ + return self._thrsigma + + @property + def twosigma(self) -> HistogramHistogramItemMeasurementTwosigma: + """Return the ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + + **Description:** + - This command sets or queries whether the µ±2(sigma) measurement is enabled on the + histogram. + + **Usage:** + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±2(sigma) measurement. + - ``OFF`` disables the µ±2(sigma) measurement. + """ + return self._twosigma + + +class HistogramHistogramItemFunction(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:FUNCtion`` command. + + **Description:** + - This command sets or queries the histogram mode. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:FUNCtion value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``HORizontal`` sets the histogram mode to horizontal. + - ``VERTical`` sets the histogram mode to vertical. + """ + + +class HistogramHistogramItemDisplay(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:DISPlay`` command. + + **Description:** + - This command sets or queries the histogram scaling display setting. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DISPlay?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DISPlay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:DISPlay value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``LINEAr`` sets the histogram scaling to linear mode. + - ``LOG`` sets the histogram scaling to logarithmic mode. + """ + + +class HistogramHistogramItemData(SCPICmdRead): + """The ``HISTogram:HISTogram:DATa`` command. + + **Description:** + - This query only command returns a comma separated list of numbers representing the + histogram bin data. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:DATa? + """ + + +class HistogramHistogramItemBstate(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:BSTate`` command. + + **Description:** + - This command sets or queries whether the histogram badge is displayed. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BSTate?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BSTate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BSTate value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram badge display. + - ``OFF`` disables the histogram badge display. + """ + + +class HistogramHistogramItemBox(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:BOX`` command. + + **Description:** + - This command sets or queries the top, left, bottom and right positions of the histogram + box in source waveform coordinates. The argument is of the form + ,,,. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BOX?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BOX?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BOX value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies four position values, separated by commas. The values are the top, + left, bottom, and right coordinates in that order. + """ + + +# pylint: disable=too-many-instance-attributes +class HistogramHistogramItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``HISTogram:HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``HISTogram`` specifies the histogram number. + + Properties: + - ``.box``: The ``HISTogram:HISTogram:BOX`` command. + - ``.bstate``: The ``HISTogram:HISTogram:BSTate`` command. + - ``.data``: The ``HISTogram:HISTogram:DATa`` command. + - ``.display``: The ``HISTogram:HISTogram:DISPlay`` command. + - ``.function``: The ``HISTogram:HISTogram:FUNCtion`` command. + - ``.measurement``: The ``HISTogram:HISTogram:MEASurement`` command tree. + - ``.save``: The ``HISTogram:HISTogram:SAVe`` command. + - ``.size``: The ``HISTogram:HISTogram:SIZe`` command. + - ``.source``: The ``HISTogram:HISTogram:SOUrce`` command. + - ``.state``: The ``HISTogram:HISTogram:STATE`` command. + - ``.transparency``: The ``HISTogram:HISTogram:TRANsparency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._box = HistogramHistogramItemBox(device, f"{self._cmd_syntax}:BOX") + self._bstate = HistogramHistogramItemBstate(device, f"{self._cmd_syntax}:BSTate") + self._data = HistogramHistogramItemData(device, f"{self._cmd_syntax}:DATa") + self._display = HistogramHistogramItemDisplay(device, f"{self._cmd_syntax}:DISPlay") + self._function = HistogramHistogramItemFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._measurement = HistogramHistogramItemMeasurement( + device, f"{self._cmd_syntax}:MEASurement" + ) + self._save = HistogramHistogramItemSave(device, f"{self._cmd_syntax}:SAVe") + self._size = HistogramHistogramItemSize(device, f"{self._cmd_syntax}:SIZe") + self._source = HistogramHistogramItemSource(device, f"{self._cmd_syntax}:SOUrce") + self._state = HistogramHistogramItemState(device, f"{self._cmd_syntax}:STATE") + self._transparency = HistogramHistogramItemTransparency( + device, f"{self._cmd_syntax}:TRANsparency" + ) + + @property + def box(self) -> HistogramHistogramItemBox: + """Return the ``HISTogram:HISTogram:BOX`` command. + + **Description:** + - This command sets or queries the top, left, bottom and right positions of the + histogram box in source waveform coordinates. The argument is of the form + ,,,. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BOX?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BOX?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BOX value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies four position values, separated by commas. The values are the top, + left, bottom, and right coordinates in that order. + """ + return self._box + + @property + def bstate(self) -> HistogramHistogramItemBstate: + """Return the ``HISTogram:HISTogram:BSTate`` command. + + **Description:** + - This command sets or queries whether the histogram badge is displayed. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BSTate?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BSTate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:BSTate value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram badge display. + - ``OFF`` disables the histogram badge display. + """ + return self._bstate + + @property + def data(self) -> HistogramHistogramItemData: + """Return the ``HISTogram:HISTogram:DATa`` command. + + **Description:** + - This query only command returns a comma separated list of numbers representing the + histogram bin data. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:DATa? + """ + return self._data + + @property + def display(self) -> HistogramHistogramItemDisplay: + """Return the ``HISTogram:HISTogram:DISPlay`` command. + + **Description:** + - This command sets or queries the histogram scaling display setting. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DISPlay?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DISPlay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:DISPlay value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``LINEAr`` sets the histogram scaling to linear mode. + - ``LOG`` sets the histogram scaling to logarithmic mode. + """ + return self._display + + @property + def function(self) -> HistogramHistogramItemFunction: + """Return the ``HISTogram:HISTogram:FUNCtion`` command. + + **Description:** + - This command sets or queries the histogram mode. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:FUNCtion value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``HORizontal`` sets the histogram mode to horizontal. + - ``VERTical`` sets the histogram mode to vertical. + """ + return self._function + + @property + def measurement(self) -> HistogramHistogramItemMeasurement: + """Return the ``HISTogram:HISTogram:MEASurement`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **Info:** + - ``HISTogram`` specifies the histogram number. + + Sub-properties: + - ``.count``: The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + - ``.hits``: The ``HISTogram:HISTogram:MEASurement:HITS`` command. + - ``.max``: The ``HISTogram:HISTogram:MEASurement:MAX`` command. + - ``.mean``: The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + - ``.median``: The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + - ``.min``: The ``HISTogram:HISTogram:MEASurement:MIN`` command. + - ``.mode``: The ``HISTogram:HISTogram:MEASurement:MODE`` command. + - ``.onesigma``: The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + - ``.phits``: The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + - ``.pk2pk``: The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + - ``.results``: The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + - ``.stddev``: The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + - ``.thrsigma``: The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + - ``.twosigma``: The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + """ + return self._measurement + + @property + def save(self) -> HistogramHistogramItemSave: + """Return the ``HISTogram:HISTogram:SAVe`` command. + + **Description:** + - This command saves the specified histograms data as a comma separated list of values. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SAVe value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SAVe + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` is the file path to save the .csv file to. + """ + return self._save + + @property + def size(self) -> HistogramHistogramItemSize: + """Return the ``HISTogram:HISTogram:SIZe`` command. + + **Description:** + - This command sets or queries the height or width of the specified histogram bins in + divisions. This size can be larger than the box, which allows you to view the + histogram bins easily. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies the number of divisions to set the height or width of the + histogram bins to. + """ + return self._size + + @property + def source(self) -> HistogramHistogramItemSource: + """Return the ``HISTogram:HISTogram:SOUrce`` command. + + **Description:** + - This command sets or queries which source waveform will be compared against the + histogram box when the histogram testing is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:SOUrce {CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def state(self) -> HistogramHistogramItemState: + """Return the ``HISTogram:HISTogram:STATE`` command. + + **Description:** + - This command sets or queries whether histogram calculations are enabled for the + specified histogram. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:STATE value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram calculations. + - ``OFF`` disables the histogram calculations. + """ + return self._state + + @property + def transparency(self) -> HistogramHistogramItemTransparency: + """Return the ``HISTogram:HISTogram:TRANsparency`` command. + + **Description:** + - This command sets or queries the transparency of the histogram bins. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + + **Info:** + - ``HISTogram`` specifies the histogram number. + - ```` specifies the transparency as a percentage, with a minimum of 0 and a + maximum of 100. + """ + return self._transparency + + +class HistogramDelete(SCPICmdWrite): + """The ``HISTogram:DELete`` command. + + **Description:** + - This command deletes the specified histogram. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:DELete value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:DELete + + **Info:** + - ```` specifies the waveform histogram to delete. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class HistogramDeleteall(SCPICmdWriteNoArguments): + """The ``HISTogram:DELETEALL`` command. + + **Description:** + - This command deletes all the active instances of histograms defined in the scope + application. + + **Usage:** + - Using the ``.write()`` method will send the ``HISTogram:DELETEALL`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:DELETEALL + """ + + +class HistogramAddnew(SCPICmdWrite): + """The ``HISTogram:ADDNew`` command. + + **Description:** + - This command adds the specified waveform histogram. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:ADDNew + + **Info:** + - ```` specifies the waveform histogram to add. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Histogram(SCPICmdRead): + """The ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "HISTogram") -> None: + super().__init__(device, cmd_syntax) + self._addnew = HistogramAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._deleteall = HistogramDeleteall(device, f"{self._cmd_syntax}:DELETEALL") + self._delete = HistogramDelete(device, f"{self._cmd_syntax}:DELete") + self._histogram: Dict[int, HistogramHistogramItem] = DefaultDictPassKeyToFactory( + lambda x: HistogramHistogramItem(device, f"{self._cmd_syntax}:HISTogram{x}") + ) + self._list = HistogramList(device, f"{self._cmd_syntax}:LIST") + + @property + def addnew(self) -> HistogramAddnew: + """Return the ``HISTogram:ADDNew`` command. + + **Description:** + - This command adds the specified waveform histogram. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:ADDNew + + **Info:** + - ```` specifies the waveform histogram to add. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + return self._addnew + + @property + def deleteall(self) -> HistogramDeleteall: + """Return the ``HISTogram:DELETEALL`` command. + + **Description:** + - This command deletes all the active instances of histograms defined in the scope + application. + + **Usage:** + - Using the ``.write()`` method will send the ``HISTogram:DELETEALL`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:DELETEALL + """ + return self._deleteall + + @property + def delete(self) -> HistogramDelete: + """Return the ``HISTogram:DELete`` command. + + **Description:** + - This command deletes the specified histogram. + + **Usage:** + - Using the ``.write(value)`` method will send the ``HISTogram:DELete value`` command. + + **SCPI Syntax:** + + :: + + - HISTogram:DELete + + **Info:** + - ```` specifies the waveform histogram to delete. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + return self._delete + + @property + def histogram(self) -> Dict[int, HistogramHistogramItem]: + """Return the ``HISTogram:HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``HISTogram`` specifies the histogram number. + + Sub-properties: + - ``.box``: The ``HISTogram:HISTogram:BOX`` command. + - ``.bstate``: The ``HISTogram:HISTogram:BSTate`` command. + - ``.data``: The ``HISTogram:HISTogram:DATa`` command. + - ``.display``: The ``HISTogram:HISTogram:DISPlay`` command. + - ``.function``: The ``HISTogram:HISTogram:FUNCtion`` command. + - ``.measurement``: The ``HISTogram:HISTogram:MEASurement`` command tree. + - ``.save``: The ``HISTogram:HISTogram:SAVe`` command. + - ``.size``: The ``HISTogram:HISTogram:SIZe`` command. + - ``.source``: The ``HISTogram:HISTogram:SOUrce`` command. + - ``.state``: The ``HISTogram:HISTogram:STATE`` command. + - ``.transparency``: The ``HISTogram:HISTogram:TRANsparency`` command. + """ + return self._histogram + + @property + def list(self) -> HistogramList: + """Return the ``HISTogram:LIST`` command. + + **Description:** + - This query returns a comma separated list of all currently defined histograms. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:LIST?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HISTogram:LIST? + """ + return self._list diff --git a/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py b/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py index ec2a97c0..5707471e 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py @@ -31,9 +31,10 @@ - HORizontal:FASTframe:SELECTED? - HORizontal:FASTframe:STATE {|OFF|ON} - HORizontal:FASTframe:STATE? + - HORizontal:FASTframe:SUMFrame {NONe|AVErage|ENVelope} - HORizontal:FASTframe:SUMFrame:STATE {|OFF|ON} - HORizontal:FASTframe:SUMFrame:STATE? - - HORizontal:FASTframe:SUMFrame? {NONe|AVErage|ENVelope} + - HORizontal:FASTframe:SUMFrame? - HORizontal:FASTframe:TIMEStamp:ALL? - HORizontal:FASTframe:TIMEStamp:DELTa? - HORizontal:FASTframe:TIMEStamp:REFerence? @@ -52,7 +53,7 @@ - HORizontal:HISTory:REF:INClude? - HORizontal:HISTory:SELected - HORizontal:HISTory:SELected? - - HORizontal:HISTory:STATe {OFF|ON} + - HORizontal:HISTory:STATe {OFF|ON|1|0} - HORizontal:HISTory:STATe? - HORizontal:HISTory:TIMEStamp:DELTa? - HORizontal:HISTory:TIMEStamp:REFerence? @@ -90,7 +91,7 @@ """ from typing import Optional, TYPE_CHECKING -from .._helpers import SCPICmdRead, SCPICmdReadWithArguments, SCPICmdWrite +from .._helpers import SCPICmdRead, SCPICmdWrite if TYPE_CHECKING: from tm_devices.drivers.pi.pi_device import PIDevice @@ -1228,7 +1229,7 @@ class HorizontalHistoryState(SCPICmdWrite, SCPICmdRead): :: - - HORizontal:HISTory:STATe {OFF|ON} + - HORizontal:HISTory:STATe {OFF|ON|1|0} - HORizontal:HISTory:STATe? **Info:** @@ -1604,7 +1605,7 @@ def state(self) -> HorizontalHistoryState: :: - - HORizontal:HISTory:STATe {OFF|ON} + - HORizontal:HISTory:STATe {OFF|ON|1|0} - HORizontal:HISTory:STATe? **Info:** @@ -2024,7 +2025,7 @@ class HorizontalFastframeSumframeState(SCPICmdWrite, SCPICmdRead): """ -class HorizontalFastframeSumframe(SCPICmdReadWithArguments): +class HorizontalFastframeSumframe(SCPICmdWrite, SCPICmdRead): """The ``HORizontal:FASTframe:SUMFrame`` command. **Description:** @@ -2034,17 +2035,18 @@ class HorizontalFastframeSumframe(SCPICmdReadWithArguments): always the number of frames to acquire. **Usage:** - - Using the ``.query(argument)`` method will send the - ``HORizontal:FASTframe:SUMFrame? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``HORizontal:FASTframe:SUMFrame? argument`` query and raise an AssertionError if the - returned value does not match ``value``. + - Using the ``.query()`` method will send the ``HORizontal:FASTframe:SUMFrame?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:FASTframe:SUMFrame?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:FASTframe:SUMFrame value`` + command. **SCPI Syntax:** :: - - HORizontal:FASTframe:SUMFrame? {NONe|AVErage|ENVelope} + - HORizontal:FASTframe:SUMFrame {NONe|AVErage|ENVelope} + - HORizontal:FASTframe:SUMFrame? **Info:** - ``NONe`` sets the Summary frame to off. @@ -2593,17 +2595,18 @@ def sumframe(self) -> HorizontalFastframeSumframe: value is always the number of frames to acquire. **Usage:** - - Using the ``.query(argument)`` method will send the - ``HORizontal:FASTframe:SUMFrame? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``HORizontal:FASTframe:SUMFrame? argument`` query and raise an AssertionError if the - returned value does not match ``value``. + - Using the ``.query()`` method will send the ``HORizontal:FASTframe:SUMFrame?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:FASTframe:SUMFrame?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:FASTframe:SUMFrame value`` command. **SCPI Syntax:** :: - - HORizontal:FASTframe:SUMFrame? {NONe|AVErage|ENVelope} + - HORizontal:FASTframe:SUMFrame {NONe|AVErage|ENVelope} + - HORizontal:FASTframe:SUMFrame? **Info:** - ``NONe`` sets the Summary frame to off. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/mask.py b/src/tm_devices/commands/_c3g63_lpdmso/mask.py index f7604af6..5faa8ee5 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/mask.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/mask.py @@ -32,11 +32,17 @@ - MASK:MASK:TESt:STATUS? - MASK:MASK:TESt:THReshold - MASK:MASK:TESt:THReshold? + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? - MASK:MASK:TOLerance:HORizontal - MASK:MASK:TOLerance:HORizontal? - MASK:MASK:TOLerance:UPDatenow + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? - MASK:MASK:TOLerance:VERTical - MASK:MASK:TOLerance:VERTical? + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? - MASK:TESt:WAVEforms - MASK:TESt:WAVEforms? """ @@ -123,6 +129,41 @@ def waveforms(self) -> MaskTestWaveforms: return self._waveforms +class MaskMaskItemTtype(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TTYPe`` command. + + **Description:** + - This command sets or queries the type of tolerance values used when defining a tolerance + mask. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TTYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TTYPe value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? + + **Info:** + - ``MASK`` specifies the mask number. + - ``SCReen`` indicates that the horizontal and vertical mask tolerances are defined in + relative units of graticule divisions. There are always 10 horizontal divisions and 10 + vertical divisions on the scope waveform display. When the tolerance type is SCReen, the + tolerance values set by the HORizontal and VERTical commands are used to define the + tolerance mask when an UPDatenow command is sent. + - ``ABSolute`` indicates that the horizontal and vertical mask tolerances are defined in the + absolute units of the mask source waveform. These units are normally seconds and volts + respectively. When the tolerance type is ABSolute, the tolerance values set by the + HABSolute and VABSolute commands are used to define the tolerance mask when an UPDatenow + command is sent. + """ + + class MaskMaskItemToleranceVertical(SCPICmdWrite, SCPICmdRead): """The ``MASK:MASK:TOLerance:VERTical`` command. @@ -149,6 +190,36 @@ class MaskMaskItemToleranceVertical(SCPICmdWrite, SCPICmdRead): """ +class MaskMaskItemToleranceVabsolute(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:VABSolute`` command. + + **Description:** + - This command sets or queries the mask vertical tolerance in absolute units of the mask + source (generally volts). This value is used when the mask TTYPe is set to ABSolute and + the UPDatenow command is sent. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? + + **Info:** + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of the mask source. Most traces in the waveform window + have vertical units of volts, but other units such as amps or degrees are possible. The + maximum value is the equivalent of one vertical graticule division. + """ + + class MaskMaskItemToleranceUpdatenow(SCPICmdWriteNoArguments): """The ``MASK:MASK:TOLerance:UPDatenow`` command. @@ -196,6 +267,35 @@ class MaskMaskItemToleranceHorizontal(SCPICmdWrite, SCPICmdRead): """ +class MaskMaskItemToleranceHabsolute(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:HABSolute`` command. + + **Description:** + - This command sets or queries the mask horizontal tolerance in absolute units of seconds. + This value is used when the mask TTYPe is set to ABSolute and the UPDatenow command is + sent. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? + + **Info:** + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of seconds. The maximum time is the equivalent of one + horizontal graticule division. + """ + + class MaskMaskItemTolerance(SCPICmdRead): """The ``MASK:MASK:TOLerance`` command tree. @@ -208,17 +308,53 @@ class MaskMaskItemTolerance(SCPICmdRead): - ``MASK`` specifies the mask number. Properties: + - ``.habsolute``: The ``MASK:MASK:TOLerance:HABSolute`` command. - ``.horizontal``: The ``MASK:MASK:TOLerance:HORizontal`` command. - ``.updatenow``: The ``MASK:MASK:TOLerance:UPDatenow`` command. + - ``.vabsolute``: The ``MASK:MASK:TOLerance:VABSolute`` command. - ``.vertical``: The ``MASK:MASK:TOLerance:VERTical`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) + self._habsolute = MaskMaskItemToleranceHabsolute(device, f"{self._cmd_syntax}:HABSolute") self._horizontal = MaskMaskItemToleranceHorizontal(device, f"{self._cmd_syntax}:HORizontal") self._updatenow = MaskMaskItemToleranceUpdatenow(device, f"{self._cmd_syntax}:UPDatenow") + self._vabsolute = MaskMaskItemToleranceVabsolute(device, f"{self._cmd_syntax}:VABSolute") self._vertical = MaskMaskItemToleranceVertical(device, f"{self._cmd_syntax}:VERTical") + @property + def habsolute(self) -> MaskMaskItemToleranceHabsolute: + """Return the ``MASK:MASK:TOLerance:HABSolute`` command. + + **Description:** + - This command sets or queries the mask horizontal tolerance in absolute units of + seconds. This value is used when the mask TTYPe is set to ABSolute and the UPDatenow + command is sent. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? + + **Info:** + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of seconds. The maximum time is the equivalent of + one horizontal graticule division. + """ + return self._habsolute + @property def horizontal(self) -> MaskMaskItemToleranceHorizontal: """Return the ``MASK:MASK:TOLerance:HORizontal`` command. @@ -271,6 +407,39 @@ def updatenow(self) -> MaskMaskItemToleranceUpdatenow: """ return self._updatenow + @property + def vabsolute(self) -> MaskMaskItemToleranceVabsolute: + """Return the ``MASK:MASK:TOLerance:VABSolute`` command. + + **Description:** + - This command sets or queries the mask vertical tolerance in absolute units of the mask + source (generally volts). This value is used when the mask TTYPe is set to ABSolute + and the UPDatenow command is sent. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? + + **Info:** + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of the mask source. Most traces in the waveform + window have vertical units of volts, but other units such as amps or degrees are + possible. The maximum value is the equivalent of one vertical graticule division. + """ + return self._vabsolute + @property def vertical(self) -> MaskMaskItemToleranceVertical: """Return the ``MASK:MASK:TOLerance:VERTical`` command. @@ -890,6 +1059,7 @@ class MaskMaskItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.source``: The ``MASK:MASK:SOUrce`` command. - ``.test``: The ``MASK:MASK:TESt`` command tree. - ``.tolerance``: The ``MASK:MASK:TOLerance`` command tree. + - ``.ttype``: The ``MASK:MASK:TTYPe`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: @@ -907,6 +1077,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._source = MaskMaskItemSource(device, f"{self._cmd_syntax}:SOUrce") self._test = MaskMaskItemTest(device, f"{self._cmd_syntax}:TESt") self._tolerance = MaskMaskItemTolerance(device, f"{self._cmd_syntax}:TOLerance") + self._ttype = MaskMaskItemTtype(device, f"{self._cmd_syntax}:TTYPe") @property def count(self) -> MaskMaskItemCount: @@ -1117,12 +1288,50 @@ def tolerance(self) -> MaskMaskItemTolerance: - ``MASK`` specifies the mask number. Sub-properties: + - ``.habsolute``: The ``MASK:MASK:TOLerance:HABSolute`` command. - ``.horizontal``: The ``MASK:MASK:TOLerance:HORizontal`` command. - ``.updatenow``: The ``MASK:MASK:TOLerance:UPDatenow`` command. + - ``.vabsolute``: The ``MASK:MASK:TOLerance:VABSolute`` command. - ``.vertical``: The ``MASK:MASK:TOLerance:VERTical`` command. """ return self._tolerance + @property + def ttype(self) -> MaskMaskItemTtype: + """Return the ``MASK:MASK:TTYPe`` command. + + **Description:** + - This command sets or queries the type of tolerance values used when defining a + tolerance mask. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK:MASK:TTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TTYPe value`` command. + + **SCPI Syntax:** + + :: + + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? + + **Info:** + - ``MASK`` specifies the mask number. + - ``SCReen`` indicates that the horizontal and vertical mask tolerances are defined in + relative units of graticule divisions. There are always 10 horizontal divisions and 10 + vertical divisions on the scope waveform display. When the tolerance type is SCReen, + the tolerance values set by the HORizontal and VERTical commands are used to define + the tolerance mask when an UPDatenow command is sent. + - ``ABSolute`` indicates that the horizontal and vertical mask tolerances are defined in + the absolute units of the mask source waveform. These units are normally seconds and + volts respectively. When the tolerance type is ABSolute, the tolerance values set by + the HABSolute and VABSolute commands are used to define the tolerance mask when an + UPDatenow command is sent. + """ + return self._ttype + class MaskDelete(SCPICmdWrite): """The ``MASK:DELete`` command. @@ -1209,6 +1418,7 @@ def mask(self) -> Dict[int, MaskMaskItem]: - ``.source``: The ``MASK:MASK:SOUrce`` command. - ``.test``: The ``MASK:MASK:TESt`` command tree. - ``.tolerance``: The ``MASK:MASK:TOLerance`` command tree. + - ``.ttype``: The ``MASK:MASK:TTYPe`` command. """ return self._mask diff --git a/src/tm_devices/commands/_c3g63_lpdmso/math.py b/src/tm_devices/commands/_c3g63_lpdmso/math.py index 252cb1bc..92fd308a 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/math.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/math.py @@ -39,26 +39,43 @@ - MATH:MATH:EUSB:SUPPortedfields {DATa|DDATa} - MATH:MATH:EUSB:SUPPortedfields? - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? - MATH:MATH:FILTer:DESIgn {EXECUTE|ABORT|APPLY} - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? - MATH:MATH:FILTer:INFo? - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? - MATH:MATH:FILTer:LOAD - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? - MATH:MATH:FILTer:RESPonse {BUTTerworth| CHEBYONe| CHEBYTWo| ELLiptical| GAUSsian| BESSelCUSTom} + - MATH:MATH:FILTer:RESPonse? - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? - MATH:MATH:FILTer:SAVe - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? - MATH:MATH:FILTer:SOURce {CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? - MATH:MATH:FILTer:TYPe {LPASs| HPASs| BPASs| BSTop| APASs| HILBert| DIFFerentiator| RC| RRC} + - MATH:MATH:FILTer:TYPe? - MATH:MATH:FLEXray:SUPPortedfields {DATa} - MATH:MATH:FLEXray:SUPPortedfields? - MATH:MATH:FUNCtion {ADD|SUBtract|MULTiply|DIVide} @@ -107,6 +124,7 @@ - MATH:MATH:SPACEWIRe:SUPPortedfields {DATa} - MATH:MATH:SPACEWIRe:SUPPortedfields? - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? - MATH:MATH:SPECTral:MAG {LINEAr|DBM} - MATH:MATH:SPECTral:MAG? - MATH:MATH:SPECTral:PHASE {DEGrees|RADians|GROUPDelay} @@ -854,7 +872,7 @@ class MathMathItemSpectralMag(SCPICmdWrite, SCPICmdRead): """ -class MathMathItemSpectralHorz(SCPICmdWrite): +class MathMathItemSpectralHorz(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:SPECTral:HORZ`` command. **Description:** @@ -862,6 +880,9 @@ class MathMathItemSpectralHorz(SCPICmdWrite): The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:HORZ value`` command. @@ -870,6 +891,7 @@ class MathMathItemSpectralHorz(SCPICmdWrite): :: - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? **Info:** - ``LINEAr`` sets the SpectralMag units to linear. @@ -917,6 +939,9 @@ def horz(self) -> MathMathItemSpectralHorz: waveform. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:HORZ?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:HORZ value`` command. @@ -925,6 +950,7 @@ def horz(self) -> MathMathItemSpectralHorz: :: - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? **Info:** - ``LINEAr`` sets the SpectralMag units to linear. @@ -2890,13 +2916,16 @@ def supportedfields(self) -> MathMathItemFlexraySupportedfields: return self._supportedfields -class MathMathItemFilterType(SCPICmdWrite): +class MathMathItemFilterType(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:TYPe`` command. **Description:** - This command specifies or queries the filter type. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TYPe value`` command. @@ -2905,6 +2934,7 @@ class MathMathItemFilterType(SCPICmdWrite): :: - MATH:MATH:FILTer:TYPe {LPASs| HPASs| BPASs| BSTop| APASs| HILBert| DIFFerentiator| RC| RRC} + - MATH:MATH:FILTer:TYPe? **Info:** - ``LPASs`` specifies the filter type as LPASs. @@ -2919,7 +2949,7 @@ class MathMathItemFilterType(SCPICmdWrite): """ # noqa: E501 -class MathMathItemFilterTwidth(SCPICmdWrite): +class MathMathItemFilterTwidth(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:TWIDth`` command. **Description:** @@ -2927,6 +2957,9 @@ class MathMathItemFilterTwidth(SCPICmdWrite): math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TWIDth value`` command. @@ -2935,13 +2968,14 @@ class MathMathItemFilterTwidth(SCPICmdWrite): :: - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? **Info:** - ```` specifies the Transition Width for Custom filter response. """ -class MathMathItemFilterSymbols(SCPICmdWrite): +class MathMathItemFilterSymbols(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SYMBols`` command. **Description:** @@ -2949,6 +2983,9 @@ class MathMathItemFilterSymbols(SCPICmdWrite): The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SYMBols value`` command. @@ -2957,13 +2994,14 @@ class MathMathItemFilterSymbols(SCPICmdWrite): :: - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? **Info:** - ```` specifies the number of symbols for Raised-Cosine (RC) filter type. """ -class MathMathItemFilterSource(SCPICmdWrite): +class MathMathItemFilterSource(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SOURce`` command. **Description:** @@ -2971,6 +3009,9 @@ class MathMathItemFilterSource(SCPICmdWrite): are specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SOURce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SOURce value`` command. @@ -2979,6 +3020,7 @@ class MathMathItemFilterSource(SCPICmdWrite): :: - MATH:MATH:FILTer:SOURce {CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? **Info:** - ``CH`` specifies an analog channel as source. @@ -2987,7 +3029,7 @@ class MathMathItemFilterSource(SCPICmdWrite): """ -class MathMathItemFilterSduration(SCPICmdWrite): +class MathMathItemFilterSduration(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SDURation`` command. **Description:** @@ -2995,6 +3037,9 @@ class MathMathItemFilterSduration(SCPICmdWrite): filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDURation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDURation?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDURation value`` command. @@ -3003,6 +3048,7 @@ class MathMathItemFilterSduration(SCPICmdWrite): :: - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? **Info:** - ```` specifies the number of symbol duration for Root-Raised-Cosine (RRC) filter @@ -3010,7 +3056,7 @@ class MathMathItemFilterSduration(SCPICmdWrite): """ -class MathMathItemFilterSdeviation(SCPICmdWrite): +class MathMathItemFilterSdeviation(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SDEViation`` command. **Description:** @@ -3018,6 +3064,9 @@ class MathMathItemFilterSdeviation(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDEViation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDEViation?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDEViation value`` command. @@ -3026,13 +3075,14 @@ class MathMathItemFilterSdeviation(SCPICmdWrite): :: - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? **Info:** - ```` sets the standard deviation in gaussian filter. """ -class MathMathItemFilterSaveResponse(SCPICmdWrite): +class MathMathItemFilterSaveResponse(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SAVe:RESPonse`` command. **Description:** @@ -3040,6 +3090,9 @@ class MathMathItemFilterSaveResponse(SCPICmdWrite): math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse value`` command. @@ -3048,6 +3101,7 @@ class MathMathItemFilterSaveResponse(SCPICmdWrite): :: - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? **Info:** - ``1`` enables the save of the filter response image. @@ -3093,6 +3147,11 @@ def response(self) -> MathMathItemFilterSaveResponse: The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:SAVe:RESPonse?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse value`` command. @@ -3101,6 +3160,7 @@ def response(self) -> MathMathItemFilterSaveResponse: :: - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? **Info:** - ``1`` enables the save of the filter response image. @@ -3109,7 +3169,7 @@ def response(self) -> MathMathItemFilterSaveResponse: return self._response -class MathMathItemFilterSattenuation(SCPICmdWrite): +class MathMathItemFilterSattenuation(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:SATTenuation`` command. **Description:** @@ -3117,6 +3177,9 @@ class MathMathItemFilterSattenuation(SCPICmdWrite): waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SATTenuation value`` command. @@ -3125,13 +3188,14 @@ class MathMathItemFilterSattenuation(SCPICmdWrite): :: - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? **Info:** - ```` sets the stop band attenuation in the filter response. """ -class MathMathItemFilterRofactor(SCPICmdWrite): +class MathMathItemFilterRofactor(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:ROFactor`` command. **Description:** @@ -3139,6 +3203,9 @@ class MathMathItemFilterRofactor(SCPICmdWrite): filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ROFactor value`` command. @@ -3147,13 +3214,14 @@ class MathMathItemFilterRofactor(SCPICmdWrite): :: - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? **Info:** - ```` specifies the Roll-off Factor value for Rasied-Cosine(RC) filter type. """ -class MathMathItemFilterResponse(SCPICmdWrite): +class MathMathItemFilterResponse(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:RESPonse`` command. **Description:** @@ -3161,6 +3229,9 @@ class MathMathItemFilterResponse(SCPICmdWrite): math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:RESPonse?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:RESPonse value`` command. @@ -3169,6 +3240,7 @@ class MathMathItemFilterResponse(SCPICmdWrite): :: - MATH:MATH:FILTer:RESPonse {BUTTerworth| CHEBYONe| CHEBYTWo| ELLiptical| GAUSsian| BESSelCUSTom} + - MATH:MATH:FILTer:RESPonse? **Info:** - ``BUTTerworth`` specifies the filter response as BUTTerworth. @@ -3180,7 +3252,7 @@ class MathMathItemFilterResponse(SCPICmdWrite): """ # noqa: E501 -class MathMathItemFilterPripple(SCPICmdWrite): +class MathMathItemFilterPripple(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:PRIPple`` command. **Description:** @@ -3188,6 +3260,9 @@ class MathMathItemFilterPripple(SCPICmdWrite): waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:PRIPple value`` command. @@ -3196,19 +3271,23 @@ class MathMathItemFilterPripple(SCPICmdWrite): :: - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? **Info:** - ```` sets the pass band ripple in the filter response. """ -class MathMathItemFilterOrder(SCPICmdWrite): +class MathMathItemFilterOrder(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:ORDer`` command. **Description:** - This command sets or queries the filter order. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ORDer?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ORDer value`` command. @@ -3217,13 +3296,14 @@ class MathMathItemFilterOrder(SCPICmdWrite): :: - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? **Info:** - ```` sets the filter order. """ -class MathMathItemFilterLoadResponse(SCPICmdWrite): +class MathMathItemFilterLoadResponse(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:LOAD:RESPonse`` command. **Description:** @@ -3231,6 +3311,9 @@ class MathMathItemFilterLoadResponse(SCPICmdWrite): math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse value`` command. @@ -3239,6 +3322,7 @@ class MathMathItemFilterLoadResponse(SCPICmdWrite): :: - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? **Info:** - ``1`` enables recall of filter response image. @@ -3285,6 +3369,11 @@ def response(self) -> MathMathItemFilterLoadResponse: math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:LOAD:RESPonse?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse value`` command. @@ -3293,6 +3382,7 @@ def response(self) -> MathMathItemFilterLoadResponse: :: - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? **Info:** - ``1`` enables recall of filter response image. @@ -3301,7 +3391,7 @@ def response(self) -> MathMathItemFilterLoadResponse: return self._response -class MathMathItemFilterLcfreq(SCPICmdWrite): +class MathMathItemFilterLcfreq(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:LCFReq`` command. **Description:** @@ -3309,6 +3399,9 @@ class MathMathItemFilterLcfreq(SCPICmdWrite): The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LCFReq value`` command. @@ -3317,6 +3410,7 @@ class MathMathItemFilterLcfreq(SCPICmdWrite): :: - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? **Info:** - ```` sets the low cutoff frequency for bandpass or band stop filter. @@ -3343,7 +3437,7 @@ class MathMathItemFilterInfo(SCPICmdRead): """ -class MathMathItemFilterHcfreq(SCPICmdWrite): +class MathMathItemFilterHcfreq(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:HCFReq`` command. **Description:** @@ -3351,6 +3445,9 @@ class MathMathItemFilterHcfreq(SCPICmdWrite): The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:HCFReq value`` command. @@ -3359,6 +3456,7 @@ class MathMathItemFilterHcfreq(SCPICmdWrite): :: - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? **Info:** - ```` sets the high cutoff frequency for bandpass or band stop filter. @@ -3389,7 +3487,7 @@ class MathMathItemFilterDesign(SCPICmdWrite): """ -class MathMathItemFilterDelay(SCPICmdWrite): +class MathMathItemFilterDelay(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:DELay`` command. **Description:** @@ -3397,6 +3495,9 @@ class MathMathItemFilterDelay(SCPICmdWrite): by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:DELay?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DELay value`` command. @@ -3405,13 +3506,14 @@ class MathMathItemFilterDelay(SCPICmdWrite): :: - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? **Info:** - ```` sets the delay for all pass filter. """ -class MathMathItemFilterCfreq(SCPICmdWrite): +class MathMathItemFilterCfreq(SCPICmdWrite, SCPICmdRead): """The ``MATH:MATH:FILTer:CFReq`` command. **Description:** @@ -3419,6 +3521,9 @@ class MathMathItemFilterCfreq(SCPICmdWrite): by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:CFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:CFReq?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:CFReq value`` command. @@ -3427,6 +3532,7 @@ class MathMathItemFilterCfreq(SCPICmdWrite): :: - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? **Info:** - ```` sets the filter cutoff frequency. @@ -3497,6 +3603,9 @@ def cfreq(self) -> MathMathItemFilterCfreq: specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:CFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:CFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:CFReq value`` command. @@ -3505,6 +3614,7 @@ def cfreq(self) -> MathMathItemFilterCfreq: :: - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? **Info:** - ```` sets the filter cutoff frequency. @@ -3520,6 +3630,9 @@ def delay(self) -> MathMathItemFilterDelay: specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:DELay?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DELay value`` command. @@ -3528,6 +3641,7 @@ def delay(self) -> MathMathItemFilterDelay: :: - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? **Info:** - ```` sets the delay for all pass filter. @@ -3568,6 +3682,9 @@ def hcfreq(self) -> MathMathItemFilterHcfreq: filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:HCFReq?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:HCFReq value`` command. @@ -3576,6 +3693,7 @@ def hcfreq(self) -> MathMathItemFilterHcfreq: :: - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? **Info:** - ```` sets the high cutoff frequency for bandpass or band stop filter. @@ -3612,6 +3730,9 @@ def lcfreq(self) -> MathMathItemFilterLcfreq: filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LCFReq?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LCFReq value`` command. @@ -3620,6 +3741,7 @@ def lcfreq(self) -> MathMathItemFilterLcfreq: :: - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? **Info:** - ```` sets the low cutoff frequency for bandpass or band stop filter. @@ -3660,6 +3782,9 @@ def order(self) -> MathMathItemFilterOrder: - This command sets or queries the filter order. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ORDer?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ORDer value`` command. @@ -3668,6 +3793,7 @@ def order(self) -> MathMathItemFilterOrder: :: - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? **Info:** - ```` sets the filter order. @@ -3683,6 +3809,9 @@ def pripple(self) -> MathMathItemFilterPripple: waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:PRIPple?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:PRIPple value`` command. @@ -3691,6 +3820,7 @@ def pripple(self) -> MathMathItemFilterPripple: :: - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? **Info:** - ```` sets the pass band ripple in the filter response. @@ -3706,6 +3836,9 @@ def response(self) -> MathMathItemFilterResponse: math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:RESPonse?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:RESPonse value`` command. @@ -3714,6 +3847,7 @@ def response(self) -> MathMathItemFilterResponse: :: - MATH:MATH:FILTer:RESPonse {BUTTerworth| CHEBYONe| CHEBYTWo| ELLiptical| GAUSsian| BESSelCUSTom} + - MATH:MATH:FILTer:RESPonse? **Info:** - ``BUTTerworth`` specifies the filter response as BUTTerworth. @@ -3734,6 +3868,9 @@ def rofactor(self) -> MathMathItemFilterRofactor: filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ROFactor?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ROFactor value`` command. @@ -3742,6 +3879,7 @@ def rofactor(self) -> MathMathItemFilterRofactor: :: - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? **Info:** - ```` specifies the Roll-off Factor value for Rasied-Cosine(RC) filter type. @@ -3757,6 +3895,11 @@ def sattenuation(self) -> MathMathItemFilterSattenuation: math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:SATTenuation?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SATTenuation value`` command. @@ -3765,6 +3908,7 @@ def sattenuation(self) -> MathMathItemFilterSattenuation: :: - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? **Info:** - ```` sets the stop band attenuation in the filter response. @@ -3805,6 +3949,9 @@ def sdeviation(self) -> MathMathItemFilterSdeviation: waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDEViation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDEViation?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDEViation value`` command. @@ -3813,6 +3960,7 @@ def sdeviation(self) -> MathMathItemFilterSdeviation: :: - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? **Info:** - ```` sets the standard deviation in gaussian filter. @@ -3828,6 +3976,9 @@ def sduration(self) -> MathMathItemFilterSduration: cosine filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDURation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDURation?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDURation value`` command. @@ -3836,6 +3987,7 @@ def sduration(self) -> MathMathItemFilterSduration: :: - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? **Info:** - ```` specifies the number of symbol duration for Root-Raised-Cosine (RRC) filter @@ -3852,6 +4004,9 @@ def source(self) -> MathMathItemFilterSource: source are specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SOURce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SOURce value`` command. @@ -3860,6 +4015,7 @@ def source(self) -> MathMathItemFilterSource: :: - MATH:MATH:FILTer:SOURce {CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? **Info:** - ``CH`` specifies an analog channel as source. @@ -3877,6 +4033,9 @@ def symbols(self) -> MathMathItemFilterSymbols: filter. The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SYMBols?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SYMBols value`` command. @@ -3885,6 +4044,7 @@ def symbols(self) -> MathMathItemFilterSymbols: :: - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? **Info:** - ```` specifies the number of symbols for Raised-Cosine (RC) filter type. @@ -3900,6 +4060,9 @@ def twidth(self) -> MathMathItemFilterTwidth: The math waveform is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TWIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TWIDth value`` command. @@ -3908,6 +4071,7 @@ def twidth(self) -> MathMathItemFilterTwidth: :: - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? **Info:** - ```` specifies the Transition Width for Custom filter response. @@ -3923,6 +4087,9 @@ def type(self) -> MathMathItemFilterType: x. **Usage:** + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TYPe value`` command. @@ -3931,6 +4098,7 @@ def type(self) -> MathMathItemFilterType: :: - MATH:MATH:FILTer:TYPe {LPASs| HPASs| BPASs| BSTop| APASs| HILBert| DIFFerentiator| RC| RRC} + - MATH:MATH:FILTer:TYPe? **Info:** - ``LPASs`` specifies the filter type as LPASs. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/measurement.py b/src/tm_devices/commands/_c3g63_lpdmso/measurement.py index 7f290486..b954508a 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/measurement.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/measurement.py @@ -13,11 +13,11 @@ :: - - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMPSIJ |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} - MEASUrement:ADDNew 'QString' - MEASUrement:ANNOTate {OFF|AUTO} - MEASUrement:ANNOTate? - - MEASUrement:AUTOset {EXECute |THREEPHASEAUTOset |WBGPREset} + - MEASUrement:AUTOset {DPMAutoset |DPMPReset |EXECute |THREEPHASEAUTOset |WBGDeskewexec |WBGPREset |WBGGSTIM} - MEASUrement:CH:REFLevels:ABSolute:FALLHigh - MEASUrement:CH:REFLevels:ABSolute:FALLHigh? - MEASUrement:CH:REFLevels:ABSolute:FALLLow @@ -86,11 +86,14 @@ - MEASUrement:CLOCKRecovery:NOMINALOFFset? - MEASUrement:CLOCKRecovery:STAndard {CUSTom| ENET100| FW1394BS400B| FW1394BS800B| FW1394BS1600B| FBD1| FBD2| FBD3| FC133| FC266| FC531| FC1063| FC2125| FC4250| FC8500| ENET1000| IBA2500| IBA_GEN2| OC1| OC3| OC12| OC48| PCIE_GEN1| PCIE_GEN2| PCIE_GEN3| RIO125| RIO250| RIO3125| SAS15_NOSSC| SAS3_NOSSC| SAS6_NOSSC| SAS12_NOSSC| SAS15_SSC| SAS3_SSC| SAS6_SSC| SAS12_SSC| SATA_GEN1| SATA_GEN2| SATA_GEN3| USB3| XAUI| XAUI_GEN2} - MEASUrement:CLOCKRecovery:STAndard? + - MEASUrement:CLOCKRecovery:TDCOMPensation {1|0} + - MEASUrement:CLOCKRecovery:TDCOMPensation? - MEASUrement:DELETEALL - MEASUrement:DELete - MEASUrement:DIRacmodel {PCIExpress|FIBREchannel} - MEASUrement:DIRacmodel? - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? - MEASUrement:EDGE {RISE|FALL|BOTH} - MEASUrement:EYERENDER {|OFF|ON} - MEASUrement:EYERENDER? @@ -146,7 +149,7 @@ - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC? - MEASUrement:HIGHLEVel:OUTSOURCE {CH|MATH|REF} - MEASUrement:HIGHLEVel:OUTSOURCE? - - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} - MEASUrement:HIGHLEVel:OUTWIRing? - MEASUrement:HIGHLEVel:SOURCE {CH|MATH|REF} - MEASUrement:HIGHLEVel:SOURCE? @@ -201,12 +204,16 @@ - MEASUrement:MEAS:ABANdwidth? - MEASUrement:MEAS:ACHANnels - MEASUrement:MEAS:ACHANnels? + - MEASUrement:MEAS:AMEThod {PARAmetric|HISTogram} + - MEASUrement:MEAS:AMEThod? - MEASUrement:MEAS:BER - MEASUrement:MEAS:BER:TARGETBER - MEASUrement:MEAS:BER:TARGETBER? - MEASUrement:MEAS:BER? - MEASUrement:MEAS:BIN - MEASUrement:MEAS:BIN? + - MEASUrement:MEAS:BITAbsolute + - MEASUrement:MEAS:BITAbsolute? - MEASUrement:MEAS:BITCfgmode {MEAN|MODE} - MEASUrement:MEAS:BITCfgmode? - MEASUrement:MEAS:BITEnd @@ -219,6 +226,8 @@ - MEASUrement:MEAS:BITType? - MEASUrement:MEAS:BURSTEDGTYPe {RISE|FALL} - MEASUrement:MEAS:BURSTEDGTYPe? + - MEASUrement:MEAS:BVOLTage + - MEASUrement:MEAS:BVOLTage? - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum? - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN? - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum? @@ -263,6 +272,8 @@ - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset? - MEASUrement:MEAS:CLOCKRecovery:STAndard {CUSTom| ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1| FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250| FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48| PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125| SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC| SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2| SATA_GEN3|USB3|XAUI|XAUI_GEN2} + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation {0|1} + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation? - MEASUrement:MEAS:COMMONMode:FILTers:STATE {OFF|ON|0|1} - MEASUrement:MEAS:COMMONMode:FILTers:STATE? - MEASUrement:MEAS:COMMONMode:SOURCEs {SINGLE|DOUBLE} @@ -275,7 +286,7 @@ - MEASUrement:MEAS:CSPACing? - MEASUrement:MEAS:CUSTOMLIMITSFile - MEASUrement:MEAS:CUSTOMLIMITSFile? - - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE|ROTATION} - MEASUrement:MEAS:CYCLemode? - MEASUrement:MEAS:DBDown - MEASUrement:MEAS:DBDown? @@ -308,6 +319,14 @@ - MEASUrement:MEAS:EDGES:UPPERFREQuency? - MEASUrement:MEAS:EEQUal {ON|OFF} - MEASUrement:MEAS:EEQUal? + - MEASUrement:MEAS:EINDuctance + - MEASUrement:MEAS:EINDuctance? + - MEASUrement:MEAS:EINTerpolation {ON|OFF} + - MEASUrement:MEAS:EINTerpolation? + - MEASUrement:MEAS:EXTENDuis + - MEASUrement:MEAS:EXTENDuis? + - MEASUrement:MEAS:EYERender {FAst|COMPlete} + - MEASUrement:MEAS:EYERender? - MEASUrement:MEAS:FAILCount? - MEASUrement:MEAS:FILTERRANGEFROM - MEASUrement:MEAS:FILTERRANGEFROM? @@ -327,6 +346,8 @@ - MEASUrement:MEAS:FILTers:LOWPass:SPEC? - MEASUrement:MEAS:FILTers:RAMPtime - MEASUrement:MEAS:FILTers:RAMPtime? + - MEASUrement:MEAS:FORDer + - MEASUrement:MEAS:FORDer? - MEASUrement:MEAS:FPARAmeter - MEASUrement:MEAS:FPARAmeter? - MEASUrement:MEAS:FREQ @@ -371,7 +392,7 @@ - MEASUrement:MEAS:HARMONICSCLass? - MEASUrement:MEAS:HARMONICSSOURce {CURRENT|VOLTAGE} - MEASUrement:MEAS:HARMONICSSOURce? - - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd {NONE| IEC| IEEE519| CUSTOM| REVIEEE5192022} - MEASUrement:MEAS:HARMONICSStd? - MEASUrement:MEAS:HARMONICSUNits {LOGARITHM|LINEAR} - MEASUrement:MEAS:HARMONICSUNits? @@ -503,6 +524,8 @@ - MEASUrement:MEAS:PCOUNt - MEASUrement:MEAS:PCOUNt? - MEASUrement:MEAS:PERFREQ:EDGE {FIRST|RISE|FALL} + - MEASUrement:MEAS:PFREquency + - MEASUrement:MEAS:PFREquency? - MEASUrement:MEAS:POLarity {NORMal|INVerted} - MEASUrement:MEAS:POLarity? - MEASUrement:MEAS:POPUlation:GLOBal {OFF|ON|0|1} @@ -517,6 +540,10 @@ - MEASUrement:MEAS:POWERFACtor? - MEASUrement:MEAS:PREGion {FPULse|SPULse|MPULse} - MEASUrement:MEAS:PREGion? + - MEASUrement:MEAS:PRESistance + - MEASUrement:MEAS:PRESistance? + - MEASUrement:MEAS:PTHReshold + - MEASUrement:MEAS:PTHReshold? - MEASUrement:MEAS:PWIDth - MEASUrement:MEAS:PWIDth? - MEASUrement:MEAS:REDGe {ON|OFF} @@ -581,8 +608,12 @@ - MEASUrement:MEAS:RESUlts:HISTory:PK2PK? - MEASUrement:MEAS:RESUlts:HISTory:POPUlation? - MEASUrement:MEAS:RESUlts:HISTory:STDDev? + - MEASUrement:MEAS:RFREquency + - MEASUrement:MEAS:RFREquency? - MEASUrement:MEAS:RIPPLEFREQVal - MEASUrement:MEAS:RIPPLEFREQVal? + - MEASUrement:MEAS:RRANGE + - MEASUrement:MEAS:RRANGE? - MEASUrement:MEAS:SEQuence {ABC|ACB} - MEASUrement:MEAS:SEQuence? - MEASUrement:MEAS:SIGNALFREQUEncy {AUTO|FIFTYHZ|SIXTYHZ|FOURHUNDREDHZ|CUSTOM} @@ -618,6 +649,18 @@ - MEASUrement:MEAS:STSDirection? - MEASUrement:MEAS:STYPe {VOLTage|CURRent} - MEASUrement:MEAS:STYPe? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? - MEASUrement:MEAS:SUNits {RPM|HZ} - MEASUrement:MEAS:SUNits? - MEASUrement:MEAS:TCKAVG @@ -626,6 +669,8 @@ - MEASUrement:MEAS:TCONstant? - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} - MEASUrement:MEAS:TIMINGMode? + - MEASUrement:MEAS:TLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:TLEVel? - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} - MEASUrement:MEAS:TMEThod? - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} @@ -643,10 +688,34 @@ - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} - MEASUrement:MEAS:TOSYmbol:MEASUREAT? - MEASUrement:MEAS:TRANSition {|OFF|ON} - - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMPSIJ |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} - MEASUrement:MEAS:TYPe? + - MEASUrement:MEAS:VLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:VLEVel? - MEASUrement:MEAS:WAITTime - MEASUrement:MEAS:WAITTime? + - MEASUrement:MEAS:WBG:AFGSetup {CONNECT|RUN} + - MEASUrement:MEAS:WBG:AFGaddress + - MEASUrement:MEAS:WBG:AFGaddress? + - MEASUrement:MEAS:WBG:CSTatus? + - MEASUrement:MEAS:WBG:GTYPe {AFG31000|OTHER} + - MEASUrement:MEAS:WBG:GTYPe? + - MEASUrement:MEAS:WBG:HIGH + - MEASUrement:MEAS:WBG:HIGH? + - MEASUrement:MEAS:WBG:LOAD {FIFTY|HIGHZ} + - MEASUrement:MEAS:WBG:LOAD? + - MEASUrement:MEAS:WBG:LOW + - MEASUrement:MEAS:WBG:LOW? + - MEASUrement:MEAS:WBG:NPULs + - MEASUrement:MEAS:WBG:NPULs? + - MEASUrement:MEAS:WBG:PGVal + - MEASUrement:MEAS:WBG:PGVal? + - MEASUrement:MEAS:WBG:PWVal + - MEASUrement:MEAS:WBG:PWVal? + - MEASUrement:MEAS:WBG:TIMer + - MEASUrement:MEAS:WBG:TIMer? + - MEASUrement:MEAS:WIDTh + - MEASUrement:MEAS:WIDTh? - MEASUrement:MEAS:WINDOWLENgth - MEASUrement:MEAS:WINDOWLENgth? - MEASUrement:MEAS:XUNIT? @@ -769,6 +838,7 @@ from .._helpers import ( DefaultDictPassKeyToFactory, SCPICmdRead, + SCPICmdReadWithArguments, SCPICmdWrite, SCPICmdWriteNoArguments, ValidatedChannel, @@ -1161,7 +1231,7 @@ class MeasurementReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1190,7 +1260,7 @@ class MeasurementReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1219,7 +1289,7 @@ class MeasurementReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. @@ -1248,7 +1318,7 @@ class MeasurementReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -1277,7 +1347,7 @@ class MeasurementReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -1306,7 +1376,7 @@ class MeasurementReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -1335,7 +1405,7 @@ class MeasurementReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. @@ -1399,8 +1469,8 @@ def fallhigh(self) -> MeasurementReflevelsPercentFallhigh: """Return the ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -1430,8 +1500,8 @@ def falllow(self) -> MeasurementReflevelsPercentFalllow: """Return the ``MEASUrement:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -1461,8 +1531,8 @@ def fallmid(self) -> MeasurementReflevelsPercentFallmid: """Return the ``MEASUrement:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -1492,7 +1562,7 @@ def hysteresis(self) -> MeasurementReflevelsPercentHysteresis: """Return the ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -1522,8 +1592,8 @@ def risehigh(self) -> MeasurementReflevelsPercentRisehigh: """Return the ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -1553,8 +1623,8 @@ def riselow(self) -> MeasurementReflevelsPercentRiselow: """Return the ``MEASUrement:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -1584,8 +1654,8 @@ def risemid(self) -> MeasurementReflevelsPercentRisemid: """Return the ``MEASUrement:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -2513,7 +2583,7 @@ class MeasurementRefItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. @@ -2542,7 +2612,7 @@ class MeasurementRefItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. @@ -2571,7 +2641,7 @@ class MeasurementRefItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. @@ -2600,7 +2670,7 @@ class MeasurementRefItemReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. @@ -2629,7 +2699,7 @@ class MeasurementRefItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. @@ -2658,7 +2728,7 @@ class MeasurementRefItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. @@ -2687,7 +2757,7 @@ class MeasurementRefItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. @@ -2765,8 +2835,8 @@ def fallhigh(self) -> MeasurementRefItemReflevelsPercentFallhigh: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2796,8 +2866,8 @@ def falllow(self) -> MeasurementRefItemReflevelsPercentFalllow: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2826,8 +2896,8 @@ def fallmid(self) -> MeasurementRefItemReflevelsPercentFallmid: """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. **Usage:** @@ -2857,9 +2927,9 @@ def hysteresis(self) -> MeasurementRefItemReflevelsPercentHysteresis: """Return the ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is - equal to MIN) used to calculate the hysteresis of the reference level when the - measurement's ref level method is set to percent. + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. **Usage:** - Using the ``.query()`` method will send the @@ -2887,8 +2957,8 @@ def risehigh(self) -> MeasurementRefItemReflevelsPercentRisehigh: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -2918,8 +2988,8 @@ def riselow(self) -> MeasurementRefItemReflevelsPercentRiselow: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -2949,8 +3019,8 @@ def risemid(self) -> MeasurementRefItemReflevelsPercentRisemid: """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. **Usage:** @@ -4615,143 +4685,836 @@ class MeasurementMeasItemWindowlength(SCPICmdWrite, SCPICmdRead): """ -class MeasurementMeasItemWaittime(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:WAITTime`` command. +class MeasurementMeasItemWidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WIDTh`` command. **Description:** - - Sets or queries the wait time. + - This command sets or queries the histogram width in terms of percentage. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WAITTime?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WAITTime?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WAITTime value`` + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WIDTh?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WIDTh?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WIDTh value`` command. **SCPI Syntax:** :: - - MEASUrement:MEAS:WAITTime - - MEASUrement:MEAS:WAITTime? + - MEASUrement:MEAS:WIDTh + - MEASUrement:MEAS:WIDTh? **Info:** - ``MEAS`` is the measurement number. - - ```` is the wait time, in the range of 1 s to 500 s. + - ```` is the value for the width. """ -class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TYPe`` command. +class MeasurementMeasItemWbgTimer(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:TIMer`` command. **Description:** - - This command sets or queries the measurement type for the measurement specified by x. + - This command sets or returns the trigger interval of AFG for WBG measurements. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TYPe?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TYPe?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TYPe value`` + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:TIMer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:TIMer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:TIMer value`` command. **SCPI Syntax:** :: - - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} - - MEASUrement:MEAS:TYPe? + - MEASUrement:MEAS:WBG:TIMer + - MEASUrement:MEAS:WBG:TIMer? **Info:** - - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage of - two sources. This measurement is made across the entire record. This measurement requires - the DJA option and is not available on a 4 Series MSO instrument. - - ``ACPR`` (Adjacent Channel Power Ratio) is the amount of power that leaks into adjacent - channels. This can be specified in terms of absolute power or a ratio of adjacent channel - power to the main channel power, called adjacent channel power ratio (ACPR) or adjacent - channel leakage ratio (ACLR). - - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. This - measurement can be made across the entire record, or on each cycle in the record. - - ``AMPLITUDE`` is the difference between the Top value and the Base value. This measurement - can be made across the entire record, or on each cycle in the record. - - ``Amplitude = High - Low`` - - ``AREA`` is the area under the curve, calculated by integrating the data points. The area - measured above ground is positive. The area measured below ground is negative. This - measurement can be made across the entire record, or on each cycle in the record. - - ``BASE`` is the most common data value below the midpoint of the waveform. This - measurement can be made across the entire record, or on each cycle in the record. - - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit and - the 0 bit surrounding a transition. The amplitude is measured over a user specified - portion at the center of the recovered unit interval. This measurement is made on each - transition bit in the record (Mean) or across the entire record (Mode). This measurement - requires the DJA option and is not available on a 4 Series MSO instrument. - - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a user - specified portion at the center of the recovered unit interval. This measurement is made - on each high bit in the record (Mean) or across the entire record (Mode). This measurement - requires the DJA option and is not available on a 4 Series MSO instrument. - - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a user - specified portion at the center of the recovered unit interval. This measurement is made - on each high bit in the record (Mean) or across the entire record (Mode). This measurement - requires the DJA option and is not available on a 4 Series MSO instrument. - - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the Mid - reference level (RM). Bursts are separated by a user-defined idle time (tI). This - measurement is made on each burst in the record. - - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of two - sources. This measurement is made across the entire record. This measurement requires the - DJA option and is not available on a 4 Series MSO instrument. - - ``CPOWER`` (Channel Power) is the measurement of integrated power within a specified - channel bandwidth for a RF signal. The resulting channel power is an absolute power + - ``MEAS`` specifies the measurement number. + - ```` specifies the trigger interval of AFG for WBG measurements. + """ + + +class MeasurementMeasItemWbgPwvalItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:PWVal`` command. + + **Description:** + - This command sets or returns the pulse width of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:PWVal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:PWVal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:PWVal value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:PWVal + - MEASUrement:MEAS:WBG:PWVal? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PW`` specifies the pulse width number. The valid values are 1 to 8. + - ```` specifies the pulse width of AFG for WBG measurements. + """ + + +class MeasurementMeasItemWbgPgvalItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:PGVal`` command. + + **Description:** + - This command sets or returns the pulse gap of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:PGVal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:PGVal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:PGVal value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:PGVal + - MEASUrement:MEAS:WBG:PGVal? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PG`` specifies the number of pulse. The valid values are 1 to 8. + - ```` specifies the pulse gap of AFG for WBG measurements. + """ + + +class MeasurementMeasItemWbgNpuls(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:NPULs`` command. + + **Description:** + - This command sets or returns the number of pulse of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:NPULs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:NPULs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:NPULs value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:NPULs + - MEASUrement:MEAS:WBG:NPULs? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the number of pulse of AFG to generate pulse signal for WBG + measurements. + """ + + +class MeasurementMeasItemWbgLow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:LOW`` command. + + **Description:** + - This command sets or returns the low voltage value of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:LOW?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:LOW?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:LOW value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:LOW + - MEASUrement:MEAS:WBG:LOW? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the low voltage of AFG for WBG measurements. + """ + + +class MeasurementMeasItemWbgLoad(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:LOAD`` command. + + **Description:** + - This command sets or returns the load type of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:LOAD?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:LOAD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:LOAD value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:LOAD {FIFTY|HIGHZ} + - MEASUrement:MEAS:WBG:LOAD? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``FIFTY`` specifies the load type of AFG as Fifty for WBG measurements. + - ``HIGHZ`` specifies the load type of AFG as High Z for WBG measurements. + """ + + +class MeasurementMeasItemWbgHigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:HIGH`` command. + + **Description:** + - This command sets or returns the high voltage value of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:HIGH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:HIGH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:HIGH value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:HIGH + - MEASUrement:MEAS:WBG:HIGH? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the high voltage of AFG for WBG measurements. + """ + + +class MeasurementMeasItemWbgGtype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:GTYPe`` command. + + **Description:** + - This command sets or returns the generator type for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:GTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:GTYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:GTYPe value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:GTYPe {AFG31000|OTHER} + - MEASUrement:MEAS:WBG:GTYPe? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``AFG31000`` specifies the generator type for WBG measurement as AFG31000. + - ``OTHER`` specifies the generator type for WBG measurement as OTHER. + """ + + +class MeasurementMeasItemWbgCstatus(SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:CSTatus`` command. + + **Description:** + - This command queries the AFG test connection status. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:CSTatus?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:CSTatus?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:CSTatus? + + **Info:** + - ``MEAS`` specifies the measurement number. + """ + + +class MeasurementMeasItemWbgAfgaddress(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WBG:AFGaddress`` command. + + **Description:** + - This command sets or returns the AFG address of external AFG connected for WBG measurement. - - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made on - each bit in the record. - - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the - deterministic jitter correlated with the signal polarity. This measurement is made across - the entire record. This measurement requires the DJA option and is not available on a 4 - Series MSO instrument. - - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the - deterministic jitter correlated with the data pattern in the waveform. This measurement is - made across the entire record. This measurement requires the DJA option and is not - available on a 4 Series MSO instrument. - - ``DDRAOS`` (area above signal) is the total area of the signal above a specified reference - level. This measurement is made across the entire record. - - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal above a - specified reference level calculated over consecutive tCK intervals. It is applicable to - clock and address/command waveforms. - - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above a - specified reference level calculated over consecutive unit intervals. It is applicable to - data and data strobe waveforms. - - ``DDRAUS`` (area under signal) is the total area of the signal below a specified reference - level. This measurement is made across the entire record. - - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal below - a specified reference level calculated over consecutive tCK intervals. It is applicable to - clock and address/command waveforms. - - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal below a - specified reference level calculated over consecutive unit intervals. It is applicable to - data and data strobe waveforms. - - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a - single-ended clock waveform and the specified edge of a differential data waveform. The - measurement uses the closest respective waveform edges that fall within the range - limits.This measurement is made across the entire record. - - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of a - single-ended clock waveform and when the specified edge of a differential data waveform - crosses a specified level. The measurement uses the closest respective waveform edges that - fall within the range limits. This measurement is made across the entire record. - - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse width as - measured from one rising edge to the next falling edge. - - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse width - as measured from one rising edge to the next falling edge, across 200 consecutive - cycles.This measurement is made across the entire record. - - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from - rising edge to rising edge, across 200 consecutive cycles.This measurement is made across - the entire record. - - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width as - measured from a falling edge to the next rising edge. This measurement is made across the - entire record. - - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse width as - measured from one falling edge to the next rising edge, across 200 consecutive cycles. - - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive - defined cycles from tCK(avg). - - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive - cycles from tCK(avg). In other words, this measures the time difference between the sum of + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:AFGaddress?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:AFGaddress?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:AFGaddress value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:AFGaddress + - MEASUrement:MEAS:WBG:AFGaddress? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the AFG IP address to connect external AFG for WBG measurements. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MeasurementMeasItemWbgAfgsetup(SCPICmdWrite): + """The ``MEASUrement:MEAS:WBG:AFGSetup`` command. + + **Description:** + - This command executes AFG test connection or once AFG connection succeeded, Run will setup + configuration on connected AFG. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:AFGSetup value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:AFGSetup {CONNECT|RUN} + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``CONNECT`` executes AFG test connection. + - ``RUN`` will setup AFG configuration. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemWbg(SCPICmdRead): + """The ``MEASUrement:MEAS:WBG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.afgsetup``: The ``MEASUrement:MEAS:WBG:AFGSetup`` command. + - ``.afgaddress``: The ``MEASUrement:MEAS:WBG:AFGaddress`` command. + - ``.cstatus``: The ``MEASUrement:MEAS:WBG:CSTatus`` command. + - ``.gtype``: The ``MEASUrement:MEAS:WBG:GTYPe`` command. + - ``.high``: The ``MEASUrement:MEAS:WBG:HIGH`` command. + - ``.load``: The ``MEASUrement:MEAS:WBG:LOAD`` command. + - ``.low``: The ``MEASUrement:MEAS:WBG:LOW`` command. + - ``.npuls``: The ``MEASUrement:MEAS:WBG:NPULs`` command. + - ``.pgval``: The ``MEASUrement:MEAS:WBG:PGVal`` command. + - ``.pwval``: The ``MEASUrement:MEAS:WBG:PWVal`` command. + - ``.timer``: The ``MEASUrement:MEAS:WBG:TIMer`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._afgsetup = MeasurementMeasItemWbgAfgsetup(device, f"{self._cmd_syntax}:AFGSetup") + self._afgaddress = MeasurementMeasItemWbgAfgaddress( + device, f"{self._cmd_syntax}:AFGaddress" + ) + self._cstatus = MeasurementMeasItemWbgCstatus(device, f"{self._cmd_syntax}:CSTatus") + self._gtype = MeasurementMeasItemWbgGtype(device, f"{self._cmd_syntax}:GTYPe") + self._high = MeasurementMeasItemWbgHigh(device, f"{self._cmd_syntax}:HIGH") + self._load = MeasurementMeasItemWbgLoad(device, f"{self._cmd_syntax}:LOAD") + self._low = MeasurementMeasItemWbgLow(device, f"{self._cmd_syntax}:LOW") + self._npuls = MeasurementMeasItemWbgNpuls(device, f"{self._cmd_syntax}:NPULs") + self._pgval: Dict[int, MeasurementMeasItemWbgPgvalItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemWbgPgvalItem(device, f"{self._cmd_syntax}:PG{x}Val") + ) + self._pwval: Dict[int, MeasurementMeasItemWbgPwvalItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemWbgPwvalItem(device, f"{self._cmd_syntax}:PW{x}Val") + ) + self._timer = MeasurementMeasItemWbgTimer(device, f"{self._cmd_syntax}:TIMer") + + @property + def afgsetup(self) -> MeasurementMeasItemWbgAfgsetup: + """Return the ``MEASUrement:MEAS:WBG:AFGSetup`` command. + + **Description:** + - This command executes AFG test connection or once AFG connection succeeded, Run will + setup configuration on connected AFG. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:AFGSetup value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:AFGSetup {CONNECT|RUN} + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``CONNECT`` executes AFG test connection. + - ``RUN`` will setup AFG configuration. + """ + return self._afgsetup + + @property + def afgaddress(self) -> MeasurementMeasItemWbgAfgaddress: + """Return the ``MEASUrement:MEAS:WBG:AFGaddress`` command. + + **Description:** + - This command sets or returns the AFG address of external AFG connected for WBG + measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:AFGaddress?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:WBG:AFGaddress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:AFGaddress value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:AFGaddress + - MEASUrement:MEAS:WBG:AFGaddress? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the AFG IP address to connect external AFG for WBG + measurements. + """ + return self._afgaddress + + @property + def cstatus(self) -> MeasurementMeasItemWbgCstatus: + """Return the ``MEASUrement:MEAS:WBG:CSTatus`` command. + + **Description:** + - This command queries the AFG test connection status. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:CSTatus?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:CSTatus?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:CSTatus? + + **Info:** + - ``MEAS`` specifies the measurement number. + """ + return self._cstatus + + @property + def gtype(self) -> MeasurementMeasItemWbgGtype: + """Return the ``MEASUrement:MEAS:WBG:GTYPe`` command. + + **Description:** + - This command sets or returns the generator type for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:GTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:GTYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:GTYPe value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:GTYPe {AFG31000|OTHER} + - MEASUrement:MEAS:WBG:GTYPe? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``AFG31000`` specifies the generator type for WBG measurement as AFG31000. + - ``OTHER`` specifies the generator type for WBG measurement as OTHER. + """ + return self._gtype + + @property + def high(self) -> MeasurementMeasItemWbgHigh: + """Return the ``MEASUrement:MEAS:WBG:HIGH`` command. + + **Description:** + - This command sets or returns the high voltage value of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:HIGH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:HIGH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:HIGH + - MEASUrement:MEAS:WBG:HIGH? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the high voltage of AFG for WBG measurements. + """ + return self._high + + @property + def load(self) -> MeasurementMeasItemWbgLoad: + """Return the ``MEASUrement:MEAS:WBG:LOAD`` command. + + **Description:** + - This command sets or returns the load type of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:LOAD?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:LOAD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:LOAD value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:LOAD {FIFTY|HIGHZ} + - MEASUrement:MEAS:WBG:LOAD? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``FIFTY`` specifies the load type of AFG as Fifty for WBG measurements. + - ``HIGHZ`` specifies the load type of AFG as High Z for WBG measurements. + """ + return self._load + + @property + def low(self) -> MeasurementMeasItemWbgLow: + """Return the ``MEASUrement:MEAS:WBG:LOW`` command. + + **Description:** + - This command sets or returns the low voltage value of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:LOW?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:LOW?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WBG:LOW value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:LOW + - MEASUrement:MEAS:WBG:LOW? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the low voltage of AFG for WBG measurements. + """ + return self._low + + @property + def npuls(self) -> MeasurementMeasItemWbgNpuls: + """Return the ``MEASUrement:MEAS:WBG:NPULs`` command. + + **Description:** + - This command sets or returns the number of pulse of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:NPULs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:NPULs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:NPULs value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:NPULs + - MEASUrement:MEAS:WBG:NPULs? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the number of pulse of AFG to generate pulse signal for WBG + measurements. + """ + return self._npuls + + @property + def pgval(self) -> Dict[int, MeasurementMeasItemWbgPgvalItem]: + """Return the ``MEASUrement:MEAS:WBG:PGVal`` command. + + **Description:** + - This command sets or returns the pulse gap of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:PGVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:WBG:PGVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:PGVal value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:PGVal + - MEASUrement:MEAS:WBG:PGVal? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PG`` specifies the number of pulse. The valid values are 1 to 8. + - ```` specifies the pulse gap of AFG for WBG measurements. + """ + return self._pgval + + @property + def pwval(self) -> Dict[int, MeasurementMeasItemWbgPwvalItem]: + """Return the ``MEASUrement:MEAS:WBG:PWVal`` command. + + **Description:** + - This command sets or returns the pulse width of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:PWVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:WBG:PWVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:PWVal value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:PWVal + - MEASUrement:MEAS:WBG:PWVal? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PW`` specifies the pulse width number. The valid values are 1 to 8. + - ```` specifies the pulse width of AFG for WBG measurements. + """ + return self._pwval + + @property + def timer(self) -> MeasurementMeasItemWbgTimer: + """Return the ``MEASUrement:MEAS:WBG:TIMer`` command. + + **Description:** + - This command sets or returns the trigger interval of AFG for WBG measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG:TIMer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG:TIMer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WBG:TIMer value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WBG:TIMer + - MEASUrement:MEAS:WBG:TIMer? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the trigger interval of AFG for WBG measurements. + """ + return self._timer + + +class MeasurementMeasItemWaittime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WAITTime`` command. + + **Description:** + - Sets or queries the wait time. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WAITTime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WAITTime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WAITTime value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WAITTime + - MEASUrement:MEAS:WAITTime? + + **Info:** + - ``MEAS`` is the measurement number. + - ```` is the wait time, in the range of 1 s to 500 s. + """ + + +class MeasurementMeasItemVlevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:VLEVel`` command. + + **Description:** + - This command sets or queries whether histogram center is percentage relative to unit + interval or an absolute value for eye width measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:VLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:VLEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:VLEVel value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:VLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:VLEVel? + + **Info:** + - ``MEAS`` is the measurement number. + - ``PERCent`` sets the histogram center as a percentage relative to unit interval. + - ``ABSolute`` sets the histogram center as an absolute value. + """ + + +class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TYPe`` command. + + **Description:** + - This command sets or queries the measurement type for the measurement specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMPSIJ |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:MEAS:TYPe? + + **Info:** + - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage of + two sources. This measurement is made across the entire record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``ACPR`` (Adjacent Channel Power Ratio) is the amount of power that leaks into adjacent + channels. This can be specified in terms of absolute power or a ratio of adjacent channel + power to the main channel power, called adjacent channel power ratio (ACPR) or adjacent + channel leakage ratio (ACLR). + - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. This + measurement can be made across the entire record, or on each cycle in the record. + - ``AMPLITUDE`` is the difference between the Top value and the Base value. This measurement + can be made across the entire record, or on each cycle in the record. + - ``AREA`` is the area under the curve, calculated by integrating the data points. The area + measured above ground is positive. The area measured below ground is negative. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BASE`` is the most common data value below the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit and + the 0 bit surrounding a transition. The amplitude is measured over a user specified + portion at the center of the recovered unit interval. This measurement is made on each + transition bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the Mid + reference level (RM). Bursts are separated by a user-defined idle time (tI). This + measurement is made on each burst in the record. + - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of two + sources. This measurement is made across the entire record. This measurement requires the + DJA option and is not available on a 4 Series MSO instrument. + - ``CPOWER`` (Channel Power) is the measurement of integrated power within a specified + channel bandwidth for a RF signal. The resulting channel power is an absolute power + measurement. + - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made on + each bit in the record. + - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the signal polarity. This measurement is made across + the entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the data pattern in the waveform. This measurement is + made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``DDRAOS`` (area above signal) is the total area of the signal above a specified reference + level. This measurement is made across the entire record. + - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal above a + specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRAUS`` (area under signal) is the total area of the signal below a specified reference + level. This measurement is made across the entire record. + - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal below + a specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal below a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a + single-ended clock waveform and the specified edge of a differential data waveform. The + measurement uses the closest respective waveform edges that fall within the range + limits.This measurement is made across the entire record. + - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of a + single-ended clock waveform and when the specified edge of a differential data waveform + crosses a specified level. The measurement uses the closest respective waveform edges that + fall within the range limits. This measurement is made across the entire record. + - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse width as + measured from one rising edge to the next falling edge. + - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse width + as measured from one rising edge to the next falling edge, across 200 consecutive + cycles.This measurement is made across the entire record. + - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from + rising edge to rising edge, across 200 consecutive cycles.This measurement is made across + the entire record. + - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width as + measured from a falling edge to the next rising edge. This measurement is made across the + entire record. + - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse width as + measured from one falling edge to the next rising edge, across 200 consecutive cycles. + - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive + defined cycles from tCK(avg). + - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive + cycles from tCK(avg). In other words, this measures the time difference between the sum of the clock period from a 200 cycle window and n times tCK(avg). - ``DDRTJITCC`` (cycle to cycle jitter period) is the absolute difference in clock period between two consecutive clock cycles. This measurement is made across the entire record. @@ -4788,6 +5551,8 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): - ``DPMOVERSHOOT`` is the difference between Maximum and Top, divided by the amplitude. This measurement can be made across the entire record or on each cycle in the record at the specified reference voltage. + - ``DPMPSIJ`` is the Power Supply Induced Jitter. This measurement helps in suppressing the + jitter in high speed signals (victim) induced from power rail signals (aggressor). - ``DPMUNDERSHOOT`` is the difference between Minimum and Base, divided by the amplitude. This measurement can be made across the entire record or on each cycle in the record at the specified reference voltage. @@ -4885,7 +5650,6 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): record, or on each cycle in the record. - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the Period. This measurement is made on each cycle in the record. - - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is the time between two adjacent (same direction) crossings of the Mid reference level (RM). This measurement is made on each cycle in the record. @@ -4896,7 +5660,6 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, divided by the Amplitude. This measurement can be made across the entire record, or on each cycle in the record. - - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid reference level (RM). This measurement is made on each cycle in the record. - ``OBW`` (Occupied Bandwidth) refers to the bandwidth, including energy of a certain @@ -4904,7 +5667,6 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): channel as the center. - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the Period. This measurement is made on each cycle in the record. - - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two adjacent (same direction) crossings of the Mid reference level (RM). This measurement is made on each cycle in the record. @@ -4922,7 +5684,6 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided by the Amplitude. This measurement can be made across the entire record, or on each cycle in the record. - - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid reference level (RM). This measurement is made on each cycle in the record. - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise @@ -5000,6 +5761,8 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): Requires a WBG-DPT License. - ``WBGIRRM`` (Irrm) measures the maximum current dissipated in the Power Device in the reverse recovery region. Requires a WBG-DPT License. + - ``WBGQOSS`` (Qoss) is the charge that must be supplied to the output capacitance of the + power device during a specified time interval. Requires a WBG-DPT License. - ``WBGQRR`` (Qrr) measures the reverse recovery charge in the Power Device using the configured levels. Requires a WBG-DPT License. - ``WBGTDOFF`` (Td(off)) measures the turn off delay time of the Power Device in the off @@ -5028,572 +5791,1629 @@ class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): """ # noqa: E501 -class MeasurementMeasItemTransition(SCPICmdWrite): - """The ``MEASUrement:MEAS:TRANSition`` command. +class MeasurementMeasItemTransition(SCPICmdWrite): + """The ``MEASUrement:MEAS:TRANSition`` command. + + **Description:** + - This command sets or queries the transition edges flag for the measurement. The + measurement number is specified by x. + + **Usage:** + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TRANSition value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TRANSition {|OFF|ON} + + **Info:** + - ```` = 1, the measurement is computed on rising (if measurement type is rise time) or + falling edges (if measurement type is fall time) following a double transition only. If it + is set to 0, the measurement is computed on all rising (if measurement type is rise time) + or falling (if measurement type is fall time) edges. + - ``OFF`` computes the measurement on all rising (if measurement type is rise time) or + falling (if measurement type is fall time) edges. + - ``ON`` computes the measurement on rising (if measurement type is rise time) or falling + edges (if measurement type is fall time) following a double transition only. + """ + + +class MeasurementMeasItemTosymbolMeasureat(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + + **Description:** + - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the ToSymbol MeasureAT to Start. + - ``Stop`` sets the ToSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + """ + + +class MeasurementMeasItemTosymbolLogic5source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 To Symbol to H (High). + - ``L`` sets the logic source 4 To Symbol to L (Low). + - ``X`` sets the logic source 4 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic4source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 To Symbol to H (High). + - ``L`` sets the logic source 3 To Symbol to L (Low). + - ``X`` sets the logic source 3 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic3source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 To Symbol to H (High). + - ``L`` sets the logic source 2 To Symbol to L (Low). + - ``X`` sets the logic source 2 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic2source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 To Symbol to H (High). + - ``L`` sets the logic source 1 To Symbol to L (Low). + - ``X`` sets the logic source 1 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbol(SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.logic2source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + - ``.logic3source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + - ``.logic4source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + - ``.logic5source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + - ``.measureat``: The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logic2source = MeasurementMeasItemTosymbolLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = MeasurementMeasItemTosymbolLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = MeasurementMeasItemTosymbolLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._logic5source = MeasurementMeasItemTosymbolLogic5source( + device, f"{self._cmd_syntax}:LOGIC5SOUrce" + ) + self._measureat = MeasurementMeasItemTosymbolMeasureat( + device, f"{self._cmd_syntax}:MEASUREAT" + ) + + @property + def logic2source(self) -> MeasurementMeasItemTosymbolLogic2source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 To Symbol to H (High). + - ``L`` sets the logic source 1 To Symbol to L (Low). + - ``X`` sets the logic source 1 To Symbol to X (Don't care). + """ + return self._logic2source + + @property + def logic3source(self) -> MeasurementMeasItemTosymbolLogic3source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 To Symbol to H (High). + - ``L`` sets the logic source 2 To Symbol to L (Low). + - ``X`` sets the logic source 2 To Symbol to X (Don't care). + """ + return self._logic3source + + @property + def logic4source(self) -> MeasurementMeasItemTosymbolLogic4source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 To Symbol to H (High). + - ``L`` sets the logic source 3 To Symbol to L (Low). + - ``X`` sets the logic source 3 To Symbol to X (Don't care). + """ + return self._logic4source + + @property + def logic5source(self) -> MeasurementMeasItemTosymbolLogic5source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + + **Description:** + - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 To Symbol to H (High). + - ``L`` sets the logic source 4 To Symbol to L (Low). + - ``X`` sets the logic source 4 To Symbol to X (Don't care). + """ + return self._logic5source + + @property + def measureat(self) -> MeasurementMeasItemTosymbolMeasureat: + """Return the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + + **Description:** + - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the ToSymbol MeasureAT to Start. + - ``Stop`` sets the ToSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + """ + return self._measureat + + +class MeasurementMeasItemToedge(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOEdge`` command. + + **Description:** + - This command sets or queries the 'to edge' type for the measurement. The measurement + number is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEdge?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOEdge?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TOEdge value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOEdge {SAMEas|OPPositeas|RISe|FALL|BOTH} + - MEASUrement:MEAS:TOEdge? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + - ``SAMEas`` specifies that both edges of the waveform are the same. + - ``OPPositeas`` specifies that the edges of the waveform are not the same. + """ + + +class MeasurementMeasItemToedgesearchdirect(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. + + **Description:** + - This command sets or queries the to edge search direction for the measurement. The + measurement number is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:TOEDGESEARCHDIRect? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``FORWard`` specifies a forward search to the edge. + - ``BACKWard`` specifies a backward search to the edge. + """ + + +class MeasurementMeasItemTmethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TMEThod`` command. + + **Description:** + - This command sets or queries the measurement torque method. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TMEThod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TMEThod value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} + - MEASUrement:MEAS:TMEThod? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``SENSOR`` specifies the Torque Method as SENSOR. + - ``CURRENT`` specifies the Torque Method as CURRENT. + """ + + +class MeasurementMeasItemTlevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TLEVel`` command. + + **Description:** + - This command sets or queries whether histogram center is percentage relative to unit + amplitude or an absolute value, for eye height measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TLEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TLEVel value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:TLEVel? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PERCent`` sets the histogram center as a percentage relative to unit amplitude. + - ``ABSolute`` sets the histogram center as an absolute value. + """ + + +class MeasurementMeasItemTimingmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TIMINGMode`` command. + + **Description:** + - This command sets or queries the Timing mode for the specified DDR measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} + - MEASUrement:MEAS:TIMINGMode? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``EACHCLOCKCYCLE`` sets the DDR Timing Mode to use each clock cycle at a time. + - ``TWOCLOCKCYCLES`` sets the DDR Timing Mode to use two cycles at a time. + """ + + +class MeasurementMeasItemTconstant(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TCONstant`` command. + + **Description:** + - This command sets or queries the measurement Torque Constant. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCONstant?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCONstant?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCONstant value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TCONstant + - MEASUrement:MEAS:TCONstant? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``NR1`` specifies the current multiplier value of the measurement in the range of 0 to + 100. + """ + + +class MeasurementMeasItemTckavg(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TCKAVG`` command. **Description:** - - This command sets or queries the transition edges flag for the measurement. The - measurement number is specified by x. + - This command sets or queries the average clock period value used in DDR measurements. **Usage:** - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TRANSition value`` + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCKAVG value`` command. **SCPI Syntax:** :: - - MEASUrement:MEAS:TRANSition {|OFF|ON} + - MEASUrement:MEAS:TCKAVG + - MEASUrement:MEAS:TCKAVG? **Info:** - - ```` = 1, the measurement is computed on rising (if measurement type is rise time) or - falling edges (if measurement type is fall time) following a double transition only. If it - is set to 0, the measurement is computed on all rising (if measurement type is rise time) - or falling (if measurement type is fall time) edges. - - ``OFF`` computes the measurement on all rising (if measurement type is rise time) or - falling (if measurement type is fall time) edges. - - ``ON`` computes the measurement on rising (if measurement type is rise time) or falling - edges (if measurement type is fall time) following a double transition only. + - ``MEAS`` specifies the measurement number. + - ``NR3`` is a floating point number that represents the DDR average clock period in + seconds. """ -class MeasurementMeasItemTosymbolMeasureat(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. +class MeasurementMeasItemSunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SUNits`` command. **Description:** - - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + - This command sets or queries the speed units for the specific measurement. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUNits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SUNits value`` + command. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} - - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + - MEASUrement:MEAS:SUNits {RPM|HZ} + - MEASUrement:MEAS:SUNits? **Info:** - ``MEAS`` specifies the measurement number. - - ``Start`` sets the ToSymbol MeasureAT to Start. - - ``Stop`` sets the ToSymbol MeasureAT to Stop. - - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + - ``RPM`` defines the speed measurement units as RPM. + - ``HZ`` defines the speed measurement units as HZ. """ -class MeasurementMeasItemTosymbolLogic5source(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. +class MeasurementMeasItemSubgroupResultsCurrentacqStddev(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + - This query returns the standard deviation value of the measurement specified by the + string, for the current acquisition. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 4 To Symbol to H (High). - - ``L`` sets the logic source 4 To Symbol to L (Low). - - ``X`` sets the logic source 4 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTosymbolLogic4source(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. +class MeasurementMeasItemSubgroupResultsCurrentacqPopulation(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + - This query returns the population value of the measurement specified by the string, for + the current acquisition. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and raise + an AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 3 To Symbol to H (High). - - ``L`` sets the logic source 3 To Symbol to L (Low). - - ``X`` sets the logic source 3 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTosymbolLogic3source(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. +class MeasurementMeasItemSubgroupResultsCurrentacqPk2pk(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + - This query returns the peak-to-peak value of the measurement specified by the string, for + the current acquisition. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 2 To Symbol to H (High). - - ``L`` sets the logic source 2 To Symbol to L (Low). - - ``X`` sets the logic source 2 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTosymbolLogic2source(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. +class MeasurementMeasItemSubgroupResultsCurrentacqMinimum(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + - This query returns the minimum value of the measurement specified by the string, for the + current acquisition. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 1 To Symbol to H (High). - - ``L`` sets the logic source 1 To Symbol to L (Low). - - ``X`` sets the logic source 1 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|SPEED \|ACCELERATION \|DIRECTION + \|ANGLE \|TORQUE \|POWER \|ELECPWR \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON + \|TDOFF \|startlevel \|stoplevel \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR + \|TF \|TON \|TOFF \|IRRM \|DBYDT \|fft \|tiespectra \|subspectra \|beforetie \|beforepj + \|beforeeyeheight \|beforeeyewidth \|reconst \|aftertie \|afterpj \|aftereyeheight + \|aftereyewidth \|freq \|qoss \|PH1TDD \|PH2TDD \|PH3TDD. """ -class MeasurementMeasItemTosymbol(SCPICmdRead): - """The ``MEASUrement:MEAS:TOSYmbol`` command tree. +class MeasurementMeasItemSubgroupResultsCurrentacqMean(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + + **Description:** + - This query returns the mean value of the measurement specified by the string, for the + current acquisition. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query - and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? + + **Info:** + - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 + \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|L2LPH1VRMS + \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr \|L2LPH1PwrFactor + \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor \|L2LPH2TruePwr + \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff \|L2LPH2VPhase + \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr \|L2LPH3AppPwr + \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS \|L2NPH1VCFactor + \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor \|L2NPH1PhaseDiff + \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr \|L2NPH2RePwr \|L2NPH2AppPwr + \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase \|L2NPH3VRMS \|L2NPH3VCFactor + \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr \|L2NPH3PwrFactor \|L2NPH3PhaseDiff + \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor \|PH2IRMS \|PH2IPhase \|PH2ICFactor + \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF + \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS \|L2LPH1Status \|L2LPH1HarmonicsNumber + \|L2LPH1Frequency \|L2LPH1MagnitudeAbs \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits + \|L2LPH1PassFail \|L2LPH1Margin \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR + \|L2LPH2RMS \|L2LPH2IRMS \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency + \|L2LPH2MagnitudeAbs \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail + \|L2LPH2Margin \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS + \|L2LPH3IRMS \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs + \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin + \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS + \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs + \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin + \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS \|L2NPH2Status + \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs \|L2NPH2MagnitudePct + \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin \|L2NPH3F1Mag \|L2NPH3F3Mag + \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS \|L2NPH3Status \|L2NPH3HarmonicsNumber + \|L2NPH3Frequency \|L2NPH3MagnitudeAbs \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits + \|L2NPH3PassFail \|L2NPH3Margin \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr + \|PH2OUTPwr \|PH2Efficiency \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS + \|PH2LRIPPK2PK \|PH3LRIPRMS \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS + \|PH2SWRIPPK2PK \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum + \|InPwrSum \|OutPwrSum \|SPEED \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER + \|ELECPWR \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel + \|stoplevel \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF + \|IRRM \|DBYDT \|fft \|tiespectra \|subspectra \|beforetie \|beforepj \|beforeeyeheight + \|beforeeyewidth \|reconst \|aftertie \|afterpj \|aftereyeheight \|aftereyewidth \|freq + \|qoss \|PH1TDD \|PH2TDD \|PH3TDD. + """ + + +class MeasurementMeasItemSubgroupResultsCurrentacqMaximum(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + + **Description:** + - This query returns the maximum value of the measurement specified by the string, for the + current acquisition. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? **Info:** - - ``MEAS`` specifies the measurement number. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasurementMeasItemSubgroupResultsCurrentacq(SCPICmdRead): + """The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError if + the returned value does not match ``value``. Properties: - - ``.logic2source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. - - ``.logic3source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. - - ``.logic4source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. - - ``.logic5source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. - - ``.measureat``: The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + - ``.maximum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation`` + command. + - ``.stddev``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) - self._logic2source = MeasurementMeasItemTosymbolLogic2source( - device, f"{self._cmd_syntax}:LOGIC2SOUrce" + self._maximum = MeasurementMeasItemSubgroupResultsCurrentacqMaximum( + device, f"{self._cmd_syntax}:MAXimum" ) - self._logic3source = MeasurementMeasItemTosymbolLogic3source( - device, f"{self._cmd_syntax}:LOGIC3SOUrce" + self._mean = MeasurementMeasItemSubgroupResultsCurrentacqMean( + device, f"{self._cmd_syntax}:MEAN" ) - self._logic4source = MeasurementMeasItemTosymbolLogic4source( - device, f"{self._cmd_syntax}:LOGIC4SOUrce" + self._minimum = MeasurementMeasItemSubgroupResultsCurrentacqMinimum( + device, f"{self._cmd_syntax}:MINimum" ) - self._logic5source = MeasurementMeasItemTosymbolLogic5source( - device, f"{self._cmd_syntax}:LOGIC5SOUrce" + self._pk2pk = MeasurementMeasItemSubgroupResultsCurrentacqPk2pk( + device, f"{self._cmd_syntax}:PK2PK" ) - self._measureat = MeasurementMeasItemTosymbolMeasureat( - device, f"{self._cmd_syntax}:MEASUREAT" + self._population = MeasurementMeasItemSubgroupResultsCurrentacqPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemSubgroupResultsCurrentacqStddev( + device, f"{self._cmd_syntax}:STDDev" ) @property - def logic2source(self) -> MeasurementMeasItemTosymbolLogic2source: - """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + def maximum(self) -> MeasurementMeasItemSubgroupResultsCurrentacqMaximum: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + - This query returns the maximum value of the measurement specified by the string, for + the current acquisition. **Usage:** - - Using the ``.query()`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise + an AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 1 To Symbol to H (High). - - ``L`` sets the logic source 1 To Symbol to L (Low). - - ``X`` sets the logic source 1 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ - return self._logic2source + return self._maximum @property - def logic3source(self) -> MeasurementMeasItemTosymbolLogic3source: - """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + def mean(self) -> MeasurementMeasItemSubgroupResultsCurrentacqMean: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + - This query returns the mean value of the measurement specified by the string, for the + current acquisition. **Usage:** - - Using the ``.query()`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN? + + **Info:** + - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 + \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL + \|L2LPH1VRMS \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr + \|L2LPH1PwrFactor \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor + \|L2LPH2TruePwr \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff + \|L2LPH2VPhase \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr + \|L2LPH3AppPwr \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS + \|L2NPH1VCFactor \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor + \|L2NPH1PhaseDiff \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr + \|L2NPH2RePwr \|L2NPH2AppPwr \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase + \|L2NPH3VRMS \|L2NPH3VCFactor \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr + \|L2NPH3PwrFactor \|L2NPH3PhaseDiff \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor + \|PH2IRMS \|PH2IPhase \|PH2ICFactor \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency + \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS + \|L2LPH1Status \|L2LPH1HarmonicsNumber \|L2LPH1Frequency \|L2LPH1MagnitudeAbs + \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits \|L2LPH1PassFail \|L2LPH1Margin + \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR \|L2LPH2RMS \|L2LPH2IRMS + \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency \|L2LPH2MagnitudeAbs + \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail \|L2LPH2Margin + \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS \|L2LPH3IRMS + \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs + \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin + \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS + \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs + \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin + \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS + \|L2NPH2Status \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs + \|L2NPH2MagnitudePct \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin + \|L2NPH3F1Mag \|L2NPH3F3Mag \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS + \|L2NPH3Status \|L2NPH3HarmonicsNumber \|L2NPH3Frequency \|L2NPH3MagnitudeAbs + \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits \|L2NPH3PassFail \|L2NPH3Margin + \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr \|PH2OUTPwr \|PH2Efficiency + \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS \|PH2LRIPPK2PK \|PH3LRIPRMS + \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS \|PH2SWRIPPK2PK + \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum \|InPwrSum + \|OutPwrSum \|SPEED \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER \|ELECPWR + \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel \|stoplevel + \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF \|IRRM + \|DBYDT \|fft \|tiespectra \|subspectra \|beforetie \|beforepj \|beforeeyeheight + \|beforeeyewidth \|reconst \|aftertie \|afterpj \|aftereyeheight \|aftereyewidth + \|freq \|qoss \|PH1TDD \|PH2TDD \|PH3TDD. + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemSubgroupResultsCurrentacqMinimum: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + + **Description:** + - This query returns the minimum value of the measurement specified by the string, for + the current acquisition. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 2 To Symbol to H (High). - - ``L`` sets the logic source 2 To Symbol to L (Low). - - ``X`` sets the logic source 2 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|SPEED + \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER \|ELECPWR \|MECHPWR + \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel \|stoplevel \|TRR \|QRR + \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF \|IRRM \|DBYDT \|fft + \|tiespectra \|subspectra \|beforetie \|beforepj \|beforeeyeheight \|beforeeyewidth + \|reconst \|aftertie \|afterpj \|aftereyeheight \|aftereyewidth \|freq \|qoss \|PH1TDD + \|PH2TDD \|PH3TDD. """ - return self._logic3source + return self._minimum @property - def logic4source(self) -> MeasurementMeasItemTosymbolLogic4source: - """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + def pk2pk(self) -> MeasurementMeasItemSubgroupResultsCurrentacqPk2pk: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + - This query returns the peak-to-peak value of the measurement specified by the string, + for the current acquisition. **Usage:** - - Using the ``.query()`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 3 To Symbol to H (High). - - ``L`` sets the logic source 3 To Symbol to L (Low). - - ``X`` sets the logic source 3 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ - return self._logic4source + return self._pk2pk - @property - def logic5source(self) -> MeasurementMeasItemTosymbolLogic5source: - """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + @property + def population(self) -> MeasurementMeasItemSubgroupResultsCurrentacqPopulation: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. **Description:** - - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + - This query returns the population value of the measurement specified by the string, + for the current acquisition. **Usage:** - - Using the ``.query()`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and + raise an AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} - - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation? **Info:** - - ``MEAS`` specifies the measurement number. - - ``H`` sets the logic source 4 To Symbol to H (High). - - ``L`` sets the logic source 4 To Symbol to L (Low). - - ``X`` sets the logic source 4 To Symbol to X (Don't care). + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ - return self._logic5source + return self._population @property - def measureat(self) -> MeasurementMeasItemTosymbolMeasureat: - """Return the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + def stddev(self) -> MeasurementMeasItemSubgroupResultsCurrentacqStddev: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. **Description:** - - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + - This query returns the standard deviation value of the measurement specified by the + string, for the current acquisition. **Usage:** - - Using the ``.query()`` method will send the - ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise + an AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} - - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + - MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev? **Info:** - - ``MEAS`` specifies the measurement number. - - ``Start`` sets the ToSymbol MeasureAT to Start. - - ``Stop`` sets the ToSymbol MeasureAT to Stop. - - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ - return self._measureat + return self._stddev -class MeasurementMeasItemToedge(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOEdge`` command. +class MeasurementMeasItemSubgroupResultsAllacqsStddev(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. **Description:** - - This command sets or queries the 'to edge' type for the measurement. The measurement - number is specified by x. + - This query returns the standard deviation value of the measurement specified by the + string, for all acquisitions. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEdge?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOEdge?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TOEdge value`` - command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOEdge {SAMEas|OPPositeas|RISe|FALL|BOTH} - - MEASUrement:MEAS:TOEdge? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? **Info:** - - ``MEAS`` specifies the measurement number. - - ``FALL`` specifies the falling edge of the waveform. - - ``RISE`` specifies the rising edge of the waveform. - - ``BOTH`` specifies both a rising and falling edge of the waveform. - - ``SAMEas`` specifies that both edges of the waveform are the same. - - ``OPPositeas`` specifies that the edges of the waveform are not the same. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemToedgesearchdirect(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. +class MeasurementMeasItemSubgroupResultsAllacqsPopulation(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. **Description:** - - This command sets or queries the to edge search direction for the measurement. The - measurement number is specified by x. + - This query returns the population value of the measurement specified by the string, for + all acquisitions. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``MEASUrement:MEAS:TOEDGESEARCHDIRect value`` command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} - - MEASUrement:MEAS:TOEDGESEARCHDIRect? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? **Info:** - - ``MEAS`` specifies the measurement number. - - ``FORWard`` specifies a forward search to the edge. - - ``BACKWard`` specifies a backward search to the edge. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTmethod(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TMEThod`` command. +class MeasurementMeasItemSubgroupResultsAllacqsPk2pk(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. **Description:** - - This command sets or queries the measurement torque method. + - This query returns the peak-to-peak value of the measurement specified by the string, for + all acquisitions. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TMEThod?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TMEThod?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TMEThod value`` - command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} - - MEASUrement:MEAS:TMEThod? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? **Info:** - - ``MEAS`` specifies the measurement number. - - ``SENSOR`` specifies the Torque Method as SENSOR. - - ``CURRENT`` specifies the Torque Method as CURRENT. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTimingmode(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TIMINGMode`` command. +class MeasurementMeasItemSubgroupResultsAllacqsMinimum(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. **Description:** - - This command sets or queries the Timing mode for the specified DDR measurement. + - This query returns the minimum value of the measurement specified by the string, for all + acquisitions. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode value`` - command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} - - MEASUrement:MEAS:TIMINGMode? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? **Info:** - - ``MEAS`` specifies the measurement number. - - ``EACHCLOCKCYCLE`` sets the DDR Timing Mode to use each clock cycle at a time. - - ``TWOCLOCKCYCLES`` sets the DDR Timing Mode to use two cycles at a time. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTconstant(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TCONstant`` command. +class MeasurementMeasItemSubgroupResultsAllacqsMean(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. **Description:** - - This command sets or queries the measurement Torque Constant. + - This query returns the mean value of the measurement specified by the string, for all + acquisitions. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCONstant?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCONstant?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCONstant value`` - command. + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. **SCPI Syntax:** :: - - MEASUrement:MEAS:TCONstant - - MEASUrement:MEAS:TCONstant? + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? **Info:** - - ``MEAS`` specifies the measurement number. - - ``NR1`` specifies the current multiplier value of the measurement in the range of 0 to - 100. + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. """ -class MeasurementMeasItemTckavg(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:TCKAVG`` command. +class MeasurementMeasItemSubgroupResultsAllacqsMaximum(SCPICmdReadWithArguments): + r"""The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + + **Description:** + - This query returns the maximum value of the measurement specified by the string, for all + acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasurementMeasItemSubgroupResultsAllacqs(SCPICmdRead): + """The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemSubgroupResultsAllacqsMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemSubgroupResultsAllacqsMean( + device, f"{self._cmd_syntax}:MEAN" + ) + self._minimum = MeasurementMeasItemSubgroupResultsAllacqsMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemSubgroupResultsAllacqsPk2pk( + device, f"{self._cmd_syntax}:PK2PK" + ) + self._population = MeasurementMeasItemSubgroupResultsAllacqsPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemSubgroupResultsAllacqsStddev( + device, f"{self._cmd_syntax}:STDDev" + ) + + @property + def maximum(self) -> MeasurementMeasItemSubgroupResultsAllacqsMaximum: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + + **Description:** + - This query returns the maximum value of the measurement specified by the string, for + all acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemSubgroupResultsAllacqsMean: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + + **Description:** + - This query returns the mean value of the measurement specified by the string, for all + acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemSubgroupResultsAllacqsMinimum: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + + **Description:** + - This query returns the minimum value of the measurement specified by the string, for + all acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemSubgroupResultsAllacqsPk2pk: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + + **Description:** + - This query returns the peak-to-peak value of the measurement specified by the string, + for all acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemSubgroupResultsAllacqsPopulation: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + + **Description:** + - This query returns the population value of the measurement specified by the string, + for all acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemSubgroupResultsAllacqsStddev: + r"""Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + + **Description:** + - This query returns the standard deviation value of the measurement specified by the + string, for all acquisitions. + + **Usage:** + - Using the ``.query(argument)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev? + + **Info:** + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._stddev + + +class MeasurementMeasItemSubgroupResults(SCPICmdRead): + """The ``MEASUrement:MEAS:SUBGROUP:RESUlts`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUBGROUP:RESUlts?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts?`` query and raise an AssertionError if the + returned value does not match ``value``. - **Description:** - - This command sets or queries the average clock period value used in DDR measurements. + Properties: + - ``.allacqs``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq`` command tree. + """ - **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCKAVG value`` - command. + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allacqs = MeasurementMeasItemSubgroupResultsAllacqs( + device, f"{self._cmd_syntax}:ALLAcqs" + ) + self._currentacq = MeasurementMeasItemSubgroupResultsCurrentacq( + device, f"{self._cmd_syntax}:CURRentacq" + ) - **SCPI Syntax:** + @property + def allacqs(self) -> MeasurementMeasItemSubgroupResultsAllacqs: + """Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs`` command tree. - :: + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if + the returned value does not match ``value``. - - MEASUrement:MEAS:TCKAVG - - MEASUrement:MEAS:TCKAVG? + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` + command. + - ``.stddev``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + """ + return self._allacqs - **Info:** - - ``MEAS`` specifies the measurement number. - - ``NR3`` is a floating point number that represents the DDR average clock period in - seconds. - """ + @property + def currentacq(self) -> MeasurementMeasItemSubgroupResultsCurrentacq: + """Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq`` command tree. + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError + if the returned value does not match ``value``. -class MeasurementMeasItemSunits(SCPICmdWrite, SCPICmdRead): - """The ``MEASUrement:MEAS:SUNits`` command. + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation`` + command. + - ``.stddev``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. + """ + return self._currentacq - **Description:** - - This command sets or queries the speed units for the specific measurement. + +class MeasurementMeasItemSubgroup(SCPICmdRead): + """The ``MEASUrement:MEAS:SUBGROUP`` command tree. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUNits?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUNits?`` query + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUBGROUP?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUBGROUP?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SUNits value`` - command. - **SCPI Syntax:** + Properties: + - ``.results``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts`` command tree. + """ - :: + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._results = MeasurementMeasItemSubgroupResults(device, f"{self._cmd_syntax}:RESUlts") - - MEASUrement:MEAS:SUNits {RPM|HZ} - - MEASUrement:MEAS:SUNits? + @property + def results(self) -> MeasurementMeasItemSubgroupResults: + """Return the ``MEASUrement:MEAS:SUBGROUP:RESUlts`` command tree. - **Info:** - - ``MEAS`` specifies the measurement number. - - ``RPM`` defines the speed measurement units as RPM. - - ``HZ`` defines the speed measurement units as HZ. - """ + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUBGROUP:RESUlts?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SUBGROUP:RESUlts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.allacqs``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq`` command tree. + """ + return self._results class MeasurementMeasItemStype(SCPICmdWrite, SCPICmdRead): @@ -6203,6 +8023,32 @@ class MeasurementMeasItemSequence(SCPICmdWrite, SCPICmdRead): """ +class MeasurementMeasItemRrange(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:RRANGE`` command. + + **Description:** + - This command sets or returns the span value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RRANGE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RRANGE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:RRANGE value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:RRANGE + - MEASUrement:MEAS:RRANGE? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of span for PSIJ measurement. + """ + + class MeasurementMeasItemRipplefreqvalItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. @@ -6232,6 +8078,32 @@ class MeasurementMeasItemRipplefreqvalItem(ValidatedDynamicNumberCmd, SCPICmdWri """ +class MeasurementMeasItemRfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:RFREquency`` command. + + **Description:** + - This command sets or returns the center frequency value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RFREquency?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RFREquency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:RFREquency value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:RFREquency + - MEASUrement:MEAS:RFREquency? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of center frequency for PSIJ measurement. + """ + + class MeasurementMeasItemResultsHistoryStddev(SCPICmdRead): """The ``MEASUrement:MEAS:RESUlts:HISTory:STDDev`` command. @@ -7439,7 +9311,7 @@ class MeasurementMeasItemReflevels1PercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7470,7 +9342,7 @@ class MeasurementMeasItemReflevels1PercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7492,7 +9364,7 @@ class MeasurementMeasItemReflevels1PercentRiselow(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid reference level when the measurement's Ref level method is set to Percent. """ @@ -7501,7 +9373,7 @@ class MeasurementMeasItemReflevels1PercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7523,7 +9395,7 @@ class MeasurementMeasItemReflevels1PercentRisehigh(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high reference level when the measurement's Ref level method is set to Percent. """ @@ -7532,7 +9404,7 @@ class MeasurementMeasItemReflevels1PercentHysteresis(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to MIN) used to calculate the hysteresis of the reference level when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7562,7 +9434,7 @@ class MeasurementMeasItemReflevels1PercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7593,7 +9465,7 @@ class MeasurementMeasItemReflevels1PercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7624,7 +9496,7 @@ class MeasurementMeasItemReflevels1PercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7707,8 +9579,8 @@ def fallhigh(self) -> MeasurementMeasItemReflevels1PercentFallhigh: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7740,8 +9612,8 @@ def falllow(self) -> MeasurementMeasItemReflevels1PercentFalllow: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7773,8 +9645,8 @@ def fallmid(self) -> MeasurementMeasItemReflevels1PercentFallmid: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7806,10 +9678,9 @@ def hysteresis(self) -> MeasurementMeasItemReflevels1PercentHysteresis: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to MAX and 0% is - equal to MIN) used to calculate the hysteresis of the reference level when the - measurement's ref level method is set to percent. The measurement number is specified - by x. + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. The measurement number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -7838,8 +9709,8 @@ def risehigh(self) -> MeasurementMeasItemReflevels1PercentRisehigh: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7861,7 +9732,7 @@ def risehigh(self) -> MeasurementMeasItemReflevels1PercentRisehigh: **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high reference level when the measurement's Ref level method is set to Percent. """ return self._risehigh @@ -7871,8 +9742,8 @@ def riselow(self) -> MeasurementMeasItemReflevels1PercentRiselow: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -7894,7 +9765,7 @@ def riselow(self) -> MeasurementMeasItemReflevels1PercentRiselow: **Info:** - ``MEAS`` specifies the measurement number. - - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid reference level when the measurement's Ref level method is set to Percent. """ return self._riselow @@ -7904,8 +9775,8 @@ def risemid(self) -> MeasurementMeasItemReflevels1PercentRisemid: """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement's ref level method is set to percent. The measurement number is specified by x. @@ -8762,6 +10633,58 @@ class MeasurementMeasItemPwidth(SCPICmdWrite, SCPICmdRead): """ +class MeasurementMeasItemPthreshold(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PTHReshold`` command. + + **Description:** + - This command sets or returns the PJ threshold value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PTHReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PTHReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PTHReshold value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PTHReshold + - MEASUrement:MEAS:PTHReshold? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of PJ threshold for PSIJ measurement. + """ + + +class MeasurementMeasItemPresistance(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PRESistance`` command. + + **Description:** + - This command sets or returns the probe resistance for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PRESistance?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PRESistance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PRESistance value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PRESistance + - MEASUrement:MEAS:PRESistance? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for probe resistance of the WBG measurement. + """ + + class MeasurementMeasItemPregion(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:PREGion`` command. @@ -9134,6 +11057,32 @@ class MeasurementMeasItemPolarity(SCPICmdWrite, SCPICmdRead): """ +class MeasurementMeasItemPfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PFREquency`` command. + + **Description:** + - This command sets or returns the PJ max frequency value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PFREquency?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PFREquency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PFREquency value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PFREquency + - MEASUrement:MEAS:PFREquency? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of PJ max frequency for PSIJ measurement. + """ + + class MeasurementMeasItemPerfreqEdge(SCPICmdWrite): """The ``MEASUrement:MEAS:PERFREQ:EDGE`` command. @@ -11697,7 +13646,7 @@ class MeasurementMeasItemHlevelOutputUglobal(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. **Description:** - - This command turns on or off output global settings for measurement. Measurements are + - This command turns on or off output global settings for measurement. Measurements are specified by x. **Usage:** @@ -11745,7 +13694,7 @@ def uglobal(self) -> MeasurementMeasItemHlevelOutputUglobal: """Return the ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. **Description:** - - This command turns on or off output global settings for measurement. Measurements are + - This command turns on or off output global settings for measurement. Measurements are specified by x. **Usage:** @@ -11920,7 +13869,7 @@ class MeasurementMeasItemHighlevelOutwiring(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - ``P1W2V1I1`` specifies P1W2V1I1 as the local output wiring. - - ``P1W3V2I2`` specifies P1W3V2I2 as the local output wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local output wiring. - ``P3W3V3I3`` specifies P3W3V3I3 as the local output wiring. - ``P3W4`` specifies P3W4 as the local output wiring. - ``DCP1W2`` specifies DCP1W2 as the local output wiring. @@ -12288,7 +14237,7 @@ def outwiring(self) -> MeasurementMeasItemHighlevelOutwiring: **Info:** - ``MEAS`` specifies the measurement number. - ``P1W2V1I1`` specifies P1W2V1I1 as the local output wiring. - - ``P1W3V2I2`` specifies P1W3V2I2 as the local output wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local output wiring. - ``P3W3V3I3`` specifies P3W3V3I3 as the local output wiring. - ``P3W4`` specifies P3W4 as the local output wiring. - ``DCP1W2`` specifies DCP1W2 as the local output wiring. @@ -12406,7 +14355,7 @@ class MeasurementMeasItemHarmonicsstd(SCPICmdWrite, SCPICmdRead): :: - - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd {NONE| IEC| IEEE519| CUSTOM| REVIEEE5192022} - MEASUrement:MEAS:HARMONICSStd? **Info:** @@ -12414,6 +14363,7 @@ class MeasurementMeasItemHarmonicsstd(SCPICmdWrite, SCPICmdRead): - ``NONE`` specifies none as the harmonics test standard. - ``IEC`` specifies IEC as the harmonics test standard. - ``IEEE519`` specifies IEEE519 as the harmonics test standard. + - ``REVIEEE5192022`` specifies REVIEEE5192022 as the harmonics test standard. - ``CUSTOM`` specifies that there is a custom harmonics test standard. """ @@ -13533,6 +15483,32 @@ class MeasurementMeasItemFparameter(SCPICmdWrite, SCPICmdRead): """ +class MeasurementMeasItemForder(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FORDer`` command. + + **Description:** + - This command sets or returns the differential filter order for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FORDer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FORDer value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:FORDer + - MEASUrement:MEAS:FORDer? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the differential filter order of the WBG measurement. + """ + + class MeasurementMeasItemFiltersRamptime(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:FILTers:RAMPtime`` command. @@ -14133,27 +16109,134 @@ class MeasurementMeasItemFilterrangefrom(SCPICmdWrite, SCPICmdRead): **Info:** - ``MEAS`` specifies the measurement number. - - ```` specifies the filter range from value. The default value is 1. + - ```` specifies the filter range from value. The default value is 1. + """ + + +class MeasurementMeasItemFailcount(SCPICmdRead): + """The ``MEASUrement:MEAS:FAILCount`` command. + + **Description:** + - This command returns the number of measurement failures, if applicable, for the selected + measurement. The measurement number is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FAILCount?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FAILCount?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:FAILCount? + """ + + +class MeasurementMeasItemEyerender(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EYERender`` command. + + **Description:** + - This command sets or queries the eye rendering method. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EYERender?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EYERender?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EYERender value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EYERender {FAst|COMPlete} + - MEASUrement:MEAS:EYERender? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``FAst`` sets the eye rendering method to fast. + - ``COMPlete`` sets the eye rendering method to complete. + """ + + +class MeasurementMeasItemExtenduis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EXTENDuis`` command. + + **Description:** + - This command sets or returns number of UIs considered for analysis of eye width or eye + height measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EXTENDuis?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EXTENDuis?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EXTENDuis value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EXTENDuis + - MEASUrement:MEAS:EXTENDuis? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` is the number of UIs considered for analysis. + """ + + +class MeasurementMeasItemEinterpolation(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EINTerpolation`` command. + + **Description:** + - This command sets or queries whether dot mode eye diagram is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EINTerpolation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EINTerpolation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EINTerpolation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EINTerpolation {ON|OFF} + - MEASUrement:MEAS:EINTerpolation? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``ON`` enables interpolation between samples. + - ``OFF`` disables interpolation between samples. """ -class MeasurementMeasItemFailcount(SCPICmdRead): - """The ``MEASUrement:MEAS:FAILCount`` command. +class MeasurementMeasItemEinductance(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EINDuctance`` command. **Description:** - - This command returns the number of measurement failures, if applicable, for the selected - measurement. The measurement number is specified by x. + - This command sets or returns the effective inductance for WBG measurement. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FAILCount?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FAILCount?`` query - and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EINDuctance?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EINDuctance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EINDuctance value`` + command. **SCPI Syntax:** :: - - MEASUrement:MEAS:FAILCount? + - MEASUrement:MEAS:EINDuctance + - MEASUrement:MEAS:EINDuctance? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for effective inductance of the WBG measurement. """ @@ -14179,6 +16262,7 @@ class MeasurementMeasItemEequal(SCPICmdWrite, SCPICmdRead): - MEASUrement:MEAS:EEQUal? **Info:** + - ``MEAS`` specifies the measurement number. - ``ON`` specifies the edge qualifier settings has been turned on. - ``OFF`` specifies the edge qualifier settings has been turned off. """ @@ -14996,13 +17080,14 @@ class MeasurementMeasItemCyclemode(SCPICmdWrite, SCPICmdRead): :: - - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE|ROTATION} - MEASUrement:MEAS:CYCLemode? **Info:** - ``MEAS`` specifies the measurement number. - ``RECORD`` specifies that the measurement is taken over the whole record. - ``CYCLE`` specifies that measurements are taken on each cycle of the source. + - ``ROTATION`` specifies that measurements are taken on a rotation of the source. """ @@ -15305,6 +17390,37 @@ def sources(self) -> MeasurementMeasItemCommonmodeSources: return self._sources +class MeasurementMeasItemClockrecoveryTdcompensation(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation`` command. + + **Description:** + - This command sets the PLL clock recovery loop feedback time-constants such that the actual + transfer function matches closely to a mathematical filter polynomial. This will affect + measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 0. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation {0|1} + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``0`` specifies automatic transition density compensation is off. + - ``1`` specifies automatic transition density compensation is on. + """ + + class MeasurementMeasItemClockrecoveryStandard(SCPICmdWrite): """The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. @@ -15932,6 +18048,7 @@ class MeasurementMeasItemClockrecovery(SCPICmdRead): - ``.model``: The ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. - ``.nominaloffset``: The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. - ``.standard``: The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + - ``.tdcompensation``: The ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: @@ -15978,6 +18095,9 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._standard = MeasurementMeasItemClockrecoveryStandard( device, f"{self._cmd_syntax}:STAndard" ) + self._tdcompensation = MeasurementMeasItemClockrecoveryTdcompensation( + device, f"{self._cmd_syntax}:TDCOMPensation" + ) @property def advanced(self) -> MeasurementMeasItemClockrecoveryAdvanced: @@ -16455,6 +18575,39 @@ def standard(self) -> MeasurementMeasItemClockrecoveryStandard: """ # noqa: E501 return self._standard + @property + def tdcompensation(self) -> MeasurementMeasItemClockrecoveryTdcompensation: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation`` command. + + **Description:** + - This command sets the PLL clock recovery loop feedback time-constants such that the + actual transfer function matches closely to a mathematical filter polynomial. This + will affect measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is + set to 0. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation {0|1} + - MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``0`` specifies automatic transition density compensation is off. + - ``1`` specifies automatic transition density compensation is on. + """ + return self._tdcompensation + class MeasurementMeasItemCcresultsCurrentacqStddev(SCPICmdRead): """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev`` command. @@ -17137,6 +19290,32 @@ def currentacq(self) -> MeasurementMeasItemCcresultsCurrentacq: return self._currentacq +class MeasurementMeasItemBvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BVOLTage`` command. + + **Description:** + - This command sets or returns the bias voltage for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BVOLTage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BVOLTage?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BVOLTage value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:BVOLTage + - MEASUrement:MEAS:BVOLTage? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for bias voltage of the WBG measurement. + """ + + class MeasurementMeasItemBurstedgtype(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. @@ -17305,6 +19484,32 @@ class MeasurementMeasItemBitcfgmode(SCPICmdWrite, SCPICmdRead): """ +class MeasurementMeasItemBitabsolute(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITAbsolute`` command. + + **Description:** + - This command sets or queries the bit center as an absolute value. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITAbsolute?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITAbsolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITAbsolute value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:BITAbsolute + - MEASUrement:MEAS:BITAbsolute? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` is the value for the bit center. + """ + + class MeasurementMeasItemBin(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:BIN`` command. @@ -17423,6 +19628,33 @@ def targetber(self) -> MeasurementMeasItemBerTargetber: return self._targetber +class MeasurementMeasItemAmethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:AMEThod`` command. + + **Description:** + - This command sets or queries the analysis method used to compute eye width or eye height. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:AMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:AMEThod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:AMEThod value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:AMEThod {PARAmetric|HISTogram} + - MEASUrement:MEAS:AMEThod? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PARAmetric`` sets the analysis method to parametric. + - ``HISTogram`` sets the analysis method to histogram. + """ + + class MeasurementMeasItemAchannels(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MEAS:ACHANnels`` command. @@ -17494,14 +19726,17 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): Properties: - ``.abandwidth``: The ``MEASUrement:MEAS:ABANdwidth`` command. - ``.achannels``: The ``MEASUrement:MEAS:ACHANnels`` command. + - ``.amethod``: The ``MEASUrement:MEAS:AMEThod`` command. - ``.ber``: The ``MEASUrement:MEAS:BER`` command. - ``.bin``: The ``MEASUrement:MEAS:BIN`` command. + - ``.bitabsolute``: The ``MEASUrement:MEAS:BITAbsolute`` command. - ``.bitcfgmode``: The ``MEASUrement:MEAS:BITCfgmode`` command. - ``.bitend``: The ``MEASUrement:MEAS:BITEnd`` command. - ``.bitpcnt``: The ``MEASUrement:MEAS:BITPcnt`` command. - ``.bitstart``: The ``MEASUrement:MEAS:BITSTart`` command. - ``.bittype``: The ``MEASUrement:MEAS:BITType`` command. - ``.burstedgtype``: The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + - ``.bvoltage``: The ``MEASUrement:MEAS:BVOLTage`` command. - ``.ccresults``: The ``MEASUrement:MEAS:CCRESUlts`` command tree. - ``.clockrecovery``: The ``MEASUrement:MEAS:CLOCKRecovery`` command tree. - ``.commonmode``: The ``MEASUrement:MEAS:COMMONMode`` command tree. @@ -17520,10 +19755,15 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.edgequalifier``: The ``MEASUrement:MEAS:EDGEQUALifier`` command. - ``.edges``: The ``MEASUrement:MEAS:EDGES`` command tree. - ``.eequal``: The ``MEASUrement:MEAS:EEQUal`` command. + - ``.einductance``: The ``MEASUrement:MEAS:EINDuctance`` command. + - ``.einterpolation``: The ``MEASUrement:MEAS:EINTerpolation`` command. + - ``.extenduis``: The ``MEASUrement:MEAS:EXTENDuis`` command. + - ``.eyerender``: The ``MEASUrement:MEAS:EYERender`` command. - ``.failcount``: The ``MEASUrement:MEAS:FAILCount`` command. - ``.filterrangefrom``: The ``MEASUrement:MEAS:FILTERRANGEFROM`` command. - ``.filterrangeto``: The ``MEASUrement:MEAS:FILTERRANGETO`` command. - ``.filters``: The ``MEASUrement:MEAS:FILTers`` command tree. + - ``.forder``: The ``MEASUrement:MEAS:FORDer`` command. - ``.fparameter``: The ``MEASUrement:MEAS:FPARAmeter`` command. - ``.freq``: The ``MEASUrement:MEAS:FREQ`` command. - ``.fromedgesearchdirect``: The ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. @@ -17578,11 +19818,14 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.patterntype``: The ``MEASUrement:MEAS:PATTERNTYPe`` command. - ``.pcount``: The ``MEASUrement:MEAS:PCOUNt`` command. - ``.perfreq``: The ``MEASUrement:MEAS:PERFREQ`` command tree. + - ``.pfrequency``: The ``MEASUrement:MEAS:PFREquency`` command. - ``.polarity``: The ``MEASUrement:MEAS:POLarity`` command. - ``.population``: The ``MEASUrement:MEAS:POPUlation`` command tree. - ``.popower``: The ``MEASUrement:MEAS:POPower`` command. - ``.powerfactor``: The ``MEASUrement:MEAS:POWERFACtor`` command. - ``.pregion``: The ``MEASUrement:MEAS:PREGion`` command. + - ``.presistance``: The ``MEASUrement:MEAS:PRESistance`` command. + - ``.pthreshold``: The ``MEASUrement:MEAS:PTHReshold`` command. - ``.pwidth``: The ``MEASUrement:MEAS:PWIDth`` command. - ``.redge``: The ``MEASUrement:MEAS:REDGe`` command. - ``.reflevels``: The ``MEASUrement:MEAS:REFLevels`` command tree. @@ -17591,7 +19834,9 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.refvoltageval``: The ``MEASUrement:MEAS:REFVOLTAGEVal`` command. - ``.refvoltage``: The ``MEASUrement:MEAS:REFVoltage`` command. - ``.results``: The ``MEASUrement:MEAS:RESUlts`` command tree. + - ``.rfrequency``: The ``MEASUrement:MEAS:RFREquency`` command. - ``.ripplefreqval``: The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + - ``.rrange``: The ``MEASUrement:MEAS:RRANGE`` command. - ``.sequence``: The ``MEASUrement:MEAS:SEQuence`` command. - ``.signalfrequency``: The ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. - ``.signaltype``: The ``MEASUrement:MEAS:SIGNALType`` command. @@ -17610,17 +19855,22 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.stltype``: The ``MEASUrement:MEAS:STLTYpe`` command. - ``.stsdirection``: The ``MEASUrement:MEAS:STSDirection`` command. - ``.stype``: The ``MEASUrement:MEAS:STYPe`` command. + - ``.subgroup``: The ``MEASUrement:MEAS:SUBGROUP`` command tree. - ``.sunits``: The ``MEASUrement:MEAS:SUNits`` command. - ``.tckavg``: The ``MEASUrement:MEAS:TCKAVG`` command. - ``.tconstant``: The ``MEASUrement:MEAS:TCONstant`` command. - ``.timingmode``: The ``MEASUrement:MEAS:TIMINGMode`` command. + - ``.tlevel``: The ``MEASUrement:MEAS:TLEVel`` command. - ``.tmethod``: The ``MEASUrement:MEAS:TMEThod`` command. - ``.toedgesearchdirect``: The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. - ``.toedge``: The ``MEASUrement:MEAS:TOEdge`` command. - ``.tosymbol``: The ``MEASUrement:MEAS:TOSYmbol`` command tree. - ``.transition``: The ``MEASUrement:MEAS:TRANSition`` command. - ``.type``: The ``MEASUrement:MEAS:TYPe`` command. + - ``.vlevel``: The ``MEASUrement:MEAS:VLEVel`` command. - ``.waittime``: The ``MEASUrement:MEAS:WAITTime`` command. + - ``.wbg``: The ``MEASUrement:MEAS:WBG`` command tree. + - ``.width``: The ``MEASUrement:MEAS:WIDTh`` command. - ``.windowlength``: The ``MEASUrement:MEAS:WINDOWLENgth`` command. - ``.xunit``: The ``MEASUrement:MEAS:XUNIT`` command. - ``.yunit``: The ``MEASUrement:MEAS:YUNIT`` command. @@ -17631,8 +19881,12 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no super().__init__(device, cmd_syntax) self._abandwidth = MeasurementMeasItemAbandwidth(device, f"{self._cmd_syntax}:ABANdwidth") self._achannels = MeasurementMeasItemAchannels(device, f"{self._cmd_syntax}:ACHANnels") + self._amethod = MeasurementMeasItemAmethod(device, f"{self._cmd_syntax}:AMEThod") self._ber = MeasurementMeasItemBer(device, f"{self._cmd_syntax}:BER") self._bin = MeasurementMeasItemBin(device, f"{self._cmd_syntax}:BIN") + self._bitabsolute = MeasurementMeasItemBitabsolute( + device, f"{self._cmd_syntax}:BITAbsolute" + ) self._bitcfgmode = MeasurementMeasItemBitcfgmode(device, f"{self._cmd_syntax}:BITCfgmode") self._bitend = MeasurementMeasItemBitend(device, f"{self._cmd_syntax}:BITEnd") self._bitpcnt = MeasurementMeasItemBitpcnt(device, f"{self._cmd_syntax}:BITPcnt") @@ -17641,6 +19895,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no self._burstedgtype = MeasurementMeasItemBurstedgtype( device, f"{self._cmd_syntax}:BURSTEDGTYPe" ) + self._bvoltage = MeasurementMeasItemBvoltage(device, f"{self._cmd_syntax}:BVOLTage") self._ccresults = MeasurementMeasItemCcresults(device, f"{self._cmd_syntax}:CCRESUlts") self._clockrecovery = MeasurementMeasItemClockrecovery( device, f"{self._cmd_syntax}:CLOCKRecovery" @@ -17673,6 +19928,14 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no ) self._edges = MeasurementMeasItemEdges(device, f"{self._cmd_syntax}:EDGES") self._eequal = MeasurementMeasItemEequal(device, f"{self._cmd_syntax}:EEQUal") + self._einductance = MeasurementMeasItemEinductance( + device, f"{self._cmd_syntax}:EINDuctance" + ) + self._einterpolation = MeasurementMeasItemEinterpolation( + device, f"{self._cmd_syntax}:EINTerpolation" + ) + self._extenduis = MeasurementMeasItemExtenduis(device, f"{self._cmd_syntax}:EXTENDuis") + self._eyerender = MeasurementMeasItemEyerender(device, f"{self._cmd_syntax}:EYERender") self._failcount = MeasurementMeasItemFailcount(device, f"{self._cmd_syntax}:FAILCount") self._filterrangefrom = MeasurementMeasItemFilterrangefrom( device, f"{self._cmd_syntax}:FILTERRANGEFROM" @@ -17681,6 +19944,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no device, f"{self._cmd_syntax}:FILTERRANGETO" ) self._filters = MeasurementMeasItemFilters(device, f"{self._cmd_syntax}:FILTers") + self._forder = MeasurementMeasItemForder(device, f"{self._cmd_syntax}:FORDer") self._fparameter = MeasurementMeasItemFparameter(device, f"{self._cmd_syntax}:FPARAmeter") self._freq = MeasurementMeasItemFreq(device, f"{self._cmd_syntax}:FREQ") self._fromedgesearchdirect = MeasurementMeasItemFromedgesearchdirect( @@ -17783,6 +20047,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no ) self._pcount = MeasurementMeasItemPcount(device, f"{self._cmd_syntax}:PCOUNt") self._perfreq = MeasurementMeasItemPerfreq(device, f"{self._cmd_syntax}:PERFREQ") + self._pfrequency = MeasurementMeasItemPfrequency(device, f"{self._cmd_syntax}:PFREquency") self._polarity = MeasurementMeasItemPolarity(device, f"{self._cmd_syntax}:POLarity") self._population = MeasurementMeasItemPopulation(device, f"{self._cmd_syntax}:POPUlation") self._popower = MeasurementMeasItemPopower(device, f"{self._cmd_syntax}:POPower") @@ -17790,6 +20055,10 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no device, f"{self._cmd_syntax}:POWERFACtor" ) self._pregion = MeasurementMeasItemPregion(device, f"{self._cmd_syntax}:PREGion") + self._presistance = MeasurementMeasItemPresistance( + device, f"{self._cmd_syntax}:PRESistance" + ) + self._pthreshold = MeasurementMeasItemPthreshold(device, f"{self._cmd_syntax}:PTHReshold") self._pwidth = MeasurementMeasItemPwidth(device, f"{self._cmd_syntax}:PWIDth") self._redge = MeasurementMeasItemRedge(device, f"{self._cmd_syntax}:REDGe") self._reflevels = MeasurementMeasItemReflevels(device, f"{self._cmd_syntax}:REFLevels") @@ -17804,6 +20073,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no ) self._refvoltage = MeasurementMeasItemRefvoltage(device, f"{self._cmd_syntax}:REFVoltage") self._results = MeasurementMeasItemResults(device, f"{self._cmd_syntax}:RESUlts") + self._rfrequency = MeasurementMeasItemRfrequency(device, f"{self._cmd_syntax}:RFREquency") self._ripplefreqval: Dict[ int, MeasurementMeasItemRipplefreqvalItem ] = DefaultDictPassKeyToFactory( @@ -17811,6 +20081,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no device, f"{self._cmd_syntax}:RIPPLEFREQ{x}Val" ) ) + self._rrange = MeasurementMeasItemRrange(device, f"{self._cmd_syntax}:RRANGE") self._sequence = MeasurementMeasItemSequence(device, f"{self._cmd_syntax}:SEQuence") self._signalfrequency = MeasurementMeasItemSignalfrequency( device, f"{self._cmd_syntax}:SIGNALFREQUEncy" @@ -17837,10 +20108,12 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no device, f"{self._cmd_syntax}:STSDirection" ) self._stype = MeasurementMeasItemStype(device, f"{self._cmd_syntax}:STYPe") + self._subgroup = MeasurementMeasItemSubgroup(device, f"{self._cmd_syntax}:SUBGROUP") self._sunits = MeasurementMeasItemSunits(device, f"{self._cmd_syntax}:SUNits") self._tckavg = MeasurementMeasItemTckavg(device, f"{self._cmd_syntax}:TCKAVG") self._tconstant = MeasurementMeasItemTconstant(device, f"{self._cmd_syntax}:TCONstant") self._timingmode = MeasurementMeasItemTimingmode(device, f"{self._cmd_syntax}:TIMINGMode") + self._tlevel = MeasurementMeasItemTlevel(device, f"{self._cmd_syntax}:TLEVel") self._tmethod = MeasurementMeasItemTmethod(device, f"{self._cmd_syntax}:TMEThod") self._toedgesearchdirect = MeasurementMeasItemToedgesearchdirect( device, f"{self._cmd_syntax}:TOEDGESEARCHDIRect" @@ -17849,7 +20122,10 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # no self._tosymbol = MeasurementMeasItemTosymbol(device, f"{self._cmd_syntax}:TOSYmbol") self._transition = MeasurementMeasItemTransition(device, f"{self._cmd_syntax}:TRANSition") self._type = MeasurementMeasItemType(device, f"{self._cmd_syntax}:TYPe") + self._vlevel = MeasurementMeasItemVlevel(device, f"{self._cmd_syntax}:VLEVel") self._waittime = MeasurementMeasItemWaittime(device, f"{self._cmd_syntax}:WAITTime") + self._wbg = MeasurementMeasItemWbg(device, f"{self._cmd_syntax}:WBG") + self._width = MeasurementMeasItemWidth(device, f"{self._cmd_syntax}:WIDTh") self._windowlength = MeasurementMeasItemWindowlength( device, f"{self._cmd_syntax}:WINDOWLENgth" ) @@ -17914,6 +20190,35 @@ def achannels(self) -> MeasurementMeasItemAchannels: """ return self._achannels + @property + def amethod(self) -> MeasurementMeasItemAmethod: + """Return the ``MEASUrement:MEAS:AMEThod`` command. + + **Description:** + - This command sets or queries the analysis method used to compute eye width or eye + height. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:AMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:AMEThod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:AMEThod value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:AMEThod {PARAmetric|HISTogram} + - MEASUrement:MEAS:AMEThod? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PARAmetric`` sets the analysis method to parametric. + - ``HISTogram`` sets the analysis method to histogram. + """ + return self._amethod + @property def ber(self) -> MeasurementMeasItemBer: """Return the ``MEASUrement:MEAS:BER`` command. @@ -17973,6 +20278,34 @@ def bin(self) -> MeasurementMeasItemBin: """ return self._bin + @property + def bitabsolute(self) -> MeasurementMeasItemBitabsolute: + """Return the ``MEASUrement:MEAS:BITAbsolute`` command. + + **Description:** + - This command sets or queries the bit center as an absolute value. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITAbsolute?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITAbsolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BITAbsolute value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:BITAbsolute + - MEASUrement:MEAS:BITAbsolute? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` is the value for the bit center. + """ + return self._bitabsolute + @property def bitcfgmode(self) -> MeasurementMeasItemBitcfgmode: """Return the ``MEASUrement:MEAS:BITCfgmode`` command. @@ -18150,6 +20483,33 @@ def burstedgtype(self) -> MeasurementMeasItemBurstedgtype: """ return self._burstedgtype + @property + def bvoltage(self) -> MeasurementMeasItemBvoltage: + """Return the ``MEASUrement:MEAS:BVOLTage`` command. + + **Description:** + - This command sets or returns the bias voltage for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BVOLTage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BVOLTage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BVOLTage value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:BVOLTage + - MEASUrement:MEAS:BVOLTage? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for bias voltage of the WBG measurement. + """ + return self._bvoltage + @property def ccresults(self) -> MeasurementMeasItemCcresults: """Return the ``MEASUrement:MEAS:CCRESUlts`` command tree. @@ -18199,6 +20559,7 @@ def clockrecovery(self) -> MeasurementMeasItemClockrecovery: - ``.model``: The ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. - ``.nominaloffset``: The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. - ``.standard``: The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + - ``.tdcompensation``: The ``MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation`` command. """ return self._clockrecovery @@ -18353,13 +20714,14 @@ def cyclemode(self) -> MeasurementMeasItemCyclemode: :: - - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE|ROTATION} - MEASUrement:MEAS:CYCLemode? **Info:** - ``MEAS`` specifies the measurement number. - ``RECORD`` specifies that the measurement is taken over the whole record. - ``CYCLE`` specifies that measurements are taken on each cycle of the source. + - ``ROTATION`` specifies that measurements are taken on a rotation of the source. """ return self._cyclemode @@ -18574,52 +20936,167 @@ def edgequalifier(self) -> MeasurementMeasItemEdgequalifier: def edges(self) -> MeasurementMeasItemEdges: """Return the ``MEASUrement:MEAS:EDGES`` command tree. - **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES?`` query - and raise an AssertionError if the returned value does not match ``value``. + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.fromlevel``: The ``MEASUrement:MEAS:EDGES:FROMLevel`` command. + - ``.level``: The ``MEASUrement:MEAS:EDGES:LEVel`` command. + - ``.lowerfrequency``: The ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. + - ``.n``: The ``MEASUrement:MEAS:EDGES:N`` command. + - ``.slewratemethod``: The ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. + - ``.tolevel``: The ``MEASUrement:MEAS:EDGES:TOLevel`` command. + - ``.upperfrequency``: The ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + """ + return self._edges + + @property + def eequal(self) -> MeasurementMeasItemEequal: + """Return the ``MEASUrement:MEAS:EEQUal`` command. + + **Description:** + - This command turns on or off the edge qualifier settings as input waveform to + measurement. The measurement number is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EEQUal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EEQUal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EEQUal value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EEQUal {ON|OFF} + - MEASUrement:MEAS:EEQUal? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``ON`` specifies the edge qualifier settings has been turned on. + - ``OFF`` specifies the edge qualifier settings has been turned off. + """ + return self._eequal + + @property + def einductance(self) -> MeasurementMeasItemEinductance: + """Return the ``MEASUrement:MEAS:EINDuctance`` command. + + **Description:** + - This command sets or returns the effective inductance for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EINDuctance?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EINDuctance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EINDuctance value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EINDuctance + - MEASUrement:MEAS:EINDuctance? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for effective inductance of the WBG measurement. + """ + return self._einductance + + @property + def einterpolation(self) -> MeasurementMeasItemEinterpolation: + """Return the ``MEASUrement:MEAS:EINTerpolation`` command. + + **Description:** + - This command sets or queries whether dot mode eye diagram is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EINTerpolation?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EINTerpolation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EINTerpolation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EINTerpolation {ON|OFF} + - MEASUrement:MEAS:EINTerpolation? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``ON`` enables interpolation between samples. + - ``OFF`` disables interpolation between samples. + """ + return self._einterpolation + + @property + def extenduis(self) -> MeasurementMeasItemExtenduis: + """Return the ``MEASUrement:MEAS:EXTENDuis`` command. + + **Description:** + - This command sets or returns number of UIs considered for analysis of eye width or eye + height measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EXTENDuis?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EXTENDuis?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EXTENDuis value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:EXTENDuis + - MEASUrement:MEAS:EXTENDuis? **Info:** - ``MEAS`` specifies the measurement number. - - Sub-properties: - - ``.fromlevel``: The ``MEASUrement:MEAS:EDGES:FROMLevel`` command. - - ``.level``: The ``MEASUrement:MEAS:EDGES:LEVel`` command. - - ``.lowerfrequency``: The ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. - - ``.n``: The ``MEASUrement:MEAS:EDGES:N`` command. - - ``.slewratemethod``: The ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. - - ``.tolevel``: The ``MEASUrement:MEAS:EDGES:TOLevel`` command. - - ``.upperfrequency``: The ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + - ```` is the number of UIs considered for analysis. """ - return self._edges + return self._extenduis @property - def eequal(self) -> MeasurementMeasItemEequal: - """Return the ``MEASUrement:MEAS:EEQUal`` command. + def eyerender(self) -> MeasurementMeasItemEyerender: + """Return the ``MEASUrement:MEAS:EYERender`` command. **Description:** - - This command turns on or off the edge qualifier settings as input waveform to - measurement. The measurement number is specified by x. + - This command sets or queries the eye rendering method. **Usage:** - - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EEQUal?`` query. - - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EEQUal?`` + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EYERender?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EYERender?`` query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EEQUal value`` - command. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EYERender value`` command. **SCPI Syntax:** :: - - MEASUrement:MEAS:EEQUal {ON|OFF} - - MEASUrement:MEAS:EEQUal? + - MEASUrement:MEAS:EYERender {FAst|COMPlete} + - MEASUrement:MEAS:EYERender? **Info:** - - ``ON`` specifies the edge qualifier settings has been turned on. - - ``OFF`` specifies the edge qualifier settings has been turned off. + - ``MEAS`` specifies the measurement number. + - ``FAst`` sets the eye rendering method to fast. + - ``COMPlete`` sets the eye rendering method to complete. """ - return self._eequal + return self._eyerender @property def failcount(self) -> MeasurementMeasItemFailcount: @@ -18723,6 +21200,33 @@ def filters(self) -> MeasurementMeasItemFilters: """ return self._filters + @property + def forder(self) -> MeasurementMeasItemForder: + """Return the ``MEASUrement:MEAS:FORDer`` command. + + **Description:** + - This command sets or returns the differential filter order for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FORDer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FORDer value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:FORDer + - MEASUrement:MEAS:FORDer? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the differential filter order of the WBG measurement. + """ + return self._forder + @property def fparameter(self) -> MeasurementMeasItemFparameter: """Return the ``MEASUrement:MEAS:FPARAmeter`` command. @@ -19081,7 +21585,7 @@ def harmonicsstd(self) -> MeasurementMeasItemHarmonicsstd: :: - - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd {NONE| IEC| IEEE519| CUSTOM| REVIEEE5192022} - MEASUrement:MEAS:HARMONICSStd? **Info:** @@ -19089,6 +21593,7 @@ def harmonicsstd(self) -> MeasurementMeasItemHarmonicsstd: - ``NONE`` specifies none as the harmonics test standard. - ``IEC`` specifies IEC as the harmonics test standard. - ``IEEE519`` specifies IEEE519 as the harmonics test standard. + - ``REVIEEE5192022`` specifies REVIEEE5192022 as the harmonics test standard. - ``CUSTOM`` specifies that there is a custom harmonics test standard. """ return self._harmonicsstd @@ -20221,6 +22726,33 @@ def perfreq(self) -> MeasurementMeasItemPerfreq: """ return self._perfreq + @property + def pfrequency(self) -> MeasurementMeasItemPfrequency: + """Return the ``MEASUrement:MEAS:PFREquency`` command. + + **Description:** + - This command sets or returns the PJ max frequency value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PFREquency?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PFREquency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PFREquency value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PFREquency + - MEASUrement:MEAS:PFREquency? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of PJ max frequency for PSIJ measurement. + """ + return self._pfrequency + @property def polarity(self) -> MeasurementMeasItemPolarity: """Return the ``MEASUrement:MEAS:POLarity`` command. @@ -20354,6 +22886,61 @@ def pregion(self) -> MeasurementMeasItemPregion: """ return self._pregion + @property + def presistance(self) -> MeasurementMeasItemPresistance: + """Return the ``MEASUrement:MEAS:PRESistance`` command. + + **Description:** + - This command sets or returns the probe resistance for WBG measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PRESistance?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PRESistance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PRESistance value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PRESistance + - MEASUrement:MEAS:PRESistance? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for probe resistance of the WBG measurement. + """ + return self._presistance + + @property + def pthreshold(self) -> MeasurementMeasItemPthreshold: + """Return the ``MEASUrement:MEAS:PTHReshold`` command. + + **Description:** + - This command sets or returns the PJ threshold value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PTHReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PTHReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PTHReshold value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:PTHReshold + - MEASUrement:MEAS:PTHReshold? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of PJ threshold for PSIJ measurement. + """ + return self._pthreshold + @property def pwidth(self) -> MeasurementMeasItemPwidth: """Return the ``MEASUrement:MEAS:PWIDth`` command. @@ -20549,6 +23136,33 @@ def results(self) -> MeasurementMeasItemResults: """ return self._results + @property + def rfrequency(self) -> MeasurementMeasItemRfrequency: + """Return the ``MEASUrement:MEAS:RFREquency`` command. + + **Description:** + - This command sets or returns the center frequency value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RFREquency?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RFREquency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:RFREquency value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:RFREquency + - MEASUrement:MEAS:RFREquency? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of center frequency for PSIJ measurement. + """ + return self._rfrequency + @property def ripplefreqval(self) -> Dict[int, MeasurementMeasItemRipplefreqvalItem]: """Return the ``MEASUrement:MEAS:RIPPLEFREQVal`` command. @@ -20579,6 +23193,33 @@ def ripplefreqval(self) -> Dict[int, MeasurementMeasItemRipplefreqvalItem]: """ return self._ripplefreqval + @property + def rrange(self) -> MeasurementMeasItemRrange: + """Return the ``MEASUrement:MEAS:RRANGE`` command. + + **Description:** + - This command sets or returns the span value of PSIJ measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RRANGE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RRANGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:RRANGE value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:RRANGE + - MEASUrement:MEAS:RRANGE? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ```` specifies the value of span for PSIJ measurement. + """ + return self._rrange + @property def sequence(self) -> MeasurementMeasItemSequence: """Return the ``MEASUrement:MEAS:SEQuence`` command. @@ -21072,6 +23713,20 @@ def stype(self) -> MeasurementMeasItemStype: """ return self._stype + @property + def subgroup(self) -> MeasurementMeasItemSubgroup: + """Return the ``MEASUrement:MEAS:SUBGROUP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUBGROUP?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUBGROUP?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.results``: The ``MEASUrement:MEAS:SUBGROUP:RESUlts`` command tree. + """ + return self._subgroup + @property def sunits(self) -> MeasurementMeasItemSunits: """Return the ``MEASUrement:MEAS:SUNits`` command. @@ -21184,6 +23839,35 @@ def timingmode(self) -> MeasurementMeasItemTimingmode: """ return self._timingmode + @property + def tlevel(self) -> MeasurementMeasItemTlevel: + """Return the ``MEASUrement:MEAS:TLEVel`` command. + + **Description:** + - This command sets or queries whether histogram center is percentage relative to unit + amplitude or an absolute value, for eye height measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TLEVel value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:TLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:TLEVel? + + **Info:** + - ``MEAS`` specifies the measurement number. + - ``PERCent`` sets the histogram center as a percentage relative to unit amplitude. + - ``ABSolute`` sets the histogram center as an absolute value. + """ + return self._tlevel + @property def tmethod(self) -> MeasurementMeasItemTmethod: """Return the ``MEASUrement:MEAS:TMEThod`` command. @@ -21344,7 +24028,7 @@ def type(self) -> MeasurementMeasItemType: :: - - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:MEAS:TYPe {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH | BITLOW |BURSTWIDTH |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMOVERSHOOT |DPMPSIJ |DPMUNDERSHOOT |DPMRIPPLE |DPMTURNOFFTIME |DPMTURNONTIME |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HIGH |HEIGHT |HEIGHTBER |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUtY |NPERIOD |NPJ |NOVERSHOOT |NWIDTH |OBW |PDUTTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SRJ |SSCFREQDEV |SSCMODRATE |SETUP |SKEW |TIE |TIMEOUTSIDELEVEL |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} - MEASUrement:MEAS:TYPe? **Info:** @@ -21359,7 +24043,6 @@ def type(self) -> MeasurementMeasItemType: This measurement can be made across the entire record, or on each cycle in the record. - ``AMPLITUDE`` is the difference between the Top value and the Base value. This measurement can be made across the entire record, or on each cycle in the record. - - ``Amplitude = High - Low`` - ``AREA`` is the area under the curve, calculated by integrating the data points. The area measured above ground is positive. The area measured below ground is negative. This measurement can be made across the entire record, or on each cycle in the record. @@ -21479,6 +24162,8 @@ def type(self) -> MeasurementMeasItemType: - ``DPMOVERSHOOT`` is the difference between Maximum and Top, divided by the amplitude. This measurement can be made across the entire record or on each cycle in the record at the specified reference voltage. + - ``DPMPSIJ`` is the Power Supply Induced Jitter. This measurement helps in suppressing + the jitter in high speed signals (victim) induced from power rail signals (aggressor). - ``DPMUNDERSHOOT`` is the difference between Minimum and Base, divided by the amplitude. This measurement can be made across the entire record or on each cycle in the record at the specified reference voltage. @@ -21577,7 +24262,6 @@ def type(self) -> MeasurementMeasItemType: record, or on each cycle in the record. - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the Period. This measurement is made on each cycle in the record. - - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is the time between two adjacent (same direction) crossings of the Mid reference level (RM). This measurement is made on each cycle in the record. @@ -21588,7 +24272,6 @@ def type(self) -> MeasurementMeasItemType: - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, divided by the Amplitude. This measurement can be made across the entire record, or on each cycle in the record. - - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid reference level (RM). This measurement is made on each cycle in the record. - ``OBW`` (Occupied Bandwidth) refers to the bandwidth, including energy of a certain @@ -21596,7 +24279,6 @@ def type(self) -> MeasurementMeasItemType: channel as the center. - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the Period. This measurement is made on each cycle in the record. - - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two adjacent (same direction) crossings of the Mid reference level (RM). This measurement is made on each cycle in the record. @@ -21615,7 +24297,6 @@ def type(self) -> MeasurementMeasItemType: - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided by the Amplitude. This measurement can be made across the entire record, or on each cycle in the record. - - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid reference level (RM). This measurement is made on each cycle in the record. - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise @@ -21695,6 +24376,8 @@ def type(self) -> MeasurementMeasItemType: Requires a WBG-DPT License. - ``WBGIRRM`` (Irrm) measures the maximum current dissipated in the Power Device in the reverse recovery region. Requires a WBG-DPT License. + - ``WBGQOSS`` (Qoss) is the charge that must be supplied to the output capacitance of + the power device during a specified time interval. Requires a WBG-DPT License. - ``WBGQRR`` (Qrr) measures the reverse recovery charge in the Power Device using the configured levels. Requires a WBG-DPT License. - ``WBGTDOFF`` (Td(off)) measures the turn off delay time of the Power Device in the off @@ -21723,6 +24406,35 @@ def type(self) -> MeasurementMeasItemType: """ # noqa: E501 return self._type + @property + def vlevel(self) -> MeasurementMeasItemVlevel: + """Return the ``MEASUrement:MEAS:VLEVel`` command. + + **Description:** + - This command sets or queries whether histogram center is percentage relative to unit + interval or an absolute value for eye width measurement. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:VLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:VLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:VLEVel value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:VLEVel {PERCent|ABSolute} + - MEASUrement:MEAS:VLEVel? + + **Info:** + - ``MEAS`` is the measurement number. + - ``PERCent`` sets the histogram center as a percentage relative to unit interval. + - ``ABSolute`` sets the histogram center as an absolute value. + """ + return self._vlevel + @property def waittime(self) -> MeasurementMeasItemWaittime: """Return the ``MEASUrement:MEAS:WAITTime`` command. @@ -21750,6 +24462,60 @@ def waittime(self) -> MeasurementMeasItemWaittime: """ return self._waittime + @property + def wbg(self) -> MeasurementMeasItemWbg: + """Return the ``MEASUrement:MEAS:WBG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WBG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WBG?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.afgsetup``: The ``MEASUrement:MEAS:WBG:AFGSetup`` command. + - ``.afgaddress``: The ``MEASUrement:MEAS:WBG:AFGaddress`` command. + - ``.cstatus``: The ``MEASUrement:MEAS:WBG:CSTatus`` command. + - ``.gtype``: The ``MEASUrement:MEAS:WBG:GTYPe`` command. + - ``.high``: The ``MEASUrement:MEAS:WBG:HIGH`` command. + - ``.load``: The ``MEASUrement:MEAS:WBG:LOAD`` command. + - ``.low``: The ``MEASUrement:MEAS:WBG:LOW`` command. + - ``.npuls``: The ``MEASUrement:MEAS:WBG:NPULs`` command. + - ``.pgval``: The ``MEASUrement:MEAS:WBG:PGVal`` command. + - ``.pwval``: The ``MEASUrement:MEAS:WBG:PWVal`` command. + - ``.timer``: The ``MEASUrement:MEAS:WBG:TIMer`` command. + """ + return self._wbg + + @property + def width(self) -> MeasurementMeasItemWidth: + """Return the ``MEASUrement:MEAS:WIDTh`` command. + + **Description:** + - This command sets or queries the histogram width in terms of percentage. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WIDTh?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WIDTh?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WIDTh value`` + command. + + **SCPI Syntax:** + + :: + + - MEASUrement:MEAS:WIDTh + - MEASUrement:MEAS:WIDTh? + + **Info:** + - ``MEAS`` is the measurement number. + - ```` is the value for the width. + """ + return self._width + @property def windowlength(self) -> MeasurementMeasItemWindowlength: """Return the ``MEASUrement:MEAS:WINDOWLENgth`` command. @@ -21862,7 +24628,7 @@ class MeasurementMathItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -21893,7 +24659,7 @@ class MeasurementMathItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -21924,7 +24690,7 @@ class MeasurementMathItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. The measurement number is specified by x. @@ -21986,7 +24752,7 @@ class MeasurementMathItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -22017,7 +24783,7 @@ class MeasurementMathItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -22048,7 +24814,7 @@ class MeasurementMathItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. @@ -22130,8 +24896,8 @@ def fallhigh(self) -> MeasurementMathItemReflevelsPercentFallhigh: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -22162,8 +24928,8 @@ def falllow(self) -> MeasurementMathItemReflevelsPercentFalllow: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -22194,8 +24960,8 @@ def fallmid(self) -> MeasurementMathItemReflevelsPercentFallmid: """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -22257,8 +25023,8 @@ def risehigh(self) -> MeasurementMathItemReflevelsPercentRisehigh: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. The measurement number is specified by x. @@ -22290,8 +25056,8 @@ def riselow(self) -> MeasurementMathItemReflevelsPercentRiselow: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -22322,8 +25088,8 @@ def risemid(self) -> MeasurementMathItemReflevelsPercentRisemid: """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The math number is specified by x. **Usage:** @@ -23400,14 +26166,12 @@ class MeasurementHighlevelOutwiring(SCPICmdWrite, SCPICmdRead): :: - - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} - MEASUrement:HIGHLEVel:OUTWIRing? **Info:** - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring configuration. - - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring - configuration. - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring configuration. - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring @@ -24245,14 +27009,12 @@ def outwiring(self) -> MeasurementHighlevelOutwiring: :: - - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} - MEASUrement:HIGHLEVel:OUTWIRing? **Info:** - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring configuration. - - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring - configuration. - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring configuration. - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring @@ -25223,13 +27985,16 @@ class MeasurementEdgeItem(ValidatedDynamicNumberCmd, SCPICmdWrite): """ -class MeasurementDisplayunits(SCPICmdWrite): +class MeasurementDisplayunits(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:DISPLAYUnits`` command. **Description:** - This command sets or queries the display units used for jitter summary measurements. **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:DISPLAYUnits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DISPLAYUnits?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MEASUrement:DISPLAYUnits value`` command. @@ -25238,6 +28003,7 @@ class MeasurementDisplayunits(SCPICmdWrite): :: - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? **Info:** - ``SEConds`` set the display units to seconds. @@ -25312,6 +28078,36 @@ class MeasurementDeleteall(SCPICmdWriteNoArguments): """ +class MeasurementClockrecoveryTdcompensation(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:TDCOMPensation`` command. + + **Description:** + - This command sets the PLL clock recovery loop feedback time-constants such that the actual + transfer function matches closely to a mathematical filter polynomial. This will affect + measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:TDCOMPensation?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:TDCOMPensation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:TDCOMPensation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:CLOCKRecovery:TDCOMPensation {1|0} + - MEASUrement:CLOCKRecovery:TDCOMPensation? + + **Info:** + - ``1`` specifies automatic transition density compensation is on. + - ``0`` specifies automatic transition density compensation is off. + """ + + class MeasurementClockrecoveryStandard(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CLOCKRecovery:STAndard`` command. @@ -25932,6 +28728,7 @@ class MeasurementClockrecovery(SCPICmdRead): - ``.model``: The ``MEASUrement:CLOCKRecovery:MODel`` command. - ``.nominaloffset``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. - ``.standard``: The ``MEASUrement:CLOCKRecovery:STAndard`` command. + - ``.tdcompensation``: The ``MEASUrement:CLOCKRecovery:TDCOMPensation`` command. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: @@ -25967,6 +28764,9 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: device, f"{self._cmd_syntax}:NOMINALOFFset" ) self._standard = MeasurementClockrecoveryStandard(device, f"{self._cmd_syntax}:STAndard") + self._tdcompensation = MeasurementClockrecoveryTdcompensation( + device, f"{self._cmd_syntax}:TDCOMPensation" + ) @property def advanced(self) -> MeasurementClockrecoveryAdvanced: @@ -26457,6 +29257,38 @@ def standard(self) -> MeasurementClockrecoveryStandard: """ # noqa: E501 return self._standard + @property + def tdcompensation(self) -> MeasurementClockrecoveryTdcompensation: + """Return the ``MEASUrement:CLOCKRecovery:TDCOMPensation`` command. + + **Description:** + - This command sets the PLL clock recovery loop feedback time-constants such that the + actual transfer function matches closely to a mathematical filter polynomial. This + will affect measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is + set to 1. + + **Usage:** + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:TDCOMPensation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:TDCOMPensation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:TDCOMPensation value`` command. + + **SCPI Syntax:** + + :: + + - MEASUrement:CLOCKRecovery:TDCOMPensation {1|0} + - MEASUrement:CLOCKRecovery:TDCOMPensation? + + **Info:** + - ``1`` specifies automatic transition density compensation is on. + - ``0`` specifies automatic transition density compensation is off. + """ + return self._tdcompensation + class MeasurementChannelReflevelsPercentType(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:TYPE`` command. @@ -26492,7 +29324,7 @@ class MeasurementChannelReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -26522,7 +29354,7 @@ class MeasurementChannelReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -26552,7 +29384,7 @@ class MeasurementChannelReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. @@ -26611,7 +29443,7 @@ class MeasurementChannelReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the mid reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -26641,7 +29473,7 @@ class MeasurementChannelReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the low reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -26671,7 +29503,7 @@ class MeasurementChannelReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): """The ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is equal to + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to BASE) used to calculate the high reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. @@ -26748,8 +29580,8 @@ def fallhigh(self) -> MeasurementChannelReflevelsPercentFallhigh: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the falling edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the source ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -26779,9 +29611,9 @@ def falllow(self) -> MeasurementChannelReflevelsPercentFalllow: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the falling edge when the - source ref level method is set to percent. The channel number is specified by x. + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -26810,9 +29642,9 @@ def fallmid(self) -> MeasurementChannelReflevelsPercentFallmid: """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the falling edge when the - source ref level method is set to percent. The channel number is specified by x. + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -26871,8 +29703,8 @@ def risehigh(self) -> MeasurementChannelReflevelsPercentRisehigh: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the high reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -26902,8 +29734,8 @@ def riselow(self) -> MeasurementChannelReflevelsPercentRiselow: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the low reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -26933,8 +29765,8 @@ def risemid(self) -> MeasurementChannelReflevelsPercentRisemid: """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. **Description:** - - This command sets or queries the percentage (where 100% is equal to TOP and 0% is - equal to BASE) used to calculate the mid reference level of the rising edge when the + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the measurement ref level method is set to percent. The channel number is specified by x. **Usage:** @@ -27755,7 +30587,7 @@ class MeasurementAutoset(SCPICmdWrite): """The ``MEASUrement:AUTOset`` command. **Description:** - - This command performs an analysis jitter autoset. + - This command performs a specified autoset. **Usage:** - Using the ``.write(value)`` method will send the ``MEASUrement:AUTOset value`` command. @@ -27764,13 +30596,18 @@ class MeasurementAutoset(SCPICmdWrite): :: - - MEASUrement:AUTOset {EXECute |THREEPHASEAUTOset |WBGPREset} + - MEASUrement:AUTOset {DPMAutoset |DPMPReset |EXECute |THREEPHASEAUTOset |WBGDeskewexec |WBGPREset |WBGGSTIM} **Info:** + - ``DPMAutoset`` performs a power rail autoset operation. Requires a DPM license. + - ``DPMPReset`` performs a power rail preset operation. Requires a DPM license. - ``EXECute`` performs an analysis jitter autoset. - ``THREEPHASEAUTOset`` performs an IMDA 3 phase autoset. + - ``WBGDeskewexec`` performs WBG deskew on specific measurements. Requires a WBG-DPT + license. - ``WBGPREset`` performs a measurement specific preset. Requires a WBG-DPT license. - """ + - ``WBGGSTIM`` performs gate stimulus for WBG measurement. Requires a WBG-DPT license. + """ # noqa: E501 class MeasurementAnnotate(SCPICmdWrite, SCPICmdRead): @@ -27832,7 +30669,7 @@ class MeasurementAddmeas(SCPICmdWrite): :: - - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMPSIJ |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} **Info:** - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage of @@ -27960,6 +30797,8 @@ class MeasurementAddmeas(SCPICmdWrite): pair of equal-magnitude Dirac functions. This measurement is made across the entire record. This measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``DPMPSIJ`` is the Power Supply Induced Jitter. This measurement helps in suppressing the + jitter in high speed signals (victim) induced from power rail signals (aggressor). - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified location within the recovered unit interval. This measurement is made on each high bit in the record. This measurement requires the DJA option and is not available on a 4 Series @@ -28166,6 +31005,8 @@ class MeasurementAddmeas(SCPICmdWrite): Requires a WBG-DPT License. - ``WBGIRRM`` (Irrm) measures the maximum current dissipated in the Power Device in the reverse recovery region. Requires a WBG-DPT License. + - ``WBGQOSS`` (Qoss) is the charge that must be supplied to the output capacitance of the + power device during a specified time interval. Requires a WBG-DPT License. - ``WBGQRR`` (Qrr) measures the reverse recovery charge in the Power Device using the configured levels. Requires a WBG-DPT License. - ``WBGTDOFF`` (Td(off)) measures the turn off delay time of the Power Device in the off @@ -28307,7 +31148,7 @@ def addmeas(self) -> MeasurementAddmeas: :: - - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} + - MEASUrement:ADDMEAS {ACCOMMONMODE |ACPR |ACRMS |AMPlITUDE |AREA |BASE |BITAMPLITUDE |BITHIGH |BITLOW |BURSTWIDTH |CCJITTER |COMMONMODE |CPOWER |DATARATE |DCD |DDJ |DDRAOS |DDRAOSPERTCK |DDRAOSPERUI |DDRAUS |DDRAUSPERTCK |DDRAUSPERUI |DDRHOLDDIFF |DDRSETUPDIFF |DDRTCHABS |DDRTCHAVERAGE |DDRTCKAVERAGE |DDRTCLABS |DDRTCLAVERAGE |DDRTERRMN |DDRTERRN |DDRTJITCC |DDRTJITDUTY |DDRTJITPER |DDRTPST |DDRTRPRE |DDRTWPRE |DDRVIXAC |DDRTDQSCK |DELAY |DJ |DJDIRAC |DPMPSIJ |EYEHIGH |EYELOW |FALLSLEWRATE |FALLTIME |FREQUENCY |F2 |F4 |F8 |HEIGHT |HEIGHTBER |HIGH |HIGHTIME |HOLD |IMDAANGLE |IMDADIRECTION |IMDADQ0 |IMDAEFFICIENCY |IMDAHARMONICS |IMDAMECHPWR |IMDAPOWERQUALITY |IMDASPEED |IMDASYSEFF |IMDATORQUE |JITTERSUMMARY |J2 |J9 |LOW |LOWTIME |MAXIMUM |MEAN |MINIMUM |NDUty |NOVERSHOOT |NPERIOD |NPJ |NWIDTH |OBW |PDUTY |PERIOD |PHASE |PHASENOISE |PJ |PK2Pk |POVERSHOOT |PWIDTH |QFACTOR |RISESLEWRATE |RISETIME |RJ |RJDIRAC |RMS |SETUP |SKEW |SRJ |SSCFREQDEV |SSCMODRATE |TIE |TIMEOUTSIDELEVEL |TIMETOMAX |TIMETOMIN |TJBER |TNTRATIO |TOP |UNITINTERVAL |VDIFFXOVR |WBGDDT |WBGDIODEDDT |WBGEOFF |WBGEON |WBGERR |WBGIPEAK |WBGIRRM |WBGQOSS |WBGQRR |WBGTDOFF |WBGTDON |WBGTF |WBGTON |WBGTOFF |WBGTR |WBGTRR |WBGVPEAK |WIDTH |WIDTHBER} **Info:** - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage @@ -28440,6 +31281,8 @@ def addmeas(self) -> MeasurementAddmeas: as a pair of equal-magnitude Dirac functions. This measurement is made across the entire record. This measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``DPMPSIJ`` is the Power Supply Induced Jitter. This measurement helps in suppressing + the jitter in high speed signals (victim) induced from power rail signals (aggressor). - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified location within the recovered unit interval. This measurement is made on each high bit in the record. This measurement requires the DJA option and is not available on a 4 @@ -28650,6 +31493,8 @@ def addmeas(self) -> MeasurementAddmeas: Requires a WBG-DPT License. - ``WBGIRRM`` (Irrm) measures the maximum current dissipated in the Power Device in the reverse recovery region. Requires a WBG-DPT License. + - ``WBGQOSS`` (Qoss) is the charge that must be supplied to the output capacitance of + the power device during a specified time interval. Requires a WBG-DPT License. - ``WBGQRR`` (Qrr) measures the reverse recovery charge in the Power Device using the configured levels. Requires a WBG-DPT License. - ``WBGTDOFF`` (Td(off)) measures the turn off delay time of the Power Device in the off @@ -28732,7 +31577,7 @@ def autoset(self) -> MeasurementAutoset: """Return the ``MEASUrement:AUTOset`` command. **Description:** - - This command performs an analysis jitter autoset. + - This command performs a specified autoset. **Usage:** - Using the ``.write(value)`` method will send the ``MEASUrement:AUTOset value`` @@ -28742,13 +31587,18 @@ def autoset(self) -> MeasurementAutoset: :: - - MEASUrement:AUTOset {EXECute |THREEPHASEAUTOset |WBGPREset} + - MEASUrement:AUTOset {DPMAutoset |DPMPReset |EXECute |THREEPHASEAUTOset |WBGDeskewexec |WBGPREset |WBGGSTIM} **Info:** + - ``DPMAutoset`` performs a power rail autoset operation. Requires a DPM license. + - ``DPMPReset`` performs a power rail preset operation. Requires a DPM license. - ``EXECute`` performs an analysis jitter autoset. - ``THREEPHASEAUTOset`` performs an IMDA 3 phase autoset. + - ``WBGDeskewexec`` performs WBG deskew on specific measurements. Requires a WBG-DPT + license. - ``WBGPREset`` performs a measurement specific preset. Requires a WBG-DPT license. - """ + - ``WBGGSTIM`` performs gate stimulus for WBG measurement. Requires a WBG-DPT license. + """ # noqa: E501 return self._autoset @property @@ -28790,6 +31640,7 @@ def clockrecovery(self) -> MeasurementClockrecovery: - ``.model``: The ``MEASUrement:CLOCKRecovery:MODel`` command. - ``.nominaloffset``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. - ``.standard``: The ``MEASUrement:CLOCKRecovery:STAndard`` command. + - ``.tdcompensation``: The ``MEASUrement:CLOCKRecovery:TDCOMPensation`` command. """ return self._clockrecovery @@ -28870,6 +31721,9 @@ def displayunits(self) -> MeasurementDisplayunits: - This command sets or queries the display units used for jitter summary measurements. **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement:DISPLAYUnits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DISPLAYUnits?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``MEASUrement:DISPLAYUnits value`` command. @@ -28878,6 +31732,7 @@ def displayunits(self) -> MeasurementDisplayunits: :: - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? **Info:** - ``SEConds`` set the display units to seconds. @@ -29186,14 +32041,17 @@ def meas(self) -> Dict[int, MeasurementMeasItem]: Sub-properties: - ``.abandwidth``: The ``MEASUrement:MEAS:ABANdwidth`` command. - ``.achannels``: The ``MEASUrement:MEAS:ACHANnels`` command. + - ``.amethod``: The ``MEASUrement:MEAS:AMEThod`` command. - ``.ber``: The ``MEASUrement:MEAS:BER`` command. - ``.bin``: The ``MEASUrement:MEAS:BIN`` command. + - ``.bitabsolute``: The ``MEASUrement:MEAS:BITAbsolute`` command. - ``.bitcfgmode``: The ``MEASUrement:MEAS:BITCfgmode`` command. - ``.bitend``: The ``MEASUrement:MEAS:BITEnd`` command. - ``.bitpcnt``: The ``MEASUrement:MEAS:BITPcnt`` command. - ``.bitstart``: The ``MEASUrement:MEAS:BITSTart`` command. - ``.bittype``: The ``MEASUrement:MEAS:BITType`` command. - ``.burstedgtype``: The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + - ``.bvoltage``: The ``MEASUrement:MEAS:BVOLTage`` command. - ``.ccresults``: The ``MEASUrement:MEAS:CCRESUlts`` command tree. - ``.clockrecovery``: The ``MEASUrement:MEAS:CLOCKRecovery`` command tree. - ``.commonmode``: The ``MEASUrement:MEAS:COMMONMode`` command tree. @@ -29212,10 +32070,15 @@ def meas(self) -> Dict[int, MeasurementMeasItem]: - ``.edgequalifier``: The ``MEASUrement:MEAS:EDGEQUALifier`` command. - ``.edges``: The ``MEASUrement:MEAS:EDGES`` command tree. - ``.eequal``: The ``MEASUrement:MEAS:EEQUal`` command. + - ``.einductance``: The ``MEASUrement:MEAS:EINDuctance`` command. + - ``.einterpolation``: The ``MEASUrement:MEAS:EINTerpolation`` command. + - ``.extenduis``: The ``MEASUrement:MEAS:EXTENDuis`` command. + - ``.eyerender``: The ``MEASUrement:MEAS:EYERender`` command. - ``.failcount``: The ``MEASUrement:MEAS:FAILCount`` command. - ``.filterrangefrom``: The ``MEASUrement:MEAS:FILTERRANGEFROM`` command. - ``.filterrangeto``: The ``MEASUrement:MEAS:FILTERRANGETO`` command. - ``.filters``: The ``MEASUrement:MEAS:FILTers`` command tree. + - ``.forder``: The ``MEASUrement:MEAS:FORDer`` command. - ``.fparameter``: The ``MEASUrement:MEAS:FPARAmeter`` command. - ``.freq``: The ``MEASUrement:MEAS:FREQ`` command. - ``.fromedgesearchdirect``: The ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. @@ -29270,11 +32133,14 @@ def meas(self) -> Dict[int, MeasurementMeasItem]: - ``.patterntype``: The ``MEASUrement:MEAS:PATTERNTYPe`` command. - ``.pcount``: The ``MEASUrement:MEAS:PCOUNt`` command. - ``.perfreq``: The ``MEASUrement:MEAS:PERFREQ`` command tree. + - ``.pfrequency``: The ``MEASUrement:MEAS:PFREquency`` command. - ``.polarity``: The ``MEASUrement:MEAS:POLarity`` command. - ``.population``: The ``MEASUrement:MEAS:POPUlation`` command tree. - ``.popower``: The ``MEASUrement:MEAS:POPower`` command. - ``.powerfactor``: The ``MEASUrement:MEAS:POWERFACtor`` command. - ``.pregion``: The ``MEASUrement:MEAS:PREGion`` command. + - ``.presistance``: The ``MEASUrement:MEAS:PRESistance`` command. + - ``.pthreshold``: The ``MEASUrement:MEAS:PTHReshold`` command. - ``.pwidth``: The ``MEASUrement:MEAS:PWIDth`` command. - ``.redge``: The ``MEASUrement:MEAS:REDGe`` command. - ``.reflevels``: The ``MEASUrement:MEAS:REFLevels`` command tree. @@ -29283,7 +32149,9 @@ def meas(self) -> Dict[int, MeasurementMeasItem]: - ``.refvoltageval``: The ``MEASUrement:MEAS:REFVOLTAGEVal`` command. - ``.refvoltage``: The ``MEASUrement:MEAS:REFVoltage`` command. - ``.results``: The ``MEASUrement:MEAS:RESUlts`` command tree. + - ``.rfrequency``: The ``MEASUrement:MEAS:RFREquency`` command. - ``.ripplefreqval``: The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + - ``.rrange``: The ``MEASUrement:MEAS:RRANGE`` command. - ``.sequence``: The ``MEASUrement:MEAS:SEQuence`` command. - ``.signalfrequency``: The ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. - ``.signaltype``: The ``MEASUrement:MEAS:SIGNALType`` command. @@ -29302,17 +32170,22 @@ def meas(self) -> Dict[int, MeasurementMeasItem]: - ``.stltype``: The ``MEASUrement:MEAS:STLTYpe`` command. - ``.stsdirection``: The ``MEASUrement:MEAS:STSDirection`` command. - ``.stype``: The ``MEASUrement:MEAS:STYPe`` command. + - ``.subgroup``: The ``MEASUrement:MEAS:SUBGROUP`` command tree. - ``.sunits``: The ``MEASUrement:MEAS:SUNits`` command. - ``.tckavg``: The ``MEASUrement:MEAS:TCKAVG`` command. - ``.tconstant``: The ``MEASUrement:MEAS:TCONstant`` command. - ``.timingmode``: The ``MEASUrement:MEAS:TIMINGMode`` command. + - ``.tlevel``: The ``MEASUrement:MEAS:TLEVel`` command. - ``.tmethod``: The ``MEASUrement:MEAS:TMEThod`` command. - ``.toedgesearchdirect``: The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. - ``.toedge``: The ``MEASUrement:MEAS:TOEdge`` command. - ``.tosymbol``: The ``MEASUrement:MEAS:TOSYmbol`` command tree. - ``.transition``: The ``MEASUrement:MEAS:TRANSition`` command. - ``.type``: The ``MEASUrement:MEAS:TYPe`` command. + - ``.vlevel``: The ``MEASUrement:MEAS:VLEVel`` command. - ``.waittime``: The ``MEASUrement:MEAS:WAITTime`` command. + - ``.wbg``: The ``MEASUrement:MEAS:WBG`` command tree. + - ``.width``: The ``MEASUrement:MEAS:WIDTh`` command. - ``.windowlength``: The ``MEASUrement:MEAS:WINDOWLENgth`` command. - ``.xunit``: The ``MEASUrement:MEAS:XUNIT`` command. - ``.yunit``: The ``MEASUrement:MEAS:YUNIT`` command. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/pilogger.py b/src/tm_devices/commands/_c3g63_lpdmso/pilogger.py new file mode 100644 index 00000000..6aa40ef0 --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/pilogger.py @@ -0,0 +1,162 @@ +"""The pilogger commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - PILOGger:FILEName + - PILOGger:FILEName? + - PILOGger:STATE {|OFF|ON} + - PILOGger:STATE? +""" +from typing import Optional, TYPE_CHECKING + +from .._helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class PiloggerState(SCPICmdWrite, SCPICmdRead): + """The ``PILOGger:STATE`` command. + + **Description:** + - This command sets or queries the state of the programmatic interface command log. If the + location specified by ``PILOGGER:FILENAME`` does not exist or is not writable, attempts to + turn the PI command logger ON will fail, and the state will be set to 0 (OFF). + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PILOGger:STATE value`` command. + + **SCPI Syntax:** + + :: + + - PILOGger:STATE {|OFF|ON} + - PILOGger:STATE? + + **Info:** + - ```` = 0 disables the PI command logger; any other value turns the PI command logger + on. + - ``OFF`` disables the PI command logger. + - ``ON`` enables the PI command logger. + """ + + +class PiloggerFilename(SCPICmdWrite, SCPICmdRead): + """The ``PILOGger:FILEName`` command. + + **Description:** + - This command sets or queries the location where the programmatic interface command log + will be saved. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger:FILEName?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger:FILEName?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PILOGger:FILEName value`` command. + + **SCPI Syntax:** + + :: + + - PILOGger:FILEName + - PILOGger:FILEName? + + **Info:** + - ```` is a quoted string that defines the file path that specifies the location to + save the command log, in the format '[]'. Specifying a path is + optional. If no path is entered, the instrument will search in the current working + directory as set in ``FILESYSTEM:CWD``. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Pilogger(SCPICmdRead): + """The ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "PILOGger") -> None: + super().__init__(device, cmd_syntax) + self._filename = PiloggerFilename(device, f"{self._cmd_syntax}:FILEName") + self._state = PiloggerState(device, f"{self._cmd_syntax}:STATE") + + @property + def filename(self) -> PiloggerFilename: + """Return the ``PILOGger:FILEName`` command. + + **Description:** + - This command sets or queries the location where the programmatic interface command log + will be saved. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger:FILEName?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger:FILEName?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PILOGger:FILEName value`` command. + + **SCPI Syntax:** + + :: + + - PILOGger:FILEName + - PILOGger:FILEName? + + **Info:** + - ```` is a quoted string that defines the file path that specifies the + location to save the command log, in the format '[]'. Specifying a + path is optional. If no path is entered, the instrument will search in the current + working directory as set in ``FILESYSTEM:CWD``. + """ + return self._filename + + @property + def state(self) -> PiloggerState: + """Return the ``PILOGger:STATE`` command. + + **Description:** + - This command sets or queries the state of the programmatic interface command log. If + the location specified by ``PILOGGER:FILENAME`` does not exist or is not writable, + attempts to turn the PI command logger ON will fail, and the state will be set to 0 + (OFF). + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger:STATE?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PILOGger:STATE value`` command. + + **SCPI Syntax:** + + :: + + - PILOGger:STATE {|OFF|ON} + - PILOGger:STATE? + + **Info:** + - ```` = 0 disables the PI command logger; any other value turns the PI command + logger on. + - ``OFF`` disables the PI command logger. + - ``ON`` enables the PI command logger. + """ + return self._state diff --git a/src/tm_devices/commands/_c3g63_lpdmso/plot.py b/src/tm_devices/commands/_c3g63_lpdmso/plot.py index 68a7fc03..f0c5334e 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/plot.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/plot.py @@ -22,22 +22,36 @@ - PLOT:PLOT:BATHtub:XAXISUnits? - PLOT:PLOT:BITType {ALLBits|TRANSition|NONTRANsition} - PLOT:PLOT:BITType? + - PLOT:PLOT:EINTerpolation {ON|OFF} + - PLOT:PLOT:EINTerpolation? - PLOT:PLOT:EXPORTRaw? - PLOT:PLOT:EXTENDuis - PLOT:PLOT:EXTENDuis? - PLOT:PLOT:EYERender {FAst|COMPlete} - PLOT:PLOT:EYERender? - PLOT:PLOT:IMDA:MEAS {VRMS |IRMS |PHASE |FREQuency |TRPWR |REPWR |APPPWR |TRPWRSUM |REPWRSUM |APPPWRSUM |DCPWR |INPWR |OUTPWR |EFFiciency |TOTALEFFiciency |INPWRSUM |OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? - PLOT:PLOT:IMDAPLOTDisplay {ALL |ONEPAIRVI |ONEPAIRV |ONEPAIRI |PHASEONE |PHASETWO |PHASETHREE |ABC |DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? + - PLOT:PLOT:INTerpolate {ON|OFF} + - PLOT:PLOT:INTerpolate? - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? - PLOT:PLOT:LABel:FONT:BOLD {|OFF|ON} + - PLOT:PLOT:LABel:FONT:BOLD? - PLOT:PLOT:LABel:FONT:ITALic {|OFF|ON} + - PLOT:PLOT:LABel:FONT:ITALic? - PLOT:PLOT:LABel:FONT:SIZE - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? - PLOT:PLOT:LABel:FONT:UNDERline {|OFF|ON} + - PLOT:PLOT:LABel:FONT:UNDERline? - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? - PLOT:PLOT:MASK? - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit {ON|OFF} - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit? @@ -46,8 +60,11 @@ - PLOT:PLOT:MASKOffset:PERCENTui:TO - PLOT:PLOT:MASKOffset:PERCENTui:TO? - PLOT:PLOT:NUMBins {TWENtyfive| FIFTY| HUNdred| TWOFifty| FIVEHundred| TWOThousand| MAXimum} + - PLOT:PLOT:NUMBins? - PLOT:PLOT:PREGion {SELECTED|ALL} + - PLOT:PLOT:PREGion? - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? - PLOT:PLOT:RAILNUM RAIL - PLOT:PLOT:RAILNUM? - PLOT:PLOT:SOUrce1 MEAS @@ -56,7 +73,9 @@ - PLOT:PLOT:SPECtrum:BASE? - PLOT:PLOT:SPECtrum:DYNRange - PLOT:PLOT:SPECtrum:DYNRange? - - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |XY |XYZ} + - PLOT:PLOT:TRESponse:RTYPe {PHASE| GRPDELAY| GDELAY} + - PLOT:PLOT:TRESponse:RTYPe? + - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |TRESPONSE |XY |XYZ} """ # noqa: E501 from typing import Dict, Optional, TYPE_CHECKING @@ -84,7 +103,7 @@ class PlotPlotItemType(SCPICmdWrite): :: - - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |XY |XYZ} + - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |TRESPONSE |XY |XYZ} **Info:** - ```` is the plot number. This is the equivalent of the number shown on a plot heading @@ -112,11 +131,92 @@ class PlotPlotItemType(SCPICmdWrite): - ``TIESPECTRUM`` creates a TIE spectrum plot. - ``TIETIMETREND`` creates a TIE time trend plot. - ``TIMETREND`` creates a time trend plot. + - ``TRESPONSE`` creates a response plot. - ``XY`` creates a XY plot. - ``XYZ`` creates a XYZ plot. """ # noqa: E501 +class PlotPlotItemTresponseRtype(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:TRESponse:RTYPe`` command. + + **Description:** + - This command sets the plot response type. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:TRESponse:RTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:TRESponse:RTYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:TRESponse:RTYPe value`` + command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:TRESponse:RTYPe {PHASE| GRPDELAY| GDELAY} + - PLOT:PLOT:TRESponse:RTYPe? + + **Info:** + - ``PLOT`` sets the plot measurement number. This is the equivalent of the number shown + on a plot heading in the UI. + - ``PHASE`` sets the plot response type to phase. + - ``GRPDELAY`` sets the plot response type to GRPDELAY. + - ``GDELAY`` sets the plot response type to GDELAY. + """ + + +class PlotPlotItemTresponse(SCPICmdRead): + """The ``PLOT:PLOT:TRESponse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:TRESponse?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:TRESponse?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``PLOT`` sets the plot measurement number. This is the equivalent of the number shown + on a plot heading in the UI. + + Properties: + - ``.rtype``: The ``PLOT:PLOT:TRESponse:RTYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rtype = PlotPlotItemTresponseRtype(device, f"{self._cmd_syntax}:RTYPe") + + @property + def rtype(self) -> PlotPlotItemTresponseRtype: + """Return the ``PLOT:PLOT:TRESponse:RTYPe`` command. + + **Description:** + - This command sets the plot response type. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:TRESponse:RTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:TRESponse:RTYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:TRESponse:RTYPe value`` command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:TRESponse:RTYPe {PHASE| GRPDELAY| GDELAY} + - PLOT:PLOT:TRESponse:RTYPe? + + **Info:** + - ``PLOT`` sets the plot measurement number. This is the equivalent of the number + shown on a plot heading in the UI. + - ``PHASE`` sets the plot response type to phase. + - ``GRPDELAY`` sets the plot response type to GRPDELAY. + - ``GDELAY`` sets the plot response type to GDELAY. + """ + return self._rtype + + class PlotPlotItemSpectrumDynrange(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:SPECtrum:DYNRange`` command. @@ -287,13 +387,16 @@ class PlotPlotItemRailnum(SCPICmdWrite, SCPICmdRead): """ -class PlotPlotItemPtype(SCPICmdWrite): +class PlotPlotItemPtype(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:PTYPe`` command. **Description:** - This command sets or returns the phasor type of the phasor diagram plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:PTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PTYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PTYPe value`` command. **SCPI Syntax:** @@ -301,6 +404,7 @@ class PlotPlotItemPtype(SCPICmdWrite): :: - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? **Info:** - ``PLOT`` is the plot number. @@ -309,13 +413,16 @@ class PlotPlotItemPtype(SCPICmdWrite): """ -class PlotPlotItemPregion(SCPICmdWrite): +class PlotPlotItemPregion(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:PREGion`` command. **Description:** - This command sets or returns the pulse region for recovery plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:PREGion?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PREGion?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PREGion value`` command. **SCPI Syntax:** @@ -323,6 +430,7 @@ class PlotPlotItemPregion(SCPICmdWrite): :: - PLOT:PLOT:PREGion {SELECTED|ALL} + - PLOT:PLOT:PREGion? **Info:** - ``PLOT`` is the plot number. @@ -331,13 +439,16 @@ class PlotPlotItemPregion(SCPICmdWrite): """ -class PlotPlotItemNumbins(SCPICmdWrite): +class PlotPlotItemNumbins(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:NUMBins`` command. **Description:** - This command sets or queries the current histogram resolution. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:NUMBins?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:NUMBins?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:NUMBins value`` command. **SCPI Syntax:** @@ -345,6 +456,7 @@ class PlotPlotItemNumbins(SCPICmdWrite): :: - PLOT:PLOT:NUMBins {TWENtyfive| FIFTY| HUNdred| TWOFifty| FIVEHundred| TWOThousand| MAXimum} + - PLOT:PLOT:NUMBins? **Info:** - ``TWENtyfive`` sets the number of bins to 25. @@ -666,7 +778,7 @@ class PlotPlotItemMask(SCPICmdRead): """ -class PlotPlotItemLabelYpos(SCPICmdWrite): +class PlotPlotItemLabelYpos(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:YPOS`` command. **Description:** @@ -674,6 +786,9 @@ class PlotPlotItemLabelYpos(SCPICmdWrite): command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:YPOS value`` command. @@ -682,6 +797,7 @@ class PlotPlotItemLabelYpos(SCPICmdWrite): :: - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? **Info:** - ```` is the x-position, in pixels relative to the baseline of the waveform, of the @@ -689,7 +805,7 @@ class PlotPlotItemLabelYpos(SCPICmdWrite): """ -class PlotPlotItemLabelXpos(SCPICmdWrite): +class PlotPlotItemLabelXpos(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:XPOS`` command. **Description:** @@ -697,6 +813,9 @@ class PlotPlotItemLabelXpos(SCPICmdWrite): command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:XPOS value`` command. @@ -705,6 +824,7 @@ class PlotPlotItemLabelXpos(SCPICmdWrite): :: - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? **Info:** - ```` is the y-position, in pixels relative to the left edge of the display, of the @@ -712,7 +832,7 @@ class PlotPlotItemLabelXpos(SCPICmdWrite): """ -class PlotPlotItemLabelName(SCPICmdWrite): +class PlotPlotItemLabelName(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:NAMe`` command. **Description:** @@ -720,6 +840,9 @@ class PlotPlotItemLabelName(SCPICmdWrite): to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:NAMe value`` command. @@ -728,6 +851,7 @@ class PlotPlotItemLabelName(SCPICmdWrite): :: - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? **Info:** - ```` is the label. @@ -736,7 +860,7 @@ class PlotPlotItemLabelName(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class PlotPlotItemLabelFontUnderline(SCPICmdWrite): +class PlotPlotItemLabelFontUnderline(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:FONT:UNDERline`` command. **Description:** @@ -744,6 +868,9 @@ class PlotPlotItemLabelFontUnderline(SCPICmdWrite): command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline value`` command. @@ -752,6 +879,7 @@ class PlotPlotItemLabelFontUnderline(SCPICmdWrite): :: - PLOT:PLOT:LABel:FONT:UNDERline {|OFF|ON} + - PLOT:PLOT:LABel:FONT:UNDERline? **Info:** - ```` = 0 disables underline font; any other value turns this feature on. @@ -760,7 +888,7 @@ class PlotPlotItemLabelFontUnderline(SCPICmdWrite): """ -class PlotPlotItemLabelFontType(SCPICmdWrite): +class PlotPlotItemLabelFontType(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:FONT:TYPE`` command. **Description:** @@ -768,6 +896,9 @@ class PlotPlotItemLabelFontType(SCPICmdWrite): Times New Roman. This command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE value`` command. @@ -776,6 +907,7 @@ class PlotPlotItemLabelFontType(SCPICmdWrite): :: - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? **Info:** - ```` is the font type: Times New Roman, Arial, Frutiger LT Std 55 Roman, DejaVu @@ -808,7 +940,7 @@ class PlotPlotItemLabelFontSize(SCPICmdWrite): """ -class PlotPlotItemLabelFontItalic(SCPICmdWrite): +class PlotPlotItemLabelFontItalic(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:FONT:ITALic`` command. **Description:** @@ -816,6 +948,9 @@ class PlotPlotItemLabelFontItalic(SCPICmdWrite): command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic value`` command. @@ -824,6 +959,7 @@ class PlotPlotItemLabelFontItalic(SCPICmdWrite): :: - PLOT:PLOT:LABel:FONT:ITALic {|OFF|ON} + - PLOT:PLOT:LABel:FONT:ITALic? **Info:** - ```` = 0 disables italic font; any other value turns this feature on. @@ -832,7 +968,7 @@ class PlotPlotItemLabelFontItalic(SCPICmdWrite): """ -class PlotPlotItemLabelFontBold(SCPICmdWrite): +class PlotPlotItemLabelFontBold(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:FONT:BOLD`` command. **Description:** @@ -840,6 +976,9 @@ class PlotPlotItemLabelFontBold(SCPICmdWrite): command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD value`` command. @@ -848,6 +987,7 @@ class PlotPlotItemLabelFontBold(SCPICmdWrite): :: - PLOT:PLOT:LABel:FONT:BOLD {|OFF|ON} + - PLOT:PLOT:LABel:FONT:BOLD? **Info:** - ```` = 0 disables bold font; any other value turns this feature on. @@ -889,6 +1029,9 @@ def bold(self) -> PlotPlotItemLabelFontBold: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD value`` command. @@ -897,6 +1040,7 @@ def bold(self) -> PlotPlotItemLabelFontBold: :: - PLOT:PLOT:LABel:FONT:BOLD {|OFF|ON} + - PLOT:PLOT:LABel:FONT:BOLD? **Info:** - ```` = 0 disables bold font; any other value turns this feature on. @@ -914,6 +1058,9 @@ def italic(self) -> PlotPlotItemLabelFontItalic: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic value`` command. @@ -922,6 +1069,7 @@ def italic(self) -> PlotPlotItemLabelFontItalic: :: - PLOT:PLOT:LABel:FONT:ITALic {|OFF|ON} + - PLOT:PLOT:LABel:FONT:ITALic? **Info:** - ```` = 0 disables italic font; any other value turns this feature on. @@ -962,6 +1110,9 @@ def type(self) -> PlotPlotItemLabelFontType: or Times New Roman. This command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE value`` command. @@ -970,6 +1121,7 @@ def type(self) -> PlotPlotItemLabelFontType: :: - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? **Info:** - ```` is the font type: Times New Roman, Arial, Frutiger LT Std 55 Roman, @@ -987,6 +1139,11 @@ def underline(self) -> PlotPlotItemLabelFontUnderline: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline value`` command. @@ -995,6 +1152,7 @@ def underline(self) -> PlotPlotItemLabelFontUnderline: :: - PLOT:PLOT:LABel:FONT:UNDERline {|OFF|ON} + - PLOT:PLOT:LABel:FONT:UNDERline? **Info:** - ```` = 0 disables underline font; any other value turns this feature on. @@ -1004,7 +1162,7 @@ def underline(self) -> PlotPlotItemLabelFontUnderline: return self._underline -class PlotPlotItemLabelColor(SCPICmdWrite): +class PlotPlotItemLabelColor(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:LABel:COLor`` command. **Description:** @@ -1012,6 +1170,9 @@ class PlotPlotItemLabelColor(SCPICmdWrite): only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:COLor value`` command. @@ -1020,6 +1181,7 @@ class PlotPlotItemLabelColor(SCPICmdWrite): :: - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? **Info:** - ```` is the label color. The default color is specified by a quoted empty string, @@ -1062,6 +1224,9 @@ def color(self) -> PlotPlotItemLabelColor: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:COLor value`` command. @@ -1070,6 +1235,7 @@ def color(self) -> PlotPlotItemLabelColor: :: - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? **Info:** - ```` is the label color. The default color is specified by a quoted empty @@ -1104,6 +1270,9 @@ def name(self) -> PlotPlotItemLabelName: applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:NAMe value`` command. @@ -1112,6 +1281,7 @@ def name(self) -> PlotPlotItemLabelName: :: - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? **Info:** - ```` is the label. @@ -1127,6 +1297,9 @@ def xpos(self) -> PlotPlotItemLabelXpos: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:XPOS value`` command. @@ -1135,6 +1308,7 @@ def xpos(self) -> PlotPlotItemLabelXpos: :: - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? **Info:** - ```` is the y-position, in pixels relative to the left edge of the display, of @@ -1151,6 +1325,9 @@ def ypos(self) -> PlotPlotItemLabelYpos: command/query only applies to Time Trend plots. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:YPOS value`` command. @@ -1159,6 +1336,7 @@ def ypos(self) -> PlotPlotItemLabelYpos: :: - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? **Info:** - ```` is the x-position, in pixels relative to the baseline of the waveform, of @@ -1167,13 +1345,43 @@ def ypos(self) -> PlotPlotItemLabelYpos: return self._ypos -class PlotPlotItemImdaplotdisplay(SCPICmdWrite): +class PlotPlotItemInterpolate(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:INTerpolate`` command. + + **Description:** + - This command turns on or off the interpolation state for SOA plot. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:INTerpolate?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:INTerpolate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:INTerpolate value`` + command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:INTerpolate {ON|OFF} + - PLOT:PLOT:INTerpolate? + + **Info:** + - ``PLOT`` is the plot number. + - ``ON`` specifies the interpolation state has been turned on for SOA plot. + - ``OFF`` specifies the interpolation state has been turned off for SOA plot. + """ + + +class PlotPlotItemImdaplotdisplay(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:IMDAPLOTDisplay`` command. **Description:** - This command sets or returns the IMDA time trend and acq trend plot display configuration. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay value`` command. @@ -1182,6 +1390,7 @@ class PlotPlotItemImdaplotdisplay(SCPICmdWrite): :: - PLOT:PLOT:IMDAPLOTDisplay {ALL |ONEPAIRVI |ONEPAIRV |ONEPAIRI |PHASEONE |PHASETWO |PHASETHREE |ABC |DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? **Info:** - ``PLOT`` is the plot number. @@ -1203,13 +1412,16 @@ class PlotPlotItemImdaplotdisplay(SCPICmdWrite): """ # noqa: E501 -class PlotPlotItemImdaMeas(SCPICmdWrite): +class PlotPlotItemImdaMeas(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:IMDA:MEAS`` command. **Description:** - This command sets or returns the measurement selection of trend plot and acq trend plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS value`` command. **SCPI Syntax:** @@ -1217,6 +1429,7 @@ class PlotPlotItemImdaMeas(SCPICmdWrite): :: - PLOT:PLOT:IMDA:MEAS {VRMS |IRMS |PHASE |FREQuency |TRPWR |REPWR |APPPWR |TRPWRSUM |REPWRSUM |APPPWRSUM |DCPWR |INPWR |OUTPWR |EFFiciency |TOTALEFFiciency |INPWRSUM |OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? **Info:** - ``PLOT`` is the plot number. @@ -1274,6 +1487,9 @@ def meas(self) -> PlotPlotItemImdaMeas: plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS value`` command. @@ -1282,6 +1498,7 @@ def meas(self) -> PlotPlotItemImdaMeas: :: - PLOT:PLOT:IMDA:MEAS {VRMS |IRMS |PHASE |FREQuency |TRPWR |REPWR |APPPWR |TRPWRSUM |REPWRSUM |APPPWRSUM |DCPWR |INPWR |OUTPWR |EFFiciency |TOTALEFFiciency |INPWRSUM |OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? **Info:** - ``PLOT`` is the plot number. @@ -1370,7 +1587,7 @@ class PlotPlotItemExportraw(SCPICmdRead): **Description:** - This command returns a binary stream of double values containing the x,y and hits value. Use this command along with ``MEASUREMENT:ADDMEAS TIE``, ``PLOT:PLOT1:TYPE EYEDIAGRAM``, - ``DISplay:SELect:VIEW`` plotview1 to export the eye diagram plot data. + ``DISplay:SELect:VIEW`` plotview1 to export the eye diagram plot data. **Usage:** - Using the ``.query()`` method will send the ``PLOT:PLOT:EXPORTRaw?`` query. @@ -1385,6 +1602,33 @@ class PlotPlotItemExportraw(SCPICmdRead): """ +class PlotPlotItemEinterpolation(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:EINTerpolation`` command. + + **Description:** + - This command sets or queries whether dot mode eye diagram is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:EINTerpolation?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EINTerpolation?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EINTerpolation value`` + command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:EINTerpolation {ON|OFF} + - PLOT:PLOT:EINTerpolation? + + **Info:** + - ``PLOT`` is the plot number. + - ``ON`` enables interpolation between samples . + - ``OFF`` disables interpolation between samples . + """ + + class PlotPlotItemBittype(SCPICmdWrite, SCPICmdRead): """The ``PLOT:PLOT:BITType`` command. @@ -1550,11 +1794,13 @@ class PlotPlotItem(ValidatedDynamicNumberCmd, SCPICmdRead): Properties: - ``.bathtub``: The ``PLOT:PLOT:BATHtub`` command tree. - ``.bittype``: The ``PLOT:PLOT:BITType`` command. + - ``.einterpolation``: The ``PLOT:PLOT:EINTerpolation`` command. - ``.exportraw``: The ``PLOT:PLOT:EXPORTRaw`` command. - ``.extenduis``: The ``PLOT:PLOT:EXTENDuis`` command. - ``.eyerender``: The ``PLOT:PLOT:EYERender`` command. - ``.imda``: The ``PLOT:PLOT:IMDA`` command tree. - ``.imdaplotdisplay``: The ``PLOT:PLOT:IMDAPLOTDisplay`` command. + - ``.interpolate``: The ``PLOT:PLOT:INTerpolate`` command. - ``.label``: The ``PLOT:PLOT:LABel`` command tree. - ``.mask``: The ``PLOT:PLOT:MASK`` command. - ``.maskoffset``: The ``PLOT:PLOT:MASKOffset`` command tree. @@ -1564,6 +1810,7 @@ class PlotPlotItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.railnum``: The ``PLOT:PLOT:RAILNUM`` command. - ``.source1``: The ``PLOT:PLOT:SOUrce1`` command. - ``.spectrum``: The ``PLOT:PLOT:SPECtrum`` command tree. + - ``.tresponse``: The ``PLOT:PLOT:TRESponse`` command tree. - ``.type``: The ``PLOT:PLOT:TYPe`` command. """ @@ -1571,6 +1818,9 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) self._bathtub = PlotPlotItemBathtub(device, f"{self._cmd_syntax}:BATHtub") self._bittype = PlotPlotItemBittype(device, f"{self._cmd_syntax}:BITType") + self._einterpolation = PlotPlotItemEinterpolation( + device, f"{self._cmd_syntax}:EINTerpolation" + ) self._exportraw = PlotPlotItemExportraw(device, f"{self._cmd_syntax}:EXPORTRaw") self._extenduis = PlotPlotItemExtenduis(device, f"{self._cmd_syntax}:EXTENDuis") self._eyerender = PlotPlotItemEyerender(device, f"{self._cmd_syntax}:EYERender") @@ -1578,6 +1828,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._imdaplotdisplay = PlotPlotItemImdaplotdisplay( device, f"{self._cmd_syntax}:IMDAPLOTDisplay" ) + self._interpolate = PlotPlotItemInterpolate(device, f"{self._cmd_syntax}:INTerpolate") self._label = PlotPlotItemLabel(device, f"{self._cmd_syntax}:LABel") self._mask = PlotPlotItemMask(device, f"{self._cmd_syntax}:MASK") self._maskoffset = PlotPlotItemMaskoffset(device, f"{self._cmd_syntax}:MASKOffset") @@ -1587,6 +1838,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._railnum = PlotPlotItemRailnum(device, f"{self._cmd_syntax}:RAILNUM") self._source1 = PlotPlotItemSource1(device, f"{self._cmd_syntax}:SOUrce1") self._spectrum = PlotPlotItemSpectrum(device, f"{self._cmd_syntax}:SPECtrum") + self._tresponse = PlotPlotItemTresponse(device, f"{self._cmd_syntax}:TRESponse") self._type = PlotPlotItemType(device, f"{self._cmd_syntax}:TYPe") @property @@ -1636,6 +1888,34 @@ def bittype(self) -> PlotPlotItemBittype: """ return self._bittype + @property + def einterpolation(self) -> PlotPlotItemEinterpolation: + """Return the ``PLOT:PLOT:EINTerpolation`` command. + + **Description:** + - This command sets or queries whether dot mode eye diagram is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:EINTerpolation?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EINTerpolation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EINTerpolation value`` + command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:EINTerpolation {ON|OFF} + - PLOT:PLOT:EINTerpolation? + + **Info:** + - ``PLOT`` is the plot number. + - ``ON`` enables interpolation between samples . + - ``OFF`` disables interpolation between samples . + """ + return self._einterpolation + @property def exportraw(self) -> PlotPlotItemExportraw: """Return the ``PLOT:PLOT:EXPORTRaw`` command. @@ -1643,7 +1923,7 @@ def exportraw(self) -> PlotPlotItemExportraw: **Description:** - This command returns a binary stream of double values containing the x,y and hits value. Use this command along with ``MEASUREMENT:ADDMEAS TIE``, - ``PLOT:PLOT1:TYPE EYEDIAGRAM``, ``DISplay:SELect:VIEW`` plotview1 to export the eye + ``PLOT:PLOT1:TYPE EYEDIAGRAM``, ``DISplay:SELect:VIEW`` plotview1 to export the eye diagram plot data. **Usage:** @@ -1741,6 +2021,9 @@ def imdaplotdisplay(self) -> PlotPlotItemImdaplotdisplay: configuration. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay value`` command. @@ -1749,6 +2032,7 @@ def imdaplotdisplay(self) -> PlotPlotItemImdaplotdisplay: :: - PLOT:PLOT:IMDAPLOTDisplay {ALL |ONEPAIRVI |ONEPAIRV |ONEPAIRI |PHASEONE |PHASETWO |PHASETHREE |ABC |DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? **Info:** - ``PLOT`` is the plot number. @@ -1770,6 +2054,34 @@ def imdaplotdisplay(self) -> PlotPlotItemImdaplotdisplay: """ # noqa: E501 return self._imdaplotdisplay + @property + def interpolate(self) -> PlotPlotItemInterpolate: + """Return the ``PLOT:PLOT:INTerpolate`` command. + + **Description:** + - This command turns on or off the interpolation state for SOA plot. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:INTerpolate?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:INTerpolate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:INTerpolate value`` + command. + + **SCPI Syntax:** + + :: + + - PLOT:PLOT:INTerpolate {ON|OFF} + - PLOT:PLOT:INTerpolate? + + **Info:** + - ``PLOT`` is the plot number. + - ``ON`` specifies the interpolation state has been turned on for SOA plot. + - ``OFF`` specifies the interpolation state has been turned off for SOA plot. + """ + return self._interpolate + @property def label(self) -> PlotPlotItemLabel: """Return the ``PLOT:PLOT:LABel`` command tree. @@ -1838,6 +2150,9 @@ def numbins(self) -> PlotPlotItemNumbins: - This command sets or queries the current histogram resolution. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:NUMBins?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:NUMBins?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:NUMBins value`` command. @@ -1846,6 +2161,7 @@ def numbins(self) -> PlotPlotItemNumbins: :: - PLOT:PLOT:NUMBins {TWENtyfive| FIFTY| HUNdred| TWOFifty| FIVEHundred| TWOThousand| MAXimum} + - PLOT:PLOT:NUMBins? **Info:** - ``TWENtyfive`` sets the number of bins to 25. @@ -1866,6 +2182,9 @@ def pregion(self) -> PlotPlotItemPregion: - This command sets or returns the pulse region for recovery plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:PREGion?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PREGion?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PREGion value`` command. @@ -1874,6 +2193,7 @@ def pregion(self) -> PlotPlotItemPregion: :: - PLOT:PLOT:PREGion {SELECTED|ALL} + - PLOT:PLOT:PREGion? **Info:** - ``PLOT`` is the plot number. @@ -1890,6 +2210,9 @@ def ptype(self) -> PlotPlotItemPtype: - This command sets or returns the phasor type of the phasor diagram plot. **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:PTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PTYPe value`` command. **SCPI Syntax:** @@ -1897,6 +2220,7 @@ def ptype(self) -> PlotPlotItemPtype: :: - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? **Info:** - ``PLOT`` is the plot number. @@ -1973,6 +2297,24 @@ def spectrum(self) -> PlotPlotItemSpectrum: """ return self._spectrum + @property + def tresponse(self) -> PlotPlotItemTresponse: + """Return the ``PLOT:PLOT:TRESponse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT:PLOT:TRESponse?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:TRESponse?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **Info:** + - ``PLOT`` sets the plot measurement number. This is the equivalent of the number + shown on a plot heading in the UI. + + Sub-properties: + - ``.rtype``: The ``PLOT:PLOT:TRESponse:RTYPe`` command. + """ + return self._tresponse + @property def type(self) -> PlotPlotItemType: """Return the ``PLOT:PLOT:TYPe`` command. @@ -1987,7 +2329,7 @@ def type(self) -> PlotPlotItemType: :: - - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |XY |XYZ} + - PLOT:PLOT:TYPe {NONE |BATHTUB |EYEDIAGRAM |HARMONICS |HISTOGRAM |IMDATIMETREND|IMDAACQTREND |INDUCTANCE |IVSINTEGRALV |MAGPROPERTY |PHASENOISE |PHASOR |RECOVERY |SOA |SPECTRUM |SSCPROFILE |SWL |TIEHISTOGRAM |TIETIMETREND |TIESPECTRUM |TIMETREND |TRESPONSE |XY |XYZ} **Info:** - ```` is the plot number. This is the equivalent of the number shown on a plot @@ -2015,6 +2357,7 @@ def type(self) -> PlotPlotItemType: - ``TIESPECTRUM`` creates a TIE spectrum plot. - ``TIETIMETREND`` creates a TIE time trend plot. - ``TIMETREND`` creates a time trend plot. + - ``TRESPONSE`` creates a response plot. - ``XY`` creates a XY plot. - ``XYZ`` creates a XYZ plot. """ # noqa: E501 @@ -2186,11 +2529,13 @@ def plot(self) -> Dict[int, PlotPlotItem]: Sub-properties: - ``.bathtub``: The ``PLOT:PLOT:BATHtub`` command tree. - ``.bittype``: The ``PLOT:PLOT:BITType`` command. + - ``.einterpolation``: The ``PLOT:PLOT:EINTerpolation`` command. - ``.exportraw``: The ``PLOT:PLOT:EXPORTRaw`` command. - ``.extenduis``: The ``PLOT:PLOT:EXTENDuis`` command. - ``.eyerender``: The ``PLOT:PLOT:EYERender`` command. - ``.imda``: The ``PLOT:PLOT:IMDA`` command tree. - ``.imdaplotdisplay``: The ``PLOT:PLOT:IMDAPLOTDisplay`` command. + - ``.interpolate``: The ``PLOT:PLOT:INTerpolate`` command. - ``.label``: The ``PLOT:PLOT:LABel`` command tree. - ``.mask``: The ``PLOT:PLOT:MASK`` command. - ``.maskoffset``: The ``PLOT:PLOT:MASKOffset`` command tree. @@ -2200,6 +2545,7 @@ def plot(self) -> Dict[int, PlotPlotItem]: - ``.railnum``: The ``PLOT:PLOT:RAILNUM`` command. - ``.source1``: The ``PLOT:PLOT:SOUrce1`` command. - ``.spectrum``: The ``PLOT:PLOT:SPECtrum`` command tree. + - ``.tresponse``: The ``PLOT:PLOT:TRESponse`` command tree. - ``.type``: The ``PLOT:PLOT:TYPe`` command. """ return self._plot diff --git a/src/tm_devices/commands/_c3g63_lpdmso/power.py b/src/tm_devices/commands/_c3g63_lpdmso/power.py index f6b3c919..01fe7966 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/power.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/power.py @@ -505,6 +505,10 @@ - POWer:POWer:TURNONtime:TYPE? - POWer:POWer:TYPe - POWer:POWer:TYPe? + - POWer:POWer:WRAP:DEGrees NR3 + - POWer:POWer:WRAP:DEGrees? + - POWer:POWer:WRAP:STATE {ON|OFF} + - POWer:POWer:WRAP:STATE? """ # noqa: E501 from typing import Dict, Optional, TYPE_CHECKING @@ -521,6 +525,137 @@ from tm_devices.drivers.pi.pi_device import PIDevice +class PowerPowerItemWrapState(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:WRAP:STATE`` command. + + **Description:** + - This command sets or returns the phase wrap status for FRA measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:WRAP:STATE value`` + command. + + **SCPI Syntax:** + + :: + + - POWer:POWer:WRAP:STATE {ON|OFF} + - POWer:POWer:WRAP:STATE? + + **Info:** + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``ON`` specifies that phase wrap has been turned on for FRA measurements. + - ``OFF`` specifies that phase wrap has been turned off for FRA measurements. + """ + + +class PowerPowerItemWrapDegrees(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:WRAP:DEGrees`` command. + + **Description:** + - This command sets or returns the phase wrap value for FRA measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP:DEGrees?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP:DEGrees?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:WRAP:DEGrees value`` + command. + + **SCPI Syntax:** + + :: + + - POWer:POWer:WRAP:DEGrees NR3 + - POWer:POWer:WRAP:DEGrees? + + **Info:** + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``NR3`` specifies the phase wrap value for FRA measurements. + """ + + +class PowerPowerItemWrap(SCPICmdRead): + """The ``POWer:POWer:WRAP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.degrees``: The ``POWer:POWer:WRAP:DEGrees`` command. + - ``.state``: The ``POWer:POWer:WRAP:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._degrees = PowerPowerItemWrapDegrees(device, f"{self._cmd_syntax}:DEGrees") + self._state = PowerPowerItemWrapState(device, f"{self._cmd_syntax}:STATE") + + @property + def degrees(self) -> PowerPowerItemWrapDegrees: + """Return the ``POWer:POWer:WRAP:DEGrees`` command. + + **Description:** + - This command sets or returns the phase wrap value for FRA measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP:DEGrees?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP:DEGrees?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:WRAP:DEGrees value`` + command. + + **SCPI Syntax:** + + :: + + - POWer:POWer:WRAP:DEGrees NR3 + - POWer:POWer:WRAP:DEGrees? + + **Info:** + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``NR3`` specifies the phase wrap value for FRA measurements. + """ + return self._degrees + + @property + def state(self) -> PowerPowerItemWrapState: + """Return the ``POWer:POWer:WRAP:STATE`` command. + + **Description:** + - This command sets or returns the phase wrap status for FRA measurements. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:WRAP:STATE value`` + command. + + **SCPI Syntax:** + + :: + + - POWer:POWer:WRAP:STATE {ON|OFF} + - POWer:POWer:WRAP:STATE? + + **Info:** + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``ON`` specifies that phase wrap has been turned on for FRA measurements. + - ``OFF`` specifies that phase wrap has been turned off for FRA measurements. + """ + return self._state + + class PowerPowerItemType(SCPICmdWrite, SCPICmdRead): r"""The ``POWer:POWer:TYPe`` command. @@ -4736,7 +4871,7 @@ class PowerPowerItemSoaRecallmaskFilename(SCPICmdWriteNoArguments, SCPICmdRead): """The ``POWer:POWer:SOA:RECAllmask:FILEName`` command. **Description:** - - This command sets or queries the file name for saving SOA mask file name in the specified + - This command sets or queries the file name for saving SOA mask file name in the specified power measurement number. The power measurement number is specified by x. **Usage:** @@ -4790,7 +4925,7 @@ def filename(self) -> PowerPowerItemSoaRecallmaskFilename: """Return the ``POWer:POWer:SOA:RECAllmask:FILEName`` command. **Description:** - - This command sets or queries the file name for saving SOA mask file name in the + - This command sets or queries the file name for saving SOA mask file name in the specified power measurement number. The power measurement number is specified by x. **Usage:** @@ -7266,8 +7401,8 @@ class PowerPowerItemReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): """The ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. **Description:** - - This command sets or queries the type of measurement levels when reference level is set to - absolute for the specified power measurement number. + - This command sets or queries the type of measurement levels when reference level is set + to absolute for the specified power measurement number. **Usage:** - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:TYPE?`` @@ -7770,7 +7905,7 @@ def type(self) -> PowerPowerItemReflevelsAbsoluteType: """Return the ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. **Description:** - - This command sets or queries the type of measurement levels when reference level is + - This command sets or queries the type of measurement levels when reference level is set to absolute for the specified power measurement number. **Usage:** @@ -13066,7 +13201,7 @@ class PowerPowerItemImpedanceAnalysismethod(SCPICmdWrite, SCPICmdRead): """The ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. **Description:** - - This command sets or queries the Analysis Method for Impedance measurements. + - This command sets or queries the Analysis Method for Impedance measurements. **Usage:** - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:ANALYSISMethod?`` @@ -13289,7 +13424,7 @@ def analysismethod(self) -> PowerPowerItemImpedanceAnalysismethod: """Return the ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. **Description:** - - This command sets or queries the Analysis Method for Impedance measurements. + - This command sets or queries the Analysis Method for Impedance measurements. **Usage:** - Using the ``.query()`` method will send the @@ -17945,6 +18080,7 @@ class PowerPowerItem(ValidatedDynamicNumberCmd, SCPICmdRead): - ``.turnofftime``: The ``POWer:POWer:TURNOFFtime`` command tree. - ``.turnontime``: The ``POWer:POWer:TURNONtime`` command tree. - ``.type``: The ``POWer:POWer:TYPe`` command. + - ``.wrap``: The ``POWer:POWer:WRAP`` command tree. """ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: @@ -17997,6 +18133,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._turnofftime = PowerPowerItemTurnofftime(device, f"{self._cmd_syntax}:TURNOFFtime") self._turnontime = PowerPowerItemTurnontime(device, f"{self._cmd_syntax}:TURNONtime") self._type = PowerPowerItemType(device, f"{self._cmd_syntax}:TYPe") + self._wrap = PowerPowerItemWrap(device, f"{self._cmd_syntax}:WRAP") @property def autoset(self) -> PowerPowerItemAutoset: @@ -18874,6 +19011,21 @@ def type(self) -> PowerPowerItemType: """ return self._type + @property + def wrap(self) -> PowerPowerItemWrap: + """Return the ``POWer:POWer:WRAP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer:POWer:WRAP?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:WRAP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.degrees``: The ``POWer:POWer:WRAP:DEGrees`` command. + - ``.state``: The ``POWer:POWer:WRAP:STATE`` command. + """ + return self._wrap + class PowerDelete(SCPICmdWrite): """The ``POWer:DELete`` command. @@ -19023,5 +19175,6 @@ def power(self) -> Dict[int, PowerPowerItem]: - ``.turnofftime``: The ``POWer:POWer:TURNOFFtime`` command tree. - ``.turnontime``: The ``POWer:POWer:TURNONtime`` command tree. - ``.type``: The ``POWer:POWer:TYPe`` command. + - ``.wrap``: The ``POWer:POWer:WRAP`` command tree. """ return self._power diff --git a/src/tm_devices/commands/_c3g63_lpdmso/ref.py b/src/tm_devices/commands/_c3g63_lpdmso/ref.py index f79a2f61..73a312dd 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/ref.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/ref.py @@ -12,24 +12,65 @@ :: + - REF:ADDNew + - REF:DELete + - REF:LIST? + - REF:REF:DESKew + - REF:REF:LABel:COLor + - REF:REF:LABel:COLor? + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + - REF:REF:LABel:FONT:BOLD? + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + - REF:REF:LABel:FONT:ITALic? + - REF:REF:LABel:FONT:SIZE + - REF:REF:LABel:FONT:SIZE? + - REF:REF:LABel:FONT:TYPE + - REF:REF:LABel:FONT:TYPE? + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + - REF:REF:LABel:FONT:UNDERline? + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + - REF:REF:SOUrce - REF_D:LABel:COLor + - REF_D:LABel:COLor? - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? """ from typing import Dict, Optional, TYPE_CHECKING @@ -45,7 +86,7 @@ from tm_devices.drivers.pi.pi_device import PIDevice -class RefItemDallLabelYpos(SCPICmdWrite): +class RefItemDallLabelYpos(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:YPOS`` command. **Description:** @@ -53,6 +94,9 @@ class RefItemDallLabelYpos(SCPICmdWrite): The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` command. **SCPI Syntax:** @@ -60,6 +104,7 @@ class RefItemDallLabelYpos(SCPICmdWrite): :: - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? **Info:** - ```` is the y-position, in pixels relative to the baseline of the waveform, of the @@ -67,7 +112,7 @@ class RefItemDallLabelYpos(SCPICmdWrite): """ -class RefItemDallLabelXpos(SCPICmdWrite): +class RefItemDallLabelXpos(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:XPOS`` command. **Description:** @@ -75,6 +120,9 @@ class RefItemDallLabelXpos(SCPICmdWrite): The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` command. **SCPI Syntax:** @@ -82,6 +130,7 @@ class RefItemDallLabelXpos(SCPICmdWrite): :: - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? **Info:** - ```` is the x-position, in pixels relative to the left edge of the display, of the @@ -89,7 +138,7 @@ class RefItemDallLabelXpos(SCPICmdWrite): """ -class RefItemDallLabelName(SCPICmdWrite): +class RefItemDallLabelName(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:NAMe`` command. **Description:** @@ -97,6 +146,9 @@ class RefItemDallLabelName(SCPICmdWrite): specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` command. **SCPI Syntax:** @@ -104,6 +156,7 @@ class RefItemDallLabelName(SCPICmdWrite): :: - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? **Info:** - ```` is the name of the group. @@ -112,7 +165,7 @@ class RefItemDallLabelName(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class RefItemDallLabelFontUnderline(SCPICmdWrite): +class RefItemDallLabelFontUnderline(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:FONT:UNDERline`` command. **Description:** @@ -120,6 +173,9 @@ class RefItemDallLabelFontUnderline(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:UNDERline value`` command. @@ -128,6 +184,7 @@ class RefItemDallLabelFontUnderline(SCPICmdWrite): :: - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? **Info:** - ``OFF`` argument turns off underline font. @@ -136,7 +193,7 @@ class RefItemDallLabelFontUnderline(SCPICmdWrite): """ -class RefItemDallLabelFontType(SCPICmdWrite): +class RefItemDallLabelFontType(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:FONT:TYPE`` command. **Description:** @@ -144,6 +201,9 @@ class RefItemDallLabelFontType(SCPICmdWrite): or Times New Roman. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` command. @@ -152,6 +212,7 @@ class RefItemDallLabelFontType(SCPICmdWrite): :: - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? **Info:** - ```` is the font type. @@ -160,7 +221,7 @@ class RefItemDallLabelFontType(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class RefItemDallLabelFontSize(SCPICmdWrite): +class RefItemDallLabelFontSize(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:FONT:SIZE`` command. **Description:** @@ -168,6 +229,9 @@ class RefItemDallLabelFontSize(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` command. @@ -176,13 +240,14 @@ class RefItemDallLabelFontSize(SCPICmdWrite): :: - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? **Info:** - ```` is the font size. """ -class RefItemDallLabelFontItalic(SCPICmdWrite): +class RefItemDallLabelFontItalic(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:FONT:ITALic`` command. **Description:** @@ -190,6 +255,9 @@ class RefItemDallLabelFontItalic(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic value`` command. @@ -198,6 +266,7 @@ class RefItemDallLabelFontItalic(SCPICmdWrite): :: - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? **Info:** - ``OFF`` argument turns off italic font. @@ -206,7 +275,7 @@ class RefItemDallLabelFontItalic(SCPICmdWrite): """ -class RefItemDallLabelFontBold(SCPICmdWrite): +class RefItemDallLabelFontBold(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:FONT:BOLD`` command. **Description:** @@ -214,6 +283,9 @@ class RefItemDallLabelFontBold(SCPICmdWrite): is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` command. @@ -222,6 +294,7 @@ class RefItemDallLabelFontBold(SCPICmdWrite): :: - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? **Info:** - ``OFF`` argument turns off bold font. @@ -263,6 +336,9 @@ def bold(self) -> RefItemDallLabelFontBold: reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` command. @@ -271,6 +347,7 @@ def bold(self) -> RefItemDallLabelFontBold: :: - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? **Info:** - ``OFF`` argument turns off bold font. @@ -288,6 +365,9 @@ def italic(self) -> RefItemDallLabelFontItalic: reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic value`` command. @@ -296,6 +376,7 @@ def italic(self) -> RefItemDallLabelFontItalic: :: - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? **Info:** - ``OFF`` argument turns off italic font. @@ -313,6 +394,9 @@ def size(self) -> RefItemDallLabelFontSize: reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` command. @@ -321,6 +405,7 @@ def size(self) -> RefItemDallLabelFontSize: :: - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? **Info:** - ```` is the font size. @@ -336,6 +421,9 @@ def type(self) -> RefItemDallLabelFontType: Arial or Times New Roman. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` command. @@ -344,6 +432,7 @@ def type(self) -> RefItemDallLabelFontType: :: - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? **Info:** - ```` is the font type. @@ -359,6 +448,11 @@ def underline(self) -> RefItemDallLabelFontUnderline: reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``REF_DALL:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:UNDERline value`` command. @@ -367,6 +461,7 @@ def underline(self) -> RefItemDallLabelFontUnderline: :: - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? **Info:** - ``OFF`` argument turns off underline font. @@ -376,7 +471,7 @@ def underline(self) -> RefItemDallLabelFontUnderline: return self._underline -class RefItemDallLabelColor(SCPICmdWrite): +class RefItemDallLabelColor(SCPICmdWrite, SCPICmdRead): """The ``REF_DALL:LABel:COLor`` command. **Description:** @@ -384,6 +479,9 @@ class RefItemDallLabelColor(SCPICmdWrite): specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` command. @@ -392,6 +490,7 @@ class RefItemDallLabelColor(SCPICmdWrite): :: - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? **Info:** - ```` is the color of the digital group label. To return the color to the default @@ -434,6 +533,9 @@ def color(self) -> RefItemDallLabelColor: is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` command. @@ -442,6 +544,7 @@ def color(self) -> RefItemDallLabelColor: :: - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? **Info:** - ```` is the color of the digital group label. To return the color to the @@ -476,6 +579,9 @@ def name(self) -> RefItemDallLabelName: is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` command. @@ -484,6 +590,7 @@ def name(self) -> RefItemDallLabelName: :: - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? **Info:** - ```` is the name of the group. @@ -499,6 +606,9 @@ def xpos(self) -> RefItemDallLabelXpos: group. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` command. @@ -507,6 +617,7 @@ def xpos(self) -> RefItemDallLabelXpos: :: - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? **Info:** - ```` is the x-position, in pixels relative to the left edge of the display, of @@ -523,6 +634,9 @@ def ypos(self) -> RefItemDallLabelYpos: group. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` command. @@ -531,6 +645,7 @@ def ypos(self) -> RefItemDallLabelYpos: :: - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? **Info:** - ```` is the y-position, in pixels relative to the baseline of the waveform, of @@ -574,7 +689,7 @@ def label(self) -> RefItemDallLabel: return self._label -class RefItemDigitalBitLabelYpos(SCPICmdWrite): +class RefItemDigitalBitLabelYpos(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:YPOS`` command. **Description:** @@ -582,6 +697,9 @@ class RefItemDigitalBitLabelYpos(SCPICmdWrite): channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` command. **SCPI Syntax:** @@ -589,6 +707,7 @@ class RefItemDigitalBitLabelYpos(SCPICmdWrite): :: - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? **Info:** - ```` is the y-position, in pixels relative to the baseline of the waveform, of the @@ -596,7 +715,7 @@ class RefItemDigitalBitLabelYpos(SCPICmdWrite): """ -class RefItemDigitalBitLabelXpos(SCPICmdWrite): +class RefItemDigitalBitLabelXpos(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:XPOS`` command. **Description:** @@ -604,6 +723,9 @@ class RefItemDigitalBitLabelXpos(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` command. **SCPI Syntax:** @@ -611,6 +733,7 @@ class RefItemDigitalBitLabelXpos(SCPICmdWrite): :: - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? **Info:** - ```` is the x-position, in pixels relative to the left edge of the display, of the @@ -618,13 +741,16 @@ class RefItemDigitalBitLabelXpos(SCPICmdWrite): """ -class RefItemDigitalBitLabelName(SCPICmdWrite): +class RefItemDigitalBitLabelName(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:NAMe`` command. **Description:** - Sets or queries the label of the specified digital bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` command. **SCPI Syntax:** @@ -632,6 +758,7 @@ class RefItemDigitalBitLabelName(SCPICmdWrite): :: - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? **Info:** - ```` is the label. @@ -640,7 +767,7 @@ class RefItemDigitalBitLabelName(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite): +class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:FONT:UNDERline`` command. **Description:** @@ -648,6 +775,9 @@ class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite): bit. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:UNDERline value`` command. @@ -656,6 +786,7 @@ class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite): :: - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? **Info:** - ``OFF`` argument turns off underline font. @@ -664,7 +795,7 @@ class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite): """ -class RefItemDigitalBitLabelFontType(SCPICmdWrite): +class RefItemDigitalBitLabelFontType(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:FONT:TYPE`` command. **Description:** @@ -672,6 +803,9 @@ class RefItemDigitalBitLabelFontType(SCPICmdWrite): as Arial or Times New Roman. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` command. @@ -680,6 +814,7 @@ class RefItemDigitalBitLabelFontType(SCPICmdWrite): :: - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? **Info:** - ```` is the font type of the label. @@ -688,7 +823,7 @@ class RefItemDigitalBitLabelFontType(SCPICmdWrite): _WRAP_ARG_WITH_QUOTES = True -class RefItemDigitalBitLabelFontSize(SCPICmdWrite): +class RefItemDigitalBitLabelFontSize(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:FONT:SIZE`` command. **Description:** @@ -696,6 +831,9 @@ class RefItemDigitalBitLabelFontSize(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` command. @@ -704,13 +842,14 @@ class RefItemDigitalBitLabelFontSize(SCPICmdWrite): :: - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? **Info:** - ```` is the font size. """ -class RefItemDigitalBitLabelFontItalic(SCPICmdWrite): +class RefItemDigitalBitLabelFontItalic(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:FONT:ITALic`` command. **Description:** @@ -718,6 +857,9 @@ class RefItemDigitalBitLabelFontItalic(SCPICmdWrite): The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:ITALic value`` command. @@ -726,6 +868,7 @@ class RefItemDigitalBitLabelFontItalic(SCPICmdWrite): :: - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? **Info:** - ``OFF`` argument turns off italic font. @@ -734,7 +877,7 @@ class RefItemDigitalBitLabelFontItalic(SCPICmdWrite): """ -class RefItemDigitalBitLabelFontBold(SCPICmdWrite): +class RefItemDigitalBitLabelFontBold(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:FONT:BOLD`` command. **Description:** @@ -742,6 +885,9 @@ class RefItemDigitalBitLabelFontBold(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` command. @@ -750,6 +896,7 @@ class RefItemDigitalBitLabelFontBold(SCPICmdWrite): :: - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? **Info:** - ``OFF`` argument turns off bold font. @@ -793,6 +940,9 @@ def bold(self) -> RefItemDigitalBitLabelFontBold: The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` command. @@ -801,6 +951,7 @@ def bold(self) -> RefItemDigitalBitLabelFontBold: :: - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? **Info:** - ``OFF`` argument turns off bold font. @@ -818,6 +969,9 @@ def italic(self) -> RefItemDigitalBitLabelFontItalic: bit. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:ITALic value`` command. @@ -826,6 +980,7 @@ def italic(self) -> RefItemDigitalBitLabelFontItalic: :: - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? **Info:** - ``OFF`` argument turns off italic font. @@ -843,6 +998,9 @@ def size(self) -> RefItemDigitalBitLabelFontSize: The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` command. @@ -851,6 +1009,7 @@ def size(self) -> RefItemDigitalBitLabelFontSize: :: - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? **Info:** - ```` is the font size. @@ -866,6 +1025,9 @@ def type(self) -> RefItemDigitalBitLabelFontType: such as Arial or Times New Roman. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` command. @@ -874,6 +1036,7 @@ def type(self) -> RefItemDigitalBitLabelFontType: :: - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? **Info:** - ```` is the font type of the label. @@ -889,6 +1052,11 @@ def underline(self) -> RefItemDigitalBitLabelFontUnderline: bit. The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``REF_D:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:UNDERline value`` command. @@ -897,6 +1065,7 @@ def underline(self) -> RefItemDigitalBitLabelFontUnderline: :: - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? **Info:** - ``OFF`` argument turns off underline font. @@ -906,7 +1075,7 @@ def underline(self) -> RefItemDigitalBitLabelFontUnderline: return self._underline -class RefItemDigitalBitLabelColor(SCPICmdWrite): +class RefItemDigitalBitLabelColor(SCPICmdWrite, SCPICmdRead): """The ``REF_D:LABel:COLor`` command. **Description:** @@ -914,6 +1083,9 @@ class RefItemDigitalBitLabelColor(SCPICmdWrite): reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` command. @@ -922,6 +1094,7 @@ class RefItemDigitalBitLabelColor(SCPICmdWrite): :: - REF_D:LABel:COLor + - REF_D:LABel:COLor? **Info:** - ```` is the label color. To return the color to the default color, send an empty @@ -964,6 +1137,9 @@ def color(self) -> RefItemDigitalBitLabelColor: reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` command. @@ -972,6 +1148,7 @@ def color(self) -> RefItemDigitalBitLabelColor: :: - REF_D:LABel:COLor + - REF_D:LABel:COLor? **Info:** - ```` is the label color. To return the color to the default color, send an @@ -1005,6 +1182,9 @@ def name(self) -> RefItemDigitalBitLabelName: - Sets or queries the label of the specified digital bit. The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` command. @@ -1013,6 +1193,7 @@ def name(self) -> RefItemDigitalBitLabelName: :: - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? **Info:** - ```` is the label. @@ -1028,6 +1209,9 @@ def xpos(self) -> RefItemDigitalBitLabelXpos: The reference is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` command. @@ -1036,6 +1220,7 @@ def xpos(self) -> RefItemDigitalBitLabelXpos: :: - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? **Info:** - ```` is the x-position, in pixels relative to the left edge of the display, of @@ -1052,6 +1237,9 @@ def ypos(self) -> RefItemDigitalBitLabelYpos: The channel is specified by x. **Usage:** + - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` command. @@ -1060,6 +1248,7 @@ def ypos(self) -> RefItemDigitalBitLabelYpos: :: - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? **Info:** - ```` is the y-position, in pixels relative to the baseline of the waveform, of @@ -1150,3 +1339,860 @@ def dall(self) -> RefItemDall: - ``.label``: The ``REF_DALL:LABel`` command tree. """ return self._dall + + +class RefRefItemSource(SCPICmdWrite): + """The ``REF:REF:SOUrce`` command. + + **Description:** + - This command sets or queries the filename used by the given reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:SOUrce + + **Info:** + - ```` is the reference file name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:YPOS`` command. + + **Description:** + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + + **Info:** + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + + +class RefRefItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:XPOS`` command. + + **Description:** + - This command sets or queries the X-position at which the label (attached to the displayed + waveform of the specified reference) is displayed, relative to the left edge of the + waveview. The reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + + **Info:** + - ```` is the location (control in divisions) where the waveform label for the selected + reference is displayed, relative to the left edge of the screen. + """ + + +class RefRefItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:NAMe`` command. + + **Description:** + - This command sets or queries the label of the specified reference. The reference waveform + is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + + **Info:** + - ```` is the character string that will be used for the reference waveform label + name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:FONT:UNDERline`` command. + + **Description:** + - This command sets or queries the underline state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + - REF:REF:LABel:FONT:UNDERline? + + **Info:** + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + + +class RefRefItemLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:FONT:TYPE`` command. + + **Description:** + - This command sets or queries the font type of the specified reference label, such as Arial + or Times New Roman. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:TYPE + - REF:REF:LABel:FONT:TYPE? + + **Info:** + - ```` is the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:SIZE + - REF:REF:LABel:FONT:SIZE? + + **Info:** + - ```` is the font size of the label. + """ + + +class RefRefItemLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:FONT:ITALic`` command. + + **Description:** + - This command sets or queries the italic state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:ITALic value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + - REF:REF:LABel:FONT:ITALic? + + **Info:** + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + + +class RefRefItemLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + - REF:REF:LABel:FONT:BOLD? + + **Info:** + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + + +class RefRefItemLabelFont(SCPICmdRead): + """The ``REF:REF:LABel:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = RefRefItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = RefRefItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = RefRefItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = RefRefItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = RefRefItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> RefRefItemLabelFontBold: + """Return the ``REF:REF:LABel:FONT:BOLD`` command. + + **Description:** + - This command sets or queries the bold state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:BOLD {|OFF|ON} + - REF:REF:LABel:FONT:BOLD? + + **Info:** + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + return self._bold + + @property + def italic(self) -> RefRefItemLabelFontItalic: + """Return the ``REF:REF:LABel:FONT:ITALic`` command. + + **Description:** + - This command sets or queries the italic state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:ITALic value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:ITALic {|OFF|ON} + - REF:REF:LABel:FONT:ITALic? + + **Info:** + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + return self._italic + + @property + def size(self) -> RefRefItemLabelFontSize: + """Return the ``REF:REF:LABel:FONT:SIZE`` command. + + **Description:** + - This command sets or queries the font size of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:SIZE + - REF:REF:LABel:FONT:SIZE? + + **Info:** + - ```` is the font size of the label. + """ + return self._size + + @property + def type(self) -> RefRefItemLabelFontType: + """Return the ``REF:REF:LABel:FONT:TYPE`` command. + + **Description:** + - This command sets or queries the font type of the specified reference label, such as + Arial or Times New Roman. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:TYPE + - REF:REF:LABel:FONT:TYPE? + + **Info:** + - ```` is the font type. + """ + return self._type + + @property + def underline(self) -> RefRefItemLabelFontUnderline: + """Return the ``REF:REF:LABel:FONT:UNDERline`` command. + + **Description:** + - This command sets or queries the underline state of the specified reference label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:UNDERline value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:FONT:UNDERline {|OFF|ON} + - REF:REF:LABel:FONT:UNDERline? + + **Info:** + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + return self._underline + + +class RefRefItemLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:COLor`` command. + + **Description:** + - This command sets or queries the color of the specified ref label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:COLor + - REF:REF:LABel:COLor? + + **Info:** + - ```` is the label. To return the color to the default color, send an empty string + as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabel(SCPICmdRead): + """The ``REF:REF:LABel`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = RefRefItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = RefRefItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = RefRefItemLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = RefRefItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = RefRefItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> RefRefItemLabelColor: + """Return the ``REF:REF:LABel:COLor`` command. + + **Description:** + - This command sets or queries the color of the specified ref label. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:COLor + - REF:REF:LABel:COLor? + + **Info:** + - ```` is the label. To return the color to the default color, send an empty + string as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> RefRefItemLabelFont: + """Return the ``REF:REF:LABel:FONT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> RefRefItemLabelName: + """Return the ``REF:REF:LABel:NAMe`` command. + + **Description:** + - This command sets or queries the label of the specified reference. The reference + waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + + **Info:** + - ```` is the character string that will be used for the reference waveform + label name. + """ + return self._name + + @property + def xpos(self) -> RefRefItemLabelXpos: + """Return the ``REF:REF:LABel:XPOS`` command. + + **Description:** + - This command sets or queries the X-position at which the label (attached to the + displayed waveform of the specified reference) is displayed, relative to the left edge + of the waveview. The reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + + **Info:** + - ```` is the location (control in divisions) where the waveform label for the + selected reference is displayed, relative to the left edge of the screen. + """ + return self._xpos + + @property + def ypos(self) -> RefRefItemLabelYpos: + """Return the ``REF:REF:LABel:YPOS`` command. + + **Description:** + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` + command. + + **SCPI Syntax:** + + :: + + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + + **Info:** + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + return self._ypos + + +class RefRefItemDeskew(SCPICmdWrite): + """The ``REF:REF:DESKew`` command. + + **Description:** + - This command sets or queries the deskew value used for the specified reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:DESKew + + **Info:** + - ```` is the deskew value used for the specified reference. + """ + + +class RefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REF:REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deskew = RefRefItemDeskew(device, f"{self._cmd_syntax}:DESKew") + self._label = RefRefItemLabel(device, f"{self._cmd_syntax}:LABel") + self._source = RefRefItemSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def deskew(self) -> RefRefItemDeskew: + """Return the ``REF:REF:DESKew`` command. + + **Description:** + - This command sets or queries the deskew value used for the specified reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:DESKew + + **Info:** + - ```` is the deskew value used for the specified reference. + """ + return self._deskew + + @property + def label(self) -> RefRefItemLabel: + """Return the ``REF:REF:LABel`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + return self._label + + @property + def source(self) -> RefRefItemSource: + """Return the ``REF:REF:SOUrce`` command. + + **Description:** + - This command sets or queries the filename used by the given reference. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - REF:REF:SOUrce + + **Info:** + - ```` is the reference file name. + """ + return self._source + + +class RefList(SCPICmdRead): + """The ``REF:LIST`` command. + + **Description:** + - This command returns a comma separated list of all currently defined references. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - REF:LIST? + """ + + +class RefDelete(SCPICmdWrite): + """The ``REF:DELete`` command. + + **Description:** + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + **SCPI Syntax:** + + :: + + - REF:DELete + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefAddnew(SCPICmdWrite): + """The ``REF:ADDNew`` command. + + **Description:** + - This command adds the specified reference. Argument is of the form 'REF ', where NR1 + ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - REF:ADDNew + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF ', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Ref(SCPICmdRead): + """The ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``REF:ADDNew`` command. + - ``.delete``: The ``REF:DELete`` command. + - ``.list``: The ``REF:LIST`` command. + - ``.ref``: The ``REF:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: + super().__init__(device, cmd_syntax) + self._addnew = RefAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = RefDelete(device, f"{self._cmd_syntax}:DELete") + self._list = RefList(device, f"{self._cmd_syntax}:LIST") + self._ref: Dict[int, RefRefItem] = DefaultDictPassKeyToFactory( + lambda x: RefRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def addnew(self) -> RefAddnew: + """Return the ``REF:ADDNew`` command. + + **Description:** + - This command adds the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + **SCPI Syntax:** + + :: + + - REF:ADDNew + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + """ + return self._addnew + + @property + def delete(self) -> RefDelete: + """Return the ``REF:DELete`` command. + + **Description:** + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + **SCPI Syntax:** + + :: + + - REF:DELete + + **Info:** + - ```` is the specified reference. Argument is of the form 'REF', where + NR1 ≥ 1. + """ + return self._delete + + @property + def list(self) -> RefList: + """Return the ``REF:LIST`` command. + + **Description:** + - This command returns a comma separated list of all currently defined references. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - REF:LIST? + """ + return self._list + + @property + def ref(self) -> Dict[int, RefRefItem]: + """Return the ``REF:REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + return self._ref diff --git a/src/tm_devices/commands/_c3g63_lpdmso/save.py b/src/tm_devices/commands/_c3g63_lpdmso/save.py index 04a36c38..d02a21e9 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/save.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/save.py @@ -18,6 +18,7 @@ - SAVe:EVENTtable:CUSTom:COMMents - SAVe:EVENTtable:CUSTom:COMMents? - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? - SAVe:EVENTtable:CUSTom:INCLUDEREFs {1|0} - SAVe:EVENTtable:CUSTom:INCLUDEREFs? - SAVe:EVENTtable:MEASUrement @@ -28,6 +29,7 @@ - SAVe:IMAGe:COMPosition? - SAVe:IMAGe:VIEWTYpe {FULLScreen} - SAVe:IMAGe:VIEWTYpe? + - SAVe:MASK - SAVe:PLOTData - SAVe:REPOrt - SAVe:REPOrt:COMMents @@ -36,7 +38,7 @@ - SAVe:SETUp - SAVe:SETUp:INCLUDEREFs {OFF|ON|0|1} - SAVe:SETUp:INCLUDEREFs? - - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME| _SV_BASEBAND_IQ]|MATH|REF|ALL| }, - SAVe:WAVEform:GATing {NONe|CURSors|SCREEN|RESAMPLE|SELected} - SAVe:WAVEform:GATing:RESAMPLErate - SAVe:WAVEform:GATing:RESAMPLErate? @@ -180,7 +182,7 @@ class SaveWaveform(SCPICmdWrite, SCPICmdRead): :: - - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME| _SV_BASEBAND_IQ]|MATH|REF|ALL| }, **Info:** - ``CH`` is the number of the analog channel waveform source used to save the waveform @@ -476,7 +478,15 @@ class SavePlotdata(SCPICmdWrite): **Description:** - Saves the plot data of the currently selected plot to a specified file. Supported file - format is CSV. + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be located + in a directory relative to the current working directory (specified by ``FILESYSTEM:CWD``) + unless a complete path is specified. If the file argument begins with a drive designator + (such as C:), then the file name is interpreted as a full path. If the file argument + begins with '.' or '', or has a file path separator appearing anywhere other than the + first character position, then the file name is treated as a path that is relative to the + current working directory. To export an eye diagram plot data to a .csv file, the + prerequisite command is ``MEASUrement:ADDMEAS TIE`` **Usage:** - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. @@ -488,13 +498,40 @@ class SavePlotdata(SCPICmdWrite): - SAVe:PLOTData **Info:** - - ```` sets the file name and location used to store the plot data. When specifying - the file name with this command, use the correct file extension (.CSV). If a file name or - path is specified, the file is expected to be located in a directory relative to the - current working directory (specified by ``FILESYSTEM:CWD``) unless a complete path is - specified. - - ``MEASUrement:ADDMEAS TIE`` To export an eye diagram plot data to a .csv file, the - prerequisite command is. + - ```` sets the file name and location used to store the plot data. + """ + + +class SaveMask(SCPICmdWrite): + """The ``SAVe:MASK`` command. + + **Description:** + - Saves the given Waveview Mask to the specified file. Use the format + []'<.ext>' for the argument. Specifying a path is optional. If no path is + entered, the file is saved to the current working directory set by ``FILESystem:CWD``. + ues the form '/.../'. You can specify a relative path or a complete + path: Relative path specification: If the file argument begins with '.' or '..' or has a + file path separator appearing anywhere other than the first character position, then the + file name is treated as a path that is relative to the current working directory. Complete + path specification: If the file argument begins with a file path separator (forward slash + character) or a drive designator (such as C:), then the file name is interpreted as a full + path from the specified drive. sets the file name to use to create the file. A + file can have up to 125 characters. <.ext> sets the file format for saving the mask data. + Segment-based masks must be saved with a .xml extension, while tolerance masks must be + saved with a .tol extension. + + **Usage:** + - Using the ``.write(value)`` method will send the ``SAVe:MASK value`` command. + + **SCPI Syntax:** + + :: + + - SAVe:MASK + + **Info:** + - ```` is a quoted string that defines the path and file name used to save the + specified file, in the format []'<.ext>'. """ @@ -736,13 +773,16 @@ class SaveEventtableCustomIncluderefs(SCPICmdWrite, SCPICmdRead): """ -class SaveEventtableCustomDataformat(SCPICmdWrite): +class SaveEventtableCustomDataformat(SCPICmdWrite, SCPICmdRead): """The ``SAVe:EVENTtable:CUSTom:DATAFormat`` command. **Description:** - This command sets or queries the data format to use for saving results table data. **Usage:** + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` + query and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat value`` command. @@ -751,6 +791,7 @@ class SaveEventtableCustomDataformat(SCPICmdWrite): :: - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? **Info:** - ``SCIentific`` sets the instrument to save results tables data in scientific notation (for @@ -858,6 +899,11 @@ def dataformat(self) -> SaveEventtableCustomDataformat: - This command sets or queries the data format to use for saving results table data. **Usage:** + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` + query. + - Using the ``.verify(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:DATAFormat?`` query and raise an AssertionError if the + returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat value`` command. @@ -866,6 +912,7 @@ def dataformat(self) -> SaveEventtableCustomDataformat: :: - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? **Info:** - ``SCIentific`` sets the instrument to save results tables data in scientific notation @@ -1082,6 +1129,7 @@ def searchtable(self) -> SaveEventtableSearchtable: return self._searchtable +# pylint: disable=too-many-instance-attributes class Save(SCPICmdRead): """The ``SAVe`` command tree. @@ -1093,6 +1141,7 @@ class Save(SCPICmdRead): Properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -1104,6 +1153,7 @@ def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SAVe" super().__init__(device, cmd_syntax) self._eventtable = SaveEventtable(device, f"{self._cmd_syntax}:EVENTtable") self._image = SaveImage(device, f"{self._cmd_syntax}:IMAGe") + self._mask = SaveMask(device, f"{self._cmd_syntax}:MASK") self._plotdata = SavePlotdata(device, f"{self._cmd_syntax}:PLOTData") self._report = SaveReport(device, f"{self._cmd_syntax}:REPOrt") self._session = SaveSession(device, f"{self._cmd_syntax}:SESsion") @@ -1154,13 +1204,57 @@ def image(self) -> SaveImage: """ return self._image + @property + def mask(self) -> SaveMask: + """Return the ``SAVe:MASK`` command. + + **Description:** + - Saves the given Waveview Mask to the specified file. Use the format + []'<.ext>' for the argument. Specifying a path is optional. If no path + is entered, the file is saved to the current working directory set by + ``FILESystem:CWD``. ues the form '/.../'. You can specify a + relative path or a complete path: Relative path specification: If the file argument + begins with '.' or '..' or has a file path separator appearing anywhere other than the + first character position, then the file name is treated as a path that is relative to + the current working directory. Complete path specification: If the file argument + begins with a file path separator (forward slash character) or a drive designator + (such as C:), then the file name is interpreted as a full path from the specified + drive. sets the file name to use to create the file. A file can have up to + 125 characters. <.ext> sets the file format for saving the mask data. Segment-based + masks must be saved with a .xml extension, while tolerance masks must be saved with a + .tol extension. + + **Usage:** + - Using the ``.write(value)`` method will send the ``SAVe:MASK value`` command. + + **SCPI Syntax:** + + :: + + - SAVe:MASK + + **Info:** + - ```` is a quoted string that defines the path and file name used to save the + specified file, in the format []'<.ext>'. + """ + return self._mask + @property def plotdata(self) -> SavePlotdata: """Return the ``SAVe:PLOTData`` command. **Description:** - Saves the plot data of the currently selected plot to a specified file. Supported file - format is CSV. + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be + located in a directory relative to the current working directory (specified by + ``FILESYSTEM:CWD``) unless a complete path is specified. If the file argument begins + with a drive designator (such as C:), then the file name is interpreted as a full + path. If the file argument begins with '.' or '', or has a file path separator + appearing anywhere other than the first character position, then the file name is + treated as a path that is relative to the current working directory. To export an eye + diagram plot data to a .csv file, the prerequisite command is + ``MEASUrement:ADDMEAS TIE`` **Usage:** - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. @@ -1172,13 +1266,7 @@ def plotdata(self) -> SavePlotdata: - SAVe:PLOTData **Info:** - - ```` sets the file name and location used to store the plot data. When - specifying the file name with this command, use the correct file extension (.CSV). If - a file name or path is specified, the file is expected to be located in a directory - relative to the current working directory (specified by ``FILESYSTEM:CWD``) unless a - complete path is specified. - - ``MEASUrement:ADDMEAS TIE`` To export an eye diagram plot data to a .csv file, the - prerequisite command is. + - ```` sets the file name and location used to store the plot data. """ return self._plotdata @@ -1274,7 +1362,7 @@ def waveform(self) -> SaveWaveform: :: - - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME| _SV_BASEBAND_IQ]|MATH|REF|ALL| }, **Info:** - ``CH`` is the number of the analog channel waveform source used to save the diff --git a/src/tm_devices/commands/_c3g63_lpdmso/search.py b/src/tm_devices/commands/_c3g63_lpdmso/search.py index d396236d..32caf62d 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/search.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/search.py @@ -590,10 +590,6 @@ - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets? - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue? - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya| ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya| SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl| GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt| MDATASpeed|HDRCapability} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue? - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess @@ -2862,7 +2858,7 @@ class SearchSearchItemTriggerASetholdLogicpatternRefItem( **Description:** - This command sets and returns the conditions used for generating an A logic pattern, with - respect to the defined input pattern, and identifies the time that the selected pattern + respect to the defined input pattern, and identifies the time that the selected pattern may be true and still generate the trigger. The search number is specified by x. **Usage:** @@ -3154,7 +3150,7 @@ def ref(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternRefItem]: **Description:** - This command sets and returns the conditions used for generating an A logic pattern, - with respect to the defined input pattern, and identifies the time that the selected + with respect to the defined input pattern, and identifies the time that the selected pattern may be true and still generate the trigger. The search number is specified by x. @@ -21120,8 +21116,8 @@ class SearchSearchItemTriggerABusRs232cDataSize(SCPICmdWrite, SCPICmdRead): **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. The - search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is Data. + The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -21172,8 +21168,8 @@ def size(self) -> SearchSearchItemTriggerABusRs232cDataSize: **Description:** - This command sets or queries the length of the data string in bytes to be used for an - RS232 bus search to determine where to place a mark when the search condition is Data. - The search number is specified by x. + RS232 bus search to determine where to place a mark when the search condition is + Data. The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -26871,208 +26867,6 @@ def value(self) -> SearchSearchItemTriggerABusI3cStatebyteValue: return self._value -class SearchSearchItemTriggerABusI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): - """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. - - **Description:** - - This command sets or queries the SDR direct packet types for the specified I3C bus trigger - search to determine where to place a mark. Requires purchase and installation of option - SRI3C. - - **Usage:** - - Using the ``.query()`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query and raise an AssertionError - if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket value`` command. - - **SCPI Syntax:** - - :: - - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya| SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl| GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt| MDATASpeed|HDRCapability} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? - - **Info:** - - ``Search`` specifies the search number. - - ``ENSLave`` specifies the trigger condition as Enable Slave. - - ``DISLave`` specifies the trigger condition as Disable Slave. - - ``ENTasx`` specifies the trigger condition as Enter Activity State. - - ``RSTDya`` specifies the trigger condition as Reset Dynamic Address. - - ``SETMwrl`` specifies the trigger condition as Set Max Write Length. - - ``SETMrdl`` specifies the trigger condition as Set Max Read Length. - - ``SEText`` specifies the trigger condition as Set Exchange Time. - - ``SETDya`` specifies the trigger condition as Set Dynamic Address. - - ``SETNdya`` specifies the trigger condition as Set New Dynamic Address. - - ``GETMWrl`` specifies the trigger condition as Get Max Write Length. - - ``GETMRdl`` specifies the trigger condition as Get Max Read Length. - - ``GETPrid`` specifies the trigger condition as Get Provisional ID. - - ``GETBusch`` specifies the trigger condition as Get Provisional ID. - - ``GETDevch`` specifies the trigger condition as Get Dev Characteristics. - - ``GETSlave`` specifies the trigger condition as Get Slave Current Status. - - ``ACCM`` specifies the trigger condition as Get Accept Mastership. - - ``SETBrt`` specifies the trigger condition as Set Bridge Direct Target. - - ``MDATASpeed`` specifies the trigger condition as Get Max Data Speed. - - ``HDRCapability`` specifies the trigger condition as Get HDR Capability. - """ # noqa: E501 - - -class SearchSearchItemTriggerABusI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): - """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` command. - - **Description:** - - This command sets or queries the SDR broadcast packets for the specified I3C bus trigger - search to determine where to place a mark. Requires purchase and installation of option - SRI3C. - - **Usage:** - - Using the ``.query()`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket value`` command. - - **SCPI Syntax:** - - :: - - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya| ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? - - **Info:** - - ``Search`` specifies the search number. - - ``ENSLave`` specifies the I3C broadcast packet type as Enable Slave. - - ``DISLave`` specifies the I3C broadcast packet type as Disable Slave. - - ``ENTasx`` specifies the I3C broadcast packet type as Enter Activity Stat. - - ``RSTDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. - - ``ENTRDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. - - ``SETMwrl`` specifies the I3C broadcast packet type as Set Max Write Length. - - ``SETMrdl`` specifies the I3C broadcast packet type as Set Max Read Length. - - ``LSLave`` specifies the I3C broadcast packet type as Define List of Slaves. - - ``ENTRTSTMode`` specifies the I3C broadcast packet type as Enter Test Mode Broadcast. - - ``EXTime`` specifies the I3C broadcast packet type as Set Exchange Time. - """ # noqa: E501 - - -class SearchSearchItemTriggerABusI3cSdr(SCPICmdRead): - """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` - query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.broadcastpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` - command. - - ``.directpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._broadcastpacket = SearchSearchItemTriggerABusI3cSdrBroadcastpacket( - device, f"{self._cmd_syntax}:BROADCASTPacket" - ) - self._directpacket = SearchSearchItemTriggerABusI3cSdrDirectpacket( - device, f"{self._cmd_syntax}:DIRECTPacket" - ) - - @property - def broadcastpacket(self) -> SearchSearchItemTriggerABusI3cSdrBroadcastpacket: - """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` command. - - **Description:** - - This command sets or queries the SDR broadcast packets for the specified I3C bus - trigger search to determine where to place a mark. Requires purchase and installation - of option SRI3C. - - **Usage:** - - Using the ``.query()`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket value`` command. - - **SCPI Syntax:** - - :: - - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya| ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? - - **Info:** - - ``Search`` specifies the search number. - - ``ENSLave`` specifies the I3C broadcast packet type as Enable Slave. - - ``DISLave`` specifies the I3C broadcast packet type as Disable Slave. - - ``ENTasx`` specifies the I3C broadcast packet type as Enter Activity Stat. - - ``RSTDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. - - ``ENTRDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. - - ``SETMwrl`` specifies the I3C broadcast packet type as Set Max Write Length. - - ``SETMrdl`` specifies the I3C broadcast packet type as Set Max Read Length. - - ``LSLave`` specifies the I3C broadcast packet type as Define List of Slaves. - - ``ENTRTSTMode`` specifies the I3C broadcast packet type as Enter Test Mode Broadcast. - - ``EXTime`` specifies the I3C broadcast packet type as Set Exchange Time. - """ # noqa: E501 - return self._broadcastpacket - - @property - def directpacket(self) -> SearchSearchItemTriggerABusI3cSdrDirectpacket: - """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. - - **Description:** - - This command sets or queries the SDR direct packet types for the specified I3C bus - trigger search to determine where to place a mark. Requires purchase and installation - of option SRI3C. - - **Usage:** - - Using the ``.query()`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket value`` command. - - **SCPI Syntax:** - - :: - - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya| SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl| GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt| MDATASpeed|HDRCapability} - - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? - - **Info:** - - ``Search`` specifies the search number. - - ``ENSLave`` specifies the trigger condition as Enable Slave. - - ``DISLave`` specifies the trigger condition as Disable Slave. - - ``ENTasx`` specifies the trigger condition as Enter Activity State. - - ``RSTDya`` specifies the trigger condition as Reset Dynamic Address. - - ``SETMwrl`` specifies the trigger condition as Set Max Write Length. - - ``SETMrdl`` specifies the trigger condition as Set Max Read Length. - - ``SEText`` specifies the trigger condition as Set Exchange Time. - - ``SETDya`` specifies the trigger condition as Set Dynamic Address. - - ``SETNdya`` specifies the trigger condition as Set New Dynamic Address. - - ``GETMWrl`` specifies the trigger condition as Get Max Write Length. - - ``GETMRdl`` specifies the trigger condition as Get Max Read Length. - - ``GETPrid`` specifies the trigger condition as Get Provisional ID. - - ``GETBusch`` specifies the trigger condition as Get Provisional ID. - - ``GETDevch`` specifies the trigger condition as Get Dev Characteristics. - - ``GETSlave`` specifies the trigger condition as Get Slave Current Status. - - ``ACCM`` specifies the trigger condition as Get Accept Mastership. - - ``SETBrt`` specifies the trigger condition as Set Bridge Direct Target. - - ``MDATASpeed`` specifies the trigger condition as Get Max Data Speed. - - ``HDRCapability`` specifies the trigger condition as Get HDR Capability. - """ # noqa: E501 - return self._directpacket - - class SearchSearchItemTriggerABusI3cSaddressValue(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue`` command. @@ -28994,7 +28788,6 @@ class SearchSearchItemTriggerABusI3c(SCPICmdRead): - ``.maxwrite``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. - ``.saddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. - - ``.sdr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. - ``.statebyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. - ``.static``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. - ``.supportbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. @@ -29044,7 +28837,6 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._saddress = SearchSearchItemTriggerABusI3cSaddress( device, f"{self._cmd_syntax}:SADDress" ) - self._sdr = SearchSearchItemTriggerABusI3cSdr(device, f"{self._cmd_syntax}:SDR") self._statebyte = SearchSearchItemTriggerABusI3cStatebyte( device, f"{self._cmd_syntax}:STATEBYTe" ) @@ -29505,25 +29297,6 @@ def saddress(self) -> SearchSearchItemTriggerABusI3cSaddress: """ return self._saddress - @property - def sdr(self) -> SearchSearchItemTriggerABusI3cSdr: - """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query. - - Using the ``.verify(value)`` method will send the - ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.broadcastpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` - command. - - ``.directpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` - command. - """ - return self._sdr - @property def statebyte(self) -> SearchSearchItemTriggerABusI3cStatebyte: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. @@ -31663,7 +31436,7 @@ class SearchSearchItemTriggerABusEusbSyncbitsMinSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. **Description:** - - This command sets the number of sync bits, in bits, to be used when triggering on a eUSB + - This command sets the number of sync bits, in bits, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. @@ -31714,7 +31487,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbSyncbitsMinSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. **Description:** - - This command sets the number of sync bits, in bits, to be used when triggering on a + - This command sets the number of sync bits, in bits, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. @@ -31745,7 +31518,7 @@ class SearchSearchItemTriggerABusEusbSyncbitsMaxSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. **Description:** - - This command sets the number of sync bits, to be used when triggering on a eUSB bus + - This command sets the number of sync bits, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. **Usage:** @@ -31795,7 +31568,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbSyncbitsMaxSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. **Description:** - - This command sets the number of sync bits, to be used when triggering on a eUSB bus + - This command sets the number of sync bits, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. @@ -32991,7 +32764,7 @@ class SearchSearchItemTriggerABusEusbEopbitsMinSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. **Description:** - - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. **Usage:** @@ -33041,7 +32814,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbEopbitsMinSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. **Description:** - - This command sets the number of EOP bits to be used when triggering on a eUSB bus + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. **Usage:** @@ -33071,7 +32844,7 @@ class SearchSearchItemTriggerABusEusbEopbitsMaxSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. **Description:** - - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. **Usage:** @@ -33121,7 +32894,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbEopbitsMaxSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. **Description:** - - This command sets the number of EOP bits to be used when triggering on a eUSB bus + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. **Usage:** @@ -33239,7 +33012,7 @@ class SearchSearchItemTriggerABusEusbEopDatabitsSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. **Description:** - - This command sets the number of EOP bits, in bytes, to be used when triggering on a eUSB + - This command sets the number of EOP bits, in bytes, to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. **Usage:** @@ -33289,7 +33062,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbEopDatabitsSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. **Description:** - - This command sets the number of EOP bits, in bytes, to be used when triggering on a + - This command sets the number of EOP bits, in bytes, to be used when triggering on a eUSB bus signal. The trigger condition must be set to EOP. The search number is specified by x. @@ -33927,7 +33700,7 @@ class SearchSearchItemTriggerABusEusbDatabitsSize(SCPICmdWrite, SCPICmdRead): """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. **Description:** - - This command sets the number of Sync bits, in bytes, to be used when triggering on a eUSB + - This command sets the number of Sync bits, in bytes, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. @@ -33976,7 +33749,7 @@ def size(self) -> SearchSearchItemTriggerABusEusbDatabitsSize: """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. **Description:** - - This command sets the number of Sync bits, in bytes, to be used when triggering on a + - This command sets the number of Sync bits, in bytes, to be used when triggering on a eUSB bus signal. The trigger condition must be set to SYNC. The search number is specified by x. @@ -46240,7 +46013,7 @@ class SearchSearchItemTriggerABusCphyWordcountValue(SCPICmdWrite, SCPICmdRead): **Description:** - This command specifies the word count data string used for CPHY triggering if the trigger - condition is on any rgb/ycbcr/yuv packet. The search number is specified by x. + condition is on any rgb/ycbcr/yuv packet. The search number is specified by x. **Usage:** - Using the ``.query()`` method will send the @@ -46292,7 +46065,8 @@ def value(self) -> SearchSearchItemTriggerABusCphyWordcountValue: **Description:** - This command specifies the word count data string used for CPHY triggering if the - trigger condition is on any rgb/ycbcr/yuv packet. The search number is specified by x. + trigger condition is on any rgb/ycbcr/yuv packet. The search number is specified by + x. **Usage:** - Using the ``.query()`` method will send the @@ -54434,7 +54208,6 @@ def i3c(self) -> SearchSearchItemTriggerABusI3c: - ``.maxwrite``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. - ``.saddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. - - ``.sdr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. - ``.statebyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. - ``.static``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. - ``.supportbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/select.py b/src/tm_devices/commands/_c3g63_lpdmso/select.py new file mode 100644 index 00000000..97e7fd51 --- /dev/null +++ b/src/tm_devices/commands/_c3g63_lpdmso/select.py @@ -0,0 +1,104 @@ +"""The select commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - SELect:CH {ON|OFF|1|0} + - SELect:CH? +""" +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import DefaultDictPassKeyToFactory, SCPICmdRead, SCPICmdWrite, ValidatedChannel + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SelectChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``SELect:CH`` command. + + **Description:** + - Turns the display of the channel waveform on or off, where is the channel number. + This command also resets the acquisition. The query returns whether the channel is on or + off but does not indicate whether it is the specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect:CH?`` query. + - Using the ``.verify(value)`` method will send the ``SELect:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SELect:CH value`` command. + + **SCPI Syntax:** + + :: + + - SELect:CH {ON|OFF|1|0} + - SELect:CH? + + **Info:** + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``0`` turns off the display of the specified waveform. + """ + + +class Select(SCPICmdRead): + """The ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SELect:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SELect") -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SelectChannel] = DefaultDictPassKeyToFactory( + lambda x: SelectChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, SelectChannel]: + """Return the ``SELect:CH`` command. + + **Description:** + - Turns the display of the channel waveform on or off, where is the channel + number. This command also resets the acquisition. The query returns whether the + channel is on or off but does not indicate whether it is the specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect:CH?`` query. + - Using the ``.verify(value)`` method will send the ``SELect:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SELect:CH value`` command. + + **SCPI Syntax:** + + :: + + - SELect:CH {ON|OFF|1|0} + - SELect:CH? + + **Info:** + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``0`` turns off the display of the specified waveform. + """ + return self._ch diff --git a/src/tm_devices/commands/_c3g63_lpdmso/trigger.py b/src/tm_devices/commands/_c3g63_lpdmso/trigger.py index f0188ffa..0f2f2a08 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/trigger.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/trigger.py @@ -176,9 +176,9 @@ - TRIGger:A:BUS:B:I3C:DATa:VALue? - TRIGger:A:BUS:B:I3C:ERRORTYPe {NACK|TBIT|BADDr} - TRIGger:A:BUS:B:I3C:ERRORTYPe? - - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket? - - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket? - TRIGger:A:BUS:B:I3C:TBIT:DIREction {READ|WRITe} - TRIGger:A:BUS:B:I3C:TBIT:DIREction? @@ -293,6 +293,7 @@ - TRIGger:A:BUS:B:SENT:SLOW:DATA:VALue - TRIGger:A:BUS:B:SENT:SLOW:DATA:VALue? - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue? - TRIGger:A:BUS:B:SPI:CONDition {SS|STARTofframe|DATa} - TRIGger:A:BUS:B:SPI:CONDition? - TRIGger:A:BUS:B:SPI:DATa:SIZe @@ -457,7 +458,18 @@ - TRIGger:A:TYPe? - TRIGger:A:UPPerthreshold:CH - TRIGger:A:UPPerthreshold:CH? + - TRIGger:A:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:A:VIDeo:FIELD? + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + - TRIGger:A:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:A:VIDeo:POLarity? + - TRIGger:A:VIDeo:SOUrce {CH} + - TRIGger:A:VIDeo:SOUrce? + - TRIGger:A:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:A:VIDeo:STANdard? - TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:A:WINdow:CROSSIng? - TRIGger:A:WINdow:LOGICQUALification {ON|OFF} - TRIGger:A:WINdow:LOGICQUALification? - TRIGger:A:WINdow:SOUrce {CH} @@ -465,6 +477,7 @@ - TRIGger:A:WINdow:WHEn {ENTERSWindow|EXITSWindow| INSIDEGreater|OUTSIDEGreater} - TRIGger:A:WINdow:WHEn? - TRIGger:A:WINdow:WIDth + - TRIGger:A:WINdow:WIDth? - TRIGger:AUXLevel {|ECL|TTL} - TRIGger:AUXLevel? - TRIGger:B:BUS:B:ARINC429A:CONDition {SOW|LABel|DATa|LABELANDDATA |EOW|ERRor} @@ -629,9 +642,9 @@ - TRIGger:B:BUS:B:I3C:DATa:VALue? - TRIGger:B:BUS:B:I3C:ERRORTYPe {NACK|TBIT|BADDr} - TRIGger:B:BUS:B:I3C:ERRORTYPe? - - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket? - - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket? - TRIGger:B:BUS:B:I3C:TBIT:DIREction {READ|WRITe} - TRIGger:B:BUS:B:I3C:TBIT:DIREction? @@ -746,6 +759,7 @@ - TRIGger:B:BUS:B:SENT:SLOW:DATA:VALue - TRIGger:B:BUS:B:SENT:SLOW:DATA:VALue? - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue? - TRIGger:B:BUS:B:SPI:CONDition {SS|STARTofframe|DATa} - TRIGger:B:BUS:B:SPI:CONDition? - TRIGger:B:BUS:B:SPI:DATa:SIZe @@ -922,7 +936,18 @@ - TRIGger:B:TYPe? - TRIGger:B:UPPerthreshold:CH - TRIGger:B:UPPerthreshold:CH? + - TRIGger:B:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:B:VIDeo:FIELD? + - TRIGger:B:VIDeo:LINE + - TRIGger:B:VIDeo:LINE? + - TRIGger:B:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:B:VIDeo:POLarity? + - TRIGger:B:VIDeo:SOUrce {CH} + - TRIGger:B:VIDeo:SOUrce? + - TRIGger:B:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:B:VIDeo:STANdard? - TRIGger:B:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:B:WINdow:CROSSIng? - TRIGger:B:WINdow:LOGICQUALification {ON|OFF} - TRIGger:B:WINdow:LOGICQUALification? - TRIGger:B:WINdow:SOUrce {CH} @@ -930,6 +955,7 @@ - TRIGger:B:WINdow:WHEn {ENTERSWindow|EXITSWindow| INSIDEGreater|OUTSIDEGreater} - TRIGger:B:WINdow:WHEn? - TRIGger:B:WINdow:WIDth + - TRIGger:B:WINdow:WIDth? - TRIGger:HYSTeresis:USER:STATe {ON|OFF|1|0} - TRIGger:HYSTeresis:USER:STATe? - TRIGger:HYSTeresis:USER:VALue @@ -1131,7 +1157,7 @@ def user(self) -> TriggerHysteresisUser: return self._user -class TriggerBWindowWidth(SCPICmdWrite): +class TriggerBWindowWidth(SCPICmdWrite, SCPICmdRead): """The ``TRIGger:B:WINdow:WIDth`` command. **Description:** @@ -1140,6 +1166,9 @@ class TriggerBWindowWidth(SCPICmdWrite): Outside > Limit in the Trigger When box, and setting the Time Limit. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:WINdow:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:WINdow:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:WINdow:WIDth value`` command. **SCPI Syntax:** @@ -1147,6 +1176,7 @@ class TriggerBWindowWidth(SCPICmdWrite): :: - TRIGger:B:WINdow:WIDth + - TRIGger:B:WINdow:WIDth? **Info:** - ```` is the minimum width for a window violation. @@ -1237,7 +1267,7 @@ class TriggerBWindowLogicqualification(SCPICmdWrite, SCPICmdRead): """ -class TriggerBWindowCrossing(SCPICmdWrite): +class TriggerBWindowCrossing(SCPICmdWrite, SCPICmdRead): r"""The ``TRIGger:B:WINdow:CROSSIng`` command. **Description:** @@ -1246,6 +1276,9 @@ class TriggerBWindowCrossing(SCPICmdWrite): ``:TRIGger``:{A|B}``:WINdow:WHEn`` is INSIDEGreater or OUTSIDEGreater. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:WINdow:CROSSIng?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:WINdow:CROSSIng?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:WINdow:CROSSIng value`` command. @@ -1254,6 +1287,7 @@ class TriggerBWindowCrossing(SCPICmdWrite): :: - TRIGger:B:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:B:WINdow:CROSSIng? **Info:** - ``UPPer`` if ``:TRIGger``:{A\|B}``:WINdow:WHEn`` is INSIDEGreater, the instrument triggers @@ -1323,6 +1357,9 @@ def crossing(self) -> TriggerBWindowCrossing: ``:TRIGger``:{A|B}``:WINdow:WHEn`` is INSIDEGreater or OUTSIDEGreater. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:WINdow:CROSSIng?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:WINdow:CROSSIng?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:WINdow:CROSSIng value`` command. @@ -1331,6 +1368,7 @@ def crossing(self) -> TriggerBWindowCrossing: :: - TRIGger:B:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:B:WINdow:CROSSIng? **Info:** - ``UPPer`` if ``:TRIGger``:{A\|B}``:WINdow:WHEn`` is INSIDEGreater, the instrument @@ -1464,6 +1502,9 @@ def width(self) -> TriggerBWindowWidth: Outside > Limit in the Trigger When box, and setting the Time Limit. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:WINdow:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:WINdow:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:WINdow:WIDth value`` command. @@ -1472,6 +1513,7 @@ def width(self) -> TriggerBWindowWidth: :: - TRIGger:B:WINdow:WIDth + - TRIGger:B:WINdow:WIDth? **Info:** - ```` is the minimum width for a window violation. @@ -1479,6 +1521,299 @@ def width(self) -> TriggerBWindowWidth: return self._width +class TriggerBVideoStandard(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:VIDeo:STANdard`` command. + + **Description:** + - This command specifies the standard/format for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:STANdard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:B:VIDeo:STANdard? + + **Info:** + - ``NTSc`` specifies 525i/NTSC as the video standard. + - ``PAL`` specifies 625i/PAL as the video standard. + - ``SECAM`` specifies SECAM as the video standard. + """ + + +class TriggerBVideoSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:VIDeo:SOUrce`` command. + + **Description:** + - This command specifies the source waveform for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:SOUrce {CH} + - TRIGger:B:VIDeo:SOUrce? + + **Info:** + - ``CH`` specifies the analog channel to use as the video trigger source waveform. + """ + + +class TriggerBVideoPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:VIDeo:POLarity`` command. + + **Description:** + - This command specifies the polarity for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:B:VIDeo:POLarity? + + **Info:** + - ``POSitive`` specifies a positive polarity for the video trigger. + - ``NEGative`` specifies a negative polarity for the video trigger. + """ + + +class TriggerBVideoLine(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:VIDeo:LINE`` command. + + **Description:** + - This command specifies the line number value for a video line number trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:LINE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:LINE + - TRIGger:B:VIDeo:LINE? + + **Info:** + - ```` is the line number to trigger on, which can range from 1 to 625. + """ + + +class TriggerBVideoField(SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:B:VIDeo:FIELD`` command. + + **Description:** + - This command specifies the trigger condition for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:FIELD value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:B:VIDeo:FIELD? + + **Info:** + - ``ALLLines`` specifies to trigger on all lines. + - ``NUMERic`` specifies to trigger on a particular line, which can be set via the + TRIGger:{A\|B}``:VIDeo:LINE`` command. + - ``ODD`` specifies to trigger on odd lines. + - ``EVEN`` specifies to trigger on even lines. + - ``ALLFields`` specifies to trigger on any video field. + """ + + +class TriggerBVideo(SCPICmdRead): + """The ``TRIGger:B:VIDeo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.field``: The ``TRIGger:B:VIDeo:FIELD`` command. + - ``.line``: The ``TRIGger:B:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:B:VIDeo:POLarity`` command. + - ``.source``: The ``TRIGger:B:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:B:VIDeo:STANdard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._field = TriggerBVideoField(device, f"{self._cmd_syntax}:FIELD") + self._line = TriggerBVideoLine(device, f"{self._cmd_syntax}:LINE") + self._polarity = TriggerBVideoPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = TriggerBVideoSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = TriggerBVideoStandard(device, f"{self._cmd_syntax}:STANdard") + + @property + def field(self) -> TriggerBVideoField: + r"""Return the ``TRIGger:B:VIDeo:FIELD`` command. + + **Description:** + - This command specifies the trigger condition for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:FIELD value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:B:VIDeo:FIELD? + + **Info:** + - ``ALLLines`` specifies to trigger on all lines. + - ``NUMERic`` specifies to trigger on a particular line, which can be set via the + TRIGger:{A\|B}``:VIDeo:LINE`` command. + - ``ODD`` specifies to trigger on odd lines. + - ``EVEN`` specifies to trigger on even lines. + - ``ALLFields`` specifies to trigger on any video field. + """ + return self._field + + @property + def line(self) -> TriggerBVideoLine: + """Return the ``TRIGger:B:VIDeo:LINE`` command. + + **Description:** + - This command specifies the line number value for a video line number trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:LINE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:LINE + - TRIGger:B:VIDeo:LINE? + + **Info:** + - ```` is the line number to trigger on, which can range from 1 to 625. + """ + return self._line + + @property + def polarity(self) -> TriggerBVideoPolarity: + """Return the ``TRIGger:B:VIDeo:POLarity`` command. + + **Description:** + - This command specifies the polarity for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:B:VIDeo:POLarity? + + **Info:** + - ``POSitive`` specifies a positive polarity for the video trigger. + - ``NEGative`` specifies a negative polarity for the video trigger. + """ + return self._polarity + + @property + def source(self) -> TriggerBVideoSource: + """Return the ``TRIGger:B:VIDeo:SOUrce`` command. + + **Description:** + - This command specifies the source waveform for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:SOUrce {CH} + - TRIGger:B:VIDeo:SOUrce? + + **Info:** + - ``CH`` specifies the analog channel to use as the video trigger source waveform. + """ + return self._source + + @property + def standard(self) -> TriggerBVideoStandard: + """Return the ``TRIGger:B:VIDeo:STANdard`` command. + + **Description:** + - This command specifies the standard/format for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo:STANdard?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:B:VIDeo:STANdard? + + **Info:** + - ``NTSc`` specifies 525i/NTSC as the video standard. + - ``PAL`` specifies 625i/PAL as the video standard. + - ``SECAM`` specifies SECAM as the video standard. + """ + return self._standard + + class TriggerBUpperthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): """The ``TRIGger:B:UPPerthreshold:CH`` command. @@ -7938,7 +8273,7 @@ def data(self) -> TriggerBBusBItemSpiData: return self._data -class TriggerBBusBItemSentSlowIdentifierValue(SCPICmdWrite): +class TriggerBBusBItemSentSlowIdentifierValue(SCPICmdWrite, SCPICmdRead): """The ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue`` command. **Description:** @@ -7946,6 +8281,11 @@ class TriggerBBusBItemSentSlowIdentifierValue(SCPICmdWrite): data. **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue value`` command. @@ -7954,6 +8294,7 @@ class TriggerBBusBItemSentSlowIdentifierValue(SCPICmdWrite): :: - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue? **Info:** - ``B`` is the bus identifier number. @@ -7991,6 +8332,11 @@ def value(self) -> TriggerBBusBItemSentSlowIdentifierValue: bus data. **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue value`` command. @@ -7999,6 +8345,7 @@ def value(self) -> TriggerBBusBItemSentSlowIdentifierValue: :: - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:B:BUS:B:SENT:SLOW:IDentifier:VALue? **Info:** - ``B`` is the bus identifier number. @@ -12534,7 +12881,7 @@ class TriggerBBusBItemI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): :: - - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket? **Info:** @@ -12558,6 +12905,13 @@ class TriggerBBusBItemI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): - ``MDATASpeed`` sets the trigger condition to Get Max Data Speed. - ``HDRCapability`` sets the trigger condition to Get HDR Capability. - ``GETXTime`` sets the trigger condition to Get Exchange Time. + - ``GETCAPS`` sets the trigger condition to Get Optional Feature Capabilities. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. """ # noqa: E501 @@ -12581,7 +12935,7 @@ class TriggerBBusBItemI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): :: - - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket? **Info:** @@ -12596,6 +12950,13 @@ class TriggerBBusBItemI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): - ``ENTRTSTMode`` sets the trigger condition to Enter Test Mode. - ``EXTime`` sets the trigger condition to Set Exchange Time. - ``SETaasa`` sets the trigger condition to Set Static As Dynamic Address. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. + - ``SETBUSCON`` sets the trigger condition to Set Bus Context. """ # noqa: E501 @@ -12642,7 +13003,7 @@ def broadcastpacket(self) -> TriggerBBusBItemI3cSdrBroadcastpacket: :: - - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:B:BUS:B:I3C:SDR:BROADCASTPacket? **Info:** @@ -12657,6 +13018,13 @@ def broadcastpacket(self) -> TriggerBBusBItemI3cSdrBroadcastpacket: - ``ENTRTSTMode`` sets the trigger condition to Enter Test Mode. - ``EXTime`` sets the trigger condition to Set Exchange Time. - ``SETaasa`` sets the trigger condition to Set Static As Dynamic Address. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. + - ``SETBUSCON`` sets the trigger condition to Set Bus Context. """ # noqa: E501 return self._broadcastpacket @@ -12681,7 +13049,7 @@ def directpacket(self) -> TriggerBBusBItemI3cSdrDirectpacket: :: - - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:B:BUS:B:I3C:SDR:DIRECTPacket? **Info:** @@ -12705,6 +13073,13 @@ def directpacket(self) -> TriggerBBusBItemI3cSdrDirectpacket: - ``MDATASpeed`` sets the trigger condition to Get Max Data Speed. - ``HDRCapability`` sets the trigger condition to Get HDR Capability. - ``GETXTime`` sets the trigger condition to Get Exchange Time. + - ``GETCAPS`` sets the trigger condition to Get Optional Feature Capabilities. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. """ # noqa: E501 return self._directpacket @@ -19827,7 +20202,7 @@ def source(self) -> TriggerBBusSource: return self._source -# pylint: disable=too-many-instance-attributes +# pylint: disable=too-many-instance-attributes,too-many-public-methods class TriggerB(SCPICmdWrite, SCPICmdRead): """The ``TRIGger:B`` command tree. @@ -19856,6 +20231,7 @@ class TriggerB(SCPICmdWrite, SCPICmdRead): - ``.transition``: The ``TRIGger:B:TRANsition`` command tree. - ``.type``: The ``TRIGger:B:TYPe`` command. - ``.upperthreshold``: The ``TRIGger:B:UPPerthreshold`` command tree. + - ``.video``: The ``TRIGger:B:VIDeo`` command tree. - ``.window``: The ``TRIGger:B:WINdow`` command tree. """ @@ -19882,6 +20258,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._transition = TriggerBTransition(device, f"{self._cmd_syntax}:TRANsition") self._type = TriggerBType(device, f"{self._cmd_syntax}:TYPe") self._upperthreshold = TriggerBUpperthreshold(device, f"{self._cmd_syntax}:UPPerthreshold") + self._video = TriggerBVideo(device, f"{self._cmd_syntax}:VIDeo") self._window = TriggerBWindow(device, f"{self._cmd_syntax}:WINdow") @property @@ -20260,6 +20637,24 @@ def upperthreshold(self) -> TriggerBUpperthreshold: """ return self._upperthreshold + @property + def video(self) -> TriggerBVideo: + """Return the ``TRIGger:B:VIDeo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:VIDeo?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.field``: The ``TRIGger:B:VIDeo:FIELD`` command. + - ``.line``: The ``TRIGger:B:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:B:VIDeo:POLarity`` command. + - ``.source``: The ``TRIGger:B:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:B:VIDeo:STANdard`` command. + """ + return self._video + @property def window(self) -> TriggerBWindow: """Return the ``TRIGger:B:WINdow`` command tree. @@ -20306,7 +20701,7 @@ class TriggerAuxlevel(SCPICmdWrite, SCPICmdRead): """ -class TriggerAWindowWidth(SCPICmdWrite): +class TriggerAWindowWidth(SCPICmdWrite, SCPICmdRead): """The ``TRIGger:A:WINdow:WIDth`` command. **Description:** @@ -20315,6 +20710,9 @@ class TriggerAWindowWidth(SCPICmdWrite): Outside > Limit in the Trigger When box, and setting the Time Limit. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:WINdow:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:WINdow:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:WINdow:WIDth value`` command. **SCPI Syntax:** @@ -20322,6 +20720,7 @@ class TriggerAWindowWidth(SCPICmdWrite): :: - TRIGger:A:WINdow:WIDth + - TRIGger:A:WINdow:WIDth? **Info:** - ```` is the minimum width for a window violation. @@ -20412,7 +20811,7 @@ class TriggerAWindowLogicqualification(SCPICmdWrite, SCPICmdRead): """ -class TriggerAWindowCrossing(SCPICmdWrite): +class TriggerAWindowCrossing(SCPICmdWrite, SCPICmdRead): r"""The ``TRIGger:A:WINdow:CROSSIng`` command. **Description:** @@ -20421,6 +20820,9 @@ class TriggerAWindowCrossing(SCPICmdWrite): ``:TRIGger``:{A|B}``:WINdow:WHEn`` is INSIDEGreater or OUTSIDEGreater. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:WINdow:CROSSIng?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:WINdow:CROSSIng?`` query and + raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:WINdow:CROSSIng value`` command. @@ -20429,6 +20831,7 @@ class TriggerAWindowCrossing(SCPICmdWrite): :: - TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:A:WINdow:CROSSIng? **Info:** - ``UPPer`` if ``:TRIGger``:{A\|B}``:WINdow:WHEn`` is INSIDEGreater, the instrument triggers @@ -20498,6 +20901,9 @@ def crossing(self) -> TriggerAWindowCrossing: ``:TRIGger``:{A|B}``:WINdow:WHEn`` is INSIDEGreater or OUTSIDEGreater. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:WINdow:CROSSIng?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:WINdow:CROSSIng?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:WINdow:CROSSIng value`` command. @@ -20506,6 +20912,7 @@ def crossing(self) -> TriggerAWindowCrossing: :: - TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - TRIGger:A:WINdow:CROSSIng? **Info:** - ``UPPer`` if ``:TRIGger``:{A\|B}``:WINdow:WHEn`` is INSIDEGreater, the instrument @@ -20639,6 +21046,9 @@ def width(self) -> TriggerAWindowWidth: Outside > Limit in the Trigger When box, and setting the Time Limit. **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:WINdow:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:WINdow:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:WINdow:WIDth value`` command. @@ -20647,6 +21057,7 @@ def width(self) -> TriggerAWindowWidth: :: - TRIGger:A:WINdow:WIDth + - TRIGger:A:WINdow:WIDth? **Info:** - ```` is the minimum width for a window violation. @@ -20654,6 +21065,299 @@ def width(self) -> TriggerAWindowWidth: return self._width +class TriggerAVideoStandard(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:STANdard`` command. + + **Description:** + - This command specifies the standard/format for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:A:VIDeo:STANdard? + + **Info:** + - ``NTSc`` specifies 525i/NTSC as the video standard. + - ``PAL`` specifies 625i/PAL as the video standard. + - ``SECAM`` specifies SECAM as the video standard. + """ + + +class TriggerAVideoSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:SOUrce`` command. + + **Description:** + - This command specifies the source waveform for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SOUrce {CH} + - TRIGger:A:VIDeo:SOUrce? + + **Info:** + - ``CH`` specifies the analog channel to use as the video trigger source waveform. + """ + + +class TriggerAVideoPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:POLarity`` command. + + **Description:** + - This command specifies the polarity for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:A:VIDeo:POLarity? + + **Info:** + - ``POSitive`` specifies a positive polarity for the video trigger. + - ``NEGative`` specifies a negative polarity for the video trigger. + """ + + +class TriggerAVideoLine(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:LINE`` command. + + **Description:** + - This command specifies the line number value for a video line number trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:LINE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + + **Info:** + - ```` is the line number to trigger on, which can range from 1 to 625. + """ + + +class TriggerAVideoField(SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:A:VIDeo:FIELD`` command. + + **Description:** + - This command specifies the trigger condition for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:FIELD value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:A:VIDeo:FIELD? + + **Info:** + - ``ALLLines`` specifies to trigger on all lines. + - ``NUMERic`` specifies to trigger on a particular line, which can be set via the + TRIGger:{A\|B}``:VIDeo:LINE`` command. + - ``ODD`` specifies to trigger on odd lines. + - ``EVEN`` specifies to trigger on even lines. + - ``ALLFields`` specifies to trigger on any video field. + """ + + +class TriggerAVideo(SCPICmdRead): + """The ``TRIGger:A:VIDeo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.field``: The ``TRIGger:A:VIDeo:FIELD`` command. + - ``.line``: The ``TRIGger:A:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:A:VIDeo:POLarity`` command. + - ``.source``: The ``TRIGger:A:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:VIDeo:STANdard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._field = TriggerAVideoField(device, f"{self._cmd_syntax}:FIELD") + self._line = TriggerAVideoLine(device, f"{self._cmd_syntax}:LINE") + self._polarity = TriggerAVideoPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = TriggerAVideoSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = TriggerAVideoStandard(device, f"{self._cmd_syntax}:STANdard") + + @property + def field(self) -> TriggerAVideoField: + r"""Return the ``TRIGger:A:VIDeo:FIELD`` command. + + **Description:** + - This command specifies the trigger condition for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:FIELD value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:FIELD {ALLLines| NUMERic| ODD| EVEN| ALLFields} + - TRIGger:A:VIDeo:FIELD? + + **Info:** + - ``ALLLines`` specifies to trigger on all lines. + - ``NUMERic`` specifies to trigger on a particular line, which can be set via the + TRIGger:{A\|B}``:VIDeo:LINE`` command. + - ``ODD`` specifies to trigger on odd lines. + - ``EVEN`` specifies to trigger on even lines. + - ``ALLFields`` specifies to trigger on any video field. + """ + return self._field + + @property + def line(self) -> TriggerAVideoLine: + """Return the ``TRIGger:A:VIDeo:LINE`` command. + + **Description:** + - This command specifies the line number value for a video line number trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:LINE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + + **Info:** + - ```` is the line number to trigger on, which can range from 1 to 625. + """ + return self._line + + @property + def polarity(self) -> TriggerAVideoPolarity: + """Return the ``TRIGger:A:VIDeo:POLarity`` command. + + **Description:** + - This command specifies the polarity for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:POLarity {POSitive|NEGative} + - TRIGger:A:VIDeo:POLarity? + + **Info:** + - ``POSitive`` specifies a positive polarity for the video trigger. + - ``NEGative`` specifies a negative polarity for the video trigger. + """ + return self._polarity + + @property + def source(self) -> TriggerAVideoSource: + """Return the ``TRIGger:A:VIDeo:SOUrce`` command. + + **Description:** + - This command specifies the source waveform for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SOUrce {CH} + - TRIGger:A:VIDeo:SOUrce? + + **Info:** + - ``CH`` specifies the analog channel to use as the video trigger source waveform. + """ + return self._source + + @property + def standard(self) -> TriggerAVideoStandard: + """Return the ``TRIGger:A:VIDeo:STANdard`` command. + + **Description:** + - This command specifies the standard/format for a video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:STANdard {NTSc|PAL|SECAM} + - TRIGger:A:VIDeo:STANdard? + + **Info:** + - ``NTSc`` specifies 525i/NTSC as the video standard. + - ``PAL`` specifies 625i/PAL as the video standard. + - ``SECAM`` specifies SECAM as the video standard. + """ + return self._standard + + class TriggerAUpperthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): """The ``TRIGger:A:UPPerthreshold:CH`` command. @@ -26714,7 +27418,7 @@ def data(self) -> TriggerABusBItemSpiData: return self._data -class TriggerABusBItemSentSlowIdentifierValue(SCPICmdWrite): +class TriggerABusBItemSentSlowIdentifierValue(SCPICmdWrite, SCPICmdRead): """The ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue`` command. **Description:** @@ -26722,6 +27426,11 @@ class TriggerABusBItemSentSlowIdentifierValue(SCPICmdWrite): data. **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue value`` command. @@ -26730,6 +27439,7 @@ class TriggerABusBItemSentSlowIdentifierValue(SCPICmdWrite): :: - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue? **Info:** - ``B`` is the bus identifier number. @@ -26767,6 +27477,11 @@ def value(self) -> TriggerABusBItemSentSlowIdentifierValue: bus data. **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue value`` command. @@ -26775,6 +27490,7 @@ def value(self) -> TriggerABusBItemSentSlowIdentifierValue: :: - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue + - TRIGger:A:BUS:B:SENT:SLOW:IDentifier:VALue? **Info:** - ``B`` is the bus identifier number. @@ -31310,7 +32026,7 @@ class TriggerABusBItemI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): :: - - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket? **Info:** @@ -31334,6 +32050,13 @@ class TriggerABusBItemI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): - ``MDATASpeed`` sets the trigger condition to Get Max Data Speed. - ``HDRCapability`` sets the trigger condition to Get HDR Capability. - ``GETXTime`` sets the trigger condition to Get Exchange Time. + - ``GETCAPS`` sets the trigger condition to Get Optional Feature Capabilities. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. """ # noqa: E501 @@ -31357,7 +32080,7 @@ class TriggerABusBItemI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): :: - - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket? **Info:** @@ -31372,6 +32095,13 @@ class TriggerABusBItemI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): - ``ENTRTSTMode`` sets the trigger condition to Enter Test Mode. - ``EXTime`` sets the trigger condition to Set Exchange Time. - ``SETaasa`` sets the trigger condition to Set Static As Dynamic Address. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. + - ``SETBUSCON`` sets the trigger condition to Set Bus Context. """ # noqa: E501 @@ -31418,7 +32148,7 @@ def broadcastpacket(self) -> TriggerABusBItemI3cSdrBroadcastpacket: :: - - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa} + - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket {ENSLave| DISLave| ENTasx| RSTDya| ENTRDya| SETMwrl| SETMrdl| DLSLave| ENTRTSTMode| EXTime| SETaasa| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe| SETBUSCON} - TRIGger:A:BUS:B:I3C:SDR:BROADCASTPacket? **Info:** @@ -31433,6 +32163,13 @@ def broadcastpacket(self) -> TriggerABusBItemI3cSdrBroadcastpacket: - ``ENTRTSTMode`` sets the trigger condition to Enter Test Mode. - ``EXTime`` sets the trigger condition to Set Exchange Time. - ``SETaasa`` sets the trigger condition to Set Static As Dynamic Address. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. + - ``SETBUSCON`` sets the trigger condition to Set Bus Context. """ # noqa: E501 return self._broadcastpacket @@ -31457,7 +32194,7 @@ def directpacket(self) -> TriggerABusBItemI3cSdrDirectpacket: :: - - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime} + - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket {ENSLave| DISLave| ENTasx| RSTDya| SETMwrl| SETMrdl| SEText| SETDya| SETNdya| GETMWrl| GETMRdl| GETPrid| GETBusch| GETDevch| GETSlave| ACCM| SETBrt| MDATASpeed| HDRCapability| GETXTime| GETCAPS| ENDXFER| SETGRPa| RSTACT| DEFGRPa| RSTGRPa| MLANe} - TRIGger:A:BUS:B:I3C:SDR:DIRECTPacket? **Info:** @@ -31481,6 +32218,13 @@ def directpacket(self) -> TriggerABusBItemI3cSdrDirectpacket: - ``MDATASpeed`` sets the trigger condition to Get Max Data Speed. - ``HDRCapability`` sets the trigger condition to Get HDR Capability. - ``GETXTime`` sets the trigger condition to Get Exchange Time. + - ``GETCAPS`` sets the trigger condition to Get Optional Feature Capabilities. + - ``ENDXFER`` sets the trigger condition to Data Transfer Ending Procedure Control. + - ``SETGRPa`` sets the trigger condition to Set Group Address. + - ``RSTACT`` sets the trigger condition to Slave Reset Action. + - ``DEFGRPa`` sets the trigger condition to Define List of Group Addresses. + - ``RSTGRPa`` sets the trigger condition to Reset Group Address. + - ``MLANe`` sets the trigger condition to Multi-Lane Data Transfer Control. """ # noqa: E501 return self._directpacket @@ -38630,6 +39374,7 @@ class TriggerA(SCPICmdWrite, SCPICmdRead): - ``.transition``: The ``TRIGger:A:TRANsition`` command tree. - ``.type``: The ``TRIGger:A:TYPe`` command. - ``.upperthreshold``: The ``TRIGger:A:UPPerthreshold`` command tree. + - ``.video``: The ``TRIGger:A:VIDeo`` command tree. - ``.window``: The ``TRIGger:A:WINdow`` command tree. """ @@ -38656,6 +39401,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: self._transition = TriggerATransition(device, f"{self._cmd_syntax}:TRANsition") self._type = TriggerAType(device, f"{self._cmd_syntax}:TYPe") self._upperthreshold = TriggerAUpperthreshold(device, f"{self._cmd_syntax}:UPPerthreshold") + self._video = TriggerAVideo(device, f"{self._cmd_syntax}:VIDeo") self._window = TriggerAWindow(device, f"{self._cmd_syntax}:WINdow") @property @@ -38978,6 +39724,24 @@ def upperthreshold(self) -> TriggerAUpperthreshold: """ return self._upperthreshold + @property + def video(self) -> TriggerAVideo: + """Return the ``TRIGger:A:VIDeo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.field``: The ``TRIGger:A:VIDeo:FIELD`` command. + - ``.line``: The ``TRIGger:A:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:A:VIDeo:POLarity`` command. + - ``.source``: The ``TRIGger:A:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:VIDeo:STANdard`` command. + """ + return self._video + @property def window(self) -> TriggerAWindow: """Return the ``TRIGger:A:WINdow`` command tree. @@ -39127,6 +39891,7 @@ def a(self) -> TriggerA: - ``.transition``: The ``TRIGger:A:TRANsition`` command tree. - ``.type``: The ``TRIGger:A:TYPe`` command. - ``.upperthreshold``: The ``TRIGger:A:UPPerthreshold`` command tree. + - ``.video``: The ``TRIGger:A:VIDeo`` command tree. - ``.window``: The ``TRIGger:A:WINdow`` command tree. """ return self._a @@ -39160,6 +39925,7 @@ def b(self) -> TriggerB: - ``.transition``: The ``TRIGger:B:TRANsition`` command tree. - ``.type``: The ``TRIGger:B:TYPe`` command. - ``.upperthreshold``: The ``TRIGger:B:UPPerthreshold`` command tree. + - ``.video``: The ``TRIGger:B:VIDeo`` command tree. - ``.window``: The ``TRIGger:B:WINdow`` command tree. """ return self._b diff --git a/src/tm_devices/commands/_c3g63_lpdmso/visual.py b/src/tm_devices/commands/_c3g63_lpdmso/visual.py index 817bcd5a..aa7a2325 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/visual.py +++ b/src/tm_devices/commands/_c3g63_lpdmso/visual.py @@ -352,7 +352,8 @@ class VisualAreaItemSource(SCPICmdWrite, SCPICmdRead): **Info:** - ``Area`` specifies the integer number of a Visual Trigger area. - - ``CH1`` through CH8 sets the source channel number for the specified area. + - ``CH`` sets the source channel number for the specified area. The channel number is + specified by . """ @@ -885,7 +886,8 @@ def source(self) -> VisualAreaItemSource: **Info:** - ``Area`` specifies the integer number of a Visual Trigger area. - - ``CH1`` through CH8 sets the source channel number for the specified area. + - ``CH`` sets the source channel number for the specified area. The channel number is + specified by . """ return self._source diff --git a/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py b/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py index dc5c98f0..49900d24 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py +++ b/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py @@ -59,7 +59,7 @@ class FilesystemWritefile(SCPICmdWrite): - FILESystem:WRITEFile , **Info:** - - ```` is a quoted string that defines the file name and path. If the file path + - ```` is a quoted string that defines the file name and path. If the file path is within the current working directory, you need only specify the file name. - ```` is the specified block data to be written. """ @@ -1074,7 +1074,7 @@ def writefile(self) -> FilesystemWritefile: - FILESystem:WRITEFile , **Info:** - - ```` is a quoted string that defines the file name and path. If the file + - ```` is a quoted string that defines the file name and path. If the file path is within the current working directory, you need only specify the file name. - ```` is the specified block data to be written. """ diff --git a/src/tm_devices/commands/_canxny_daq/buffer.py b/src/tm_devices/commands/_canxny_daq/buffer.py index ff69019d..bd8c94b7 100644 --- a/src/tm_devices/commands/_canxny_daq/buffer.py +++ b/src/tm_devices/commands/_canxny_daq/buffer.py @@ -19,6 +19,8 @@ - buffer.getstats() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() - buffer.write.reading() """ from typing import Any, Dict, Optional, TYPE_CHECKING @@ -33,9 +35,63 @@ class BufferWrite(BaseTSPCmd): """The ``buffer.write`` command tree. Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + # pylint: disable=too-many-arguments def reading( self, @@ -173,6 +229,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_SCAN``: Scan. - ``.STAT_START_GROUP``: First reading in a group. - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -206,6 +267,7 @@ class Buffer(BaseTSPCmd): - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ @@ -337,6 +399,14 @@ class Buffer(BaseTSPCmd): """str: First reading in a group.""" STAT_TERMINAL = "buffer.STAT_TERMINAL" """str: Measure terminal, front is 1, rear is 0.""" + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -397,6 +467,7 @@ def write(self) -> BufferWrite: """Return the ``buffer.write`` command tree. Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. - ``.reading()``: The ``buffer.write.reading()`` function. """ return self._write @@ -583,7 +654,7 @@ def getstats( msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getstats()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -671,3 +742,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/display.py b/src/tm_devices/commands/_canxny_daq/display.py index 902da819..34d98a2d 100644 --- a/src/tm_devices/commands/_canxny_daq/display.py +++ b/src/tm_devices/commands/_canxny_daq/display.py @@ -222,6 +222,9 @@ class Display(BaseTSPCmd): - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -301,6 +304,12 @@ class Display(BaseTSPCmd): """str: Return if OK selected.""" BUTTON_YES = "display.BUTTON_YES" """str: Return if YES selected.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" FORMAT_EXPONENT = "display.FORMAT_EXPONENT" """str: Use exponent format to display measurement readings on the front-panel display of the instrument.""" diff --git a/src/tm_devices/commands/_canxny_daq/dmm.py b/src/tm_devices/commands/_canxny_daq/dmm.py index f129e233..0394768d 100644 --- a/src/tm_devices/commands/_canxny_daq/dmm.py +++ b/src/tm_devices/commands/_canxny_daq/dmm.py @@ -27,6 +27,12 @@ - dmm.digitize.displaydigits - dmm.digitize.func - dmm.digitize.inputimpedance + - dmm.digitize.limit[r].audible + - dmm.digitize.limit[r].autoclear + - dmm.digitize.limit[r].enable + - dmm.digitize.limit[r].fail + - dmm.digitize.limit[r].high.value + - dmm.digitize.limit[r].low.value - dmm.digitize.math.enable - dmm.digitize.math.format - dmm.digitize.math.mxb.bfactor @@ -73,6 +79,12 @@ - dmm.measure.func - dmm.measure.getattribute() - dmm.measure.inputimpedance + - dmm.measure.limit[r].audible + - dmm.measure.limit[r].autoclear + - dmm.measure.limit[r].enable + - dmm.measure.limit[r].fail + - dmm.measure.limit[r].high.value + - dmm.measure.limit[r].low.value - dmm.measure.linesync - dmm.measure.math.enable - dmm.measure.math.format @@ -111,7 +123,13 @@ """ from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, DefaultDictDeviceCommunication, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictDeviceCommunication, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -997,68 +1015,63 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error -class DmmMeasureFilter(BaseTSPCmd): - """The ``dmm.measure.filter`` command tree. +class DmmMeasureLimitItemLow(BaseTSPCmd): + """The ``dmm.measure.limit[r].low`` command tree. Properties/methods: - - ``.count``: The ``dmm.measure.filter.count`` attribute. - - ``.enable``: The ``dmm.measure.filter.enable`` attribute. - - ``.type``: The ``dmm.measure.filter.type`` attribute. - - ``.window``: The ``dmm.measure.filter.window`` attribute. + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. """ @property - def count(self) -> str: - """Access the ``dmm.measure.filter.count`` attribute. + def value(self) -> str: + """Access the ``dmm.measure.limit[r].low.value`` attribute. **Description:** - - This attribute sets the number of measurements that are averaged when filtering is - enabled. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.count)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.count = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.count = value - - print(dmm.measure.filter.count) + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".count" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.count)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @count.setter - def count(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.filter.count`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].low.value`` attribute. **Description:** - - This attribute sets the number of measurements that are averaged when filtering is - enabled. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.count)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.count = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.count = value - - print(dmm.measure.filter.count) + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1066,68 +1079,76 @@ def count(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".count", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.count = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class DmmMeasureLimitItemHigh(BaseTSPCmd): + """The ``dmm.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + @property - def enable(self) -> str: - """Access the ``dmm.measure.filter.enable`` attribute. + def value(self) -> str: + """Access the ``dmm.measure.limit[r].high.value`` attribute. **Description:** - - This attribute enables or disables the averaging filter for measurements of the - selected function. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.enable)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.enable = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.enable = value - - print(dmm.measure.filter.enable) + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.filter.enable`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].high.value`` attribute. **Description:** - - This attribute enables or disables the averaging filter for measurements of the - selected function. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.enable)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.enable = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.enable = value - - print(dmm.measure.filter.enable) + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1135,66 +1156,86 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class DmmMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``dmm.measure.limit[r]`` command tree. + + Properties/methods: + - ``.audible``: The ``dmm.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = DmmMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = DmmMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + @property - def type(self) -> str: - """Access the ``dmm.measure.filter.type`` attribute. + def audible(self) -> str: + """Access the ``dmm.measure.limit[r].audible`` attribute. **Description:** - - This attribute defines the type of averaging filter that is used for the selected - measure function when the measurement filter is enabled. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.type)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.type = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].audible = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.type = value - - print(dmm.measure.filter.type) + - dmm.measure.limit[r].audible = value + - print(dmm.measure.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._cmd_syntax + ".audible" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.audible)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @type.setter - def type(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.filter.type`` attribute. + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].audible`` attribute. **Description:** - - This attribute defines the type of averaging filter that is used for the selected - measure function when the measurement filter is enabled. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.type)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.type = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].audible)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].audible = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.type = value - - print(dmm.measure.filter.type) + - dmm.measure.limit[r].audible = value + - print(dmm.measure.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1202,66 +1243,68 @@ def type(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".type", value + self._cmd_syntax + ".audible", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.audible = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def window(self) -> str: - """Access the ``dmm.measure.filter.window`` attribute. + def autoclear(self) -> str: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. **Description:** - - This attribute sets the window for the averaging filter that is used for measurements - for the selected function. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.window)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.window = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.window = value - - print(dmm.measure.filter.window) + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".window" + return self._cmd_syntax + ".autoclear" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.window)" + f"print({self._cmd_syntax}.autoclear)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.window`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @window.setter - def window(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.filter.window`` attribute. + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. **Description:** - - This attribute sets the window for the averaging filter that is used for measurements - for the selected function. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.measure.filter.window)`` query. - - Setting this property to a value will send the ``dmm.measure.filter.window = value`` - command. + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - dmm.measure.filter.window = value - - print(dmm.measure.filter.window) + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1269,365 +1312,396 @@ def window(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".window", value + self._cmd_syntax + ".autoclear", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.window = {value}" + f"{self._cmd_syntax}.autoclear = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.window`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class DmmMeasureConfiglist(BaseTSPCmd): - """The ``dmm.measure.configlist`` command tree. - - Properties/methods: - - ``.catalog()``: The ``dmm.measure.configlist.catalog()`` function. - - ``.create()``: The ``dmm.measure.configlist.create()`` function. - - ``.delete()``: The ``dmm.measure.configlist.delete()`` function. - - ``.query()``: The ``dmm.measure.configlist.query()`` function. - - ``.recall()``: The ``dmm.measure.configlist.recall()`` function. - - ``.size()``: The ``dmm.measure.configlist.size()`` function. - - ``.store()``: The ``dmm.measure.configlist.store()`` function. - - ``.storefunc()``: The ``dmm.measure.configlist.storefunc()`` function. - """ - - def catalog(self) -> str: - """Run the ``dmm.measure.configlist.catalog()`` function. + @property + def enable(self) -> str: + """Access the ``dmm.measure.limit[r].enable`` attribute. **Description:** - - This function returns the name of one measure configuration list that is stored on the - instrument. + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.catalog() - - Returns: - The result of the function call. + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.catalog())" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.catalog()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def create(self, list_name: str) -> None: - """Run the ``dmm.measure.configlist.create()`` function. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].enable`` attribute. **Description:** - - This function creates an empty measure configuration list. + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.create() - - Args: - list_name: A string that represents the name of a measure configuration list. + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write( # type: ignore[union-attr] - f'{self._cmd_syntax}.create("{list_name}")' - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.create()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def delete(self, list_name: str, index: Optional[int] = None) -> None: - """Run the ``dmm.measure.configlist.delete()`` function. + @property + def fail(self) -> str: + """Access the ``dmm.measure.limit[r].fail`` attribute. **Description:** - - This function deletes a measure configuration list. + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].fail)`` query. **TSP Syntax:** :: - - dmm.measure.configlist.delete() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the - configuration list. + - print(dmm.measure.limit[r].fail) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.delete({function_args})" - ) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def query(self, list_name: str, index: int, field_separator: Optional[str] = None) -> str: - """Run the ``dmm.measure.configlist.query()`` function. + @property + def high(self) -> DmmMeasureLimitItemHigh: + """Return the ``dmm.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> DmmMeasureLimitItemLow: + """Return the ``dmm.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. + """ + return self._low + + +class DmmMeasureFilter(BaseTSPCmd): + """The ``dmm.measure.filter`` command tree. + + Properties/methods: + - ``.count``: The ``dmm.measure.filter.count`` attribute. + - ``.enable``: The ``dmm.measure.filter.enable`` attribute. + - ``.type``: The ``dmm.measure.filter.type`` attribute. + - ``.window``: The ``dmm.measure.filter.window`` attribute. + """ + + @property + def count(self) -> str: + """Access the ``dmm.measure.filter.count`` attribute. **Description:** - - This function returns a list of TSP commands and parameter settings that are stored in - the specified configuration index. + - This attribute sets the number of measurements that are averaged when filtering is + enabled. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.count)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.count = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.query() - - Args: - list_name: A string that represents the name of a measure configuration list. - index: A number that defines a specific configuration index in the configuration list. - field_separator (optional): String that represents the separator for the data; use one - of the following. - - Returns: - The result of the function call. + - dmm.measure.filter.count = value + - print(dmm.measure.filter.count) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, - f'"{field_separator}"' if field_separator is not None else None, - ) - if x is not None - ) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".count" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.query({function_args}))" + f"print({self._cmd_syntax}.count)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.query()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def recall(self, list_name: str, index: Optional[int] = None) -> None: - """Run the ``dmm.measure.configlist.recall()`` function. + @count.setter + def count(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.filter.count`` attribute. **Description:** - - This function recalls a configuration index in a measure configuration list. + - This attribute sets the number of measurements that are averaged when filtering is + enabled. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.count)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.count = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.recall() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the measure - configuration list. + - dmm.measure.filter.count = value + - print(dmm.measure.filter.count) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".count", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.count = {value}" ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.recall({function_args})" - ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def size(self, list_name: str) -> str: - """Run the ``dmm.measure.configlist.size()`` function. + @property + def enable(self) -> str: + """Access the ``dmm.measure.filter.enable`` attribute. **Description:** - - This function returns the size (number of configuration indexes) of a measure - configuration list. + - This attribute enables or disables the averaging filter for measurements of the + selected function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.enable)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.size() - - Args: - list_name: A string that represents the name of a measure configuration list. - - Returns: - The result of the function call. + - dmm.measure.filter.enable = value + - print(dmm.measure.filter.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f'print({self._cmd_syntax}.size("{list_name}"))' + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.size()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def store(self, list_name: str, index: Optional[int] = None) -> None: - """Run the ``dmm.measure.configlist.store()`` function. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.filter.enable`` attribute. **Description:** - - This function stores the active measure or digitize settings into the named - configuration list. + - This attribute enables or disables the averaging filter for measurements of the + selected function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.enable)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.store() - - Args: - list_name: A string that represents the name of a measure configuration list. - index (optional): A number that defines a specific configuration index in the - configuration list. + - dmm.measure.filter.enable = value + - print(dmm.measure.filter.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - index, + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.store({function_args})" - ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.store()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def storefunc(self, list_name: str, function: str, index: Optional[int] = None) -> None: - """Run the ``dmm.measure.configlist.storefunc()`` function. + @property + def type(self) -> str: + """Access the ``dmm.measure.filter.type`` attribute. **Description:** - - This function allows you to store the settings for a measure function into a measure - configuration list whether or not the function is active. + - This attribute defines the type of averaging filter that is used for the selected + measure function when the measurement filter is enabled. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.type)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.type = value`` + command. **TSP Syntax:** :: - - dmm.measure.configlist.storefunc() - - Args: - list_name: Name of the configuration list in which to store the function settings. - function: The measure function settings to save into the configuration list; see - Details. - index (optional): The number of the configuration list index in which to store the - settings. + - dmm.measure.filter.type = value + - print(dmm.measure.filter.type) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join( - str(x) - for x in ( - f'"{list_name}"', - function, - index, - ) - if x is not None - ) - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.storefunc({function_args})" - ) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".type" + return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.storefunc()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @type.setter + def type(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.filter.type`` attribute. + + **Description:** + - This attribute defines the type of averaging filter that is used for the selected + measure function when the measurement filter is enabled. -class DmmMeasureBias(BaseTSPCmd): - """The ``dmm.measure.bias`` command tree. + **Usage:** + - Accessing this property will send the ``print(dmm.measure.filter.type)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.type = value`` + command. - Properties/methods: - - ``.level``: The ``dmm.measure.bias.level`` attribute. - """ + **TSP Syntax:** + + :: + + - dmm.measure.filter.type = value + - print(dmm.measure.filter.type) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".type", value + ) + else: + self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error @property - def level(self) -> str: - """Access the ``dmm.measure.bias.level`` attribute. + def window(self) -> str: + """Access the ``dmm.measure.filter.window`` attribute. **Description:** - - This attribute selects the amount of current the instrument sources when it makes - measurements. + - This attribute sets the window for the averaging filter that is used for measurements + for the selected function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.bias.level)`` query. - - Setting this property to a value will send the ``dmm.measure.bias.level = value`` + - Accessing this property will send the ``print(dmm.measure.filter.window)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.window = value`` command. **TSP Syntax:** :: - - dmm.measure.bias.level = value - - print(dmm.measure.bias.level) + - dmm.measure.filter.window = value + - print(dmm.measure.filter.window) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".level" + return self._cmd_syntax + ".window" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.level)" + f"print({self._cmd_syntax}.window)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.window`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @level.setter - def level(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.bias.level`` attribute. + @window.setter + def window(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.filter.window`` attribute. **Description:** - - This attribute selects the amount of current the instrument sources when it makes - measurements. + - This attribute sets the window for the averaging filter that is used for measurements + for the selected function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.bias.level)`` query. - - Setting this property to a value will send the ``dmm.measure.bias.level = value`` + - Accessing this property will send the ``print(dmm.measure.filter.window)`` query. + - Setting this property to a value will send the ``dmm.measure.filter.window = value`` command. **TSP Syntax:** :: - - dmm.measure.bias.level = value - - print(dmm.measure.bias.level) + - dmm.measure.filter.window = value + - print(dmm.measure.filter.window) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1635,341 +1709,332 @@ def level(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".level", value + self._cmd_syntax + ".window", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.level = {value}" + f"{self._cmd_syntax}.window = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.window`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class DmmMeasureAutozero(BaseTSPCmd): - """The ``dmm.measure.autozero`` command tree. +class DmmMeasureConfiglist(BaseTSPCmd): + """The ``dmm.measure.configlist`` command tree. Properties/methods: - - ``.enable``: The ``dmm.measure.autozero.enable`` attribute. + - ``.catalog()``: The ``dmm.measure.configlist.catalog()`` function. + - ``.create()``: The ``dmm.measure.configlist.create()`` function. + - ``.delete()``: The ``dmm.measure.configlist.delete()`` function. + - ``.query()``: The ``dmm.measure.configlist.query()`` function. + - ``.recall()``: The ``dmm.measure.configlist.recall()`` function. + - ``.size()``: The ``dmm.measure.configlist.size()`` function. + - ``.store()``: The ``dmm.measure.configlist.store()`` function. + - ``.storefunc()``: The ``dmm.measure.configlist.storefunc()`` function. """ - @property - def enable(self) -> str: - """Access the ``dmm.measure.autozero.enable`` attribute. + def catalog(self) -> str: + """Run the ``dmm.measure.configlist.catalog()`` function. **Description:** - - This attribute enables or disables automatic updates to the internal reference - measurements (autozero) of the instrument. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.autozero.enable)`` query. - - Setting this property to a value will send the ``dmm.measure.autozero.enable = value`` - command. + - This function returns the name of one measure configuration list that is stored on the + instrument. **TSP Syntax:** :: - - dmm.measure.autozero.enable = value - - print(dmm.measure.autozero.enable) + - dmm.measure.configlist.catalog() + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.catalog())" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.catalog()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.autozero.enable`` attribute. + def create(self, list_name: str) -> None: + """Run the ``dmm.measure.configlist.create()`` function. **Description:** - - This attribute enables or disables automatic updates to the internal reference - measurements (autozero) of the instrument. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.autozero.enable)`` query. - - Setting this property to a value will send the ``dmm.measure.autozero.enable = value`` - command. + - This function creates an empty measure configuration list. **TSP Syntax:** :: - - dmm.measure.autozero.enable = value - - print(dmm.measure.autozero.enable) + - dmm.measure.configlist.create() + + Args: + list_name: A string that represents the name of a measure configuration list. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" - ) + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.create("{list_name}")' + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.create()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class DmmMeasureAnalogtriggerWindow(BaseTSPCmd): - """The ``dmm.measure.analogtrigger.window`` command tree. - - Properties/methods: - - ``.direction``: The ``dmm.measure.analogtrigger.window.direction`` attribute. - - ``.levelhigh``: The ``dmm.measure.analogtrigger.window.levelhigh`` attribute. - - ``.levellow``: The ``dmm.measure.analogtrigger.window.levellow`` attribute. - """ - - @property - def direction(self) -> str: - """Access the ``dmm.measure.analogtrigger.window.direction`` attribute. + def delete(self, list_name: str, index: Optional[int] = None) -> None: + """Run the ``dmm.measure.configlist.delete()`` function. **Description:** - - This attribute defines if the analog trigger occurs when the signal enters or leaves - the defined high and low analog signal level boundaries. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.direction)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.direction = value`` command. + - This function deletes a measure configuration list. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.direction = value - - print(dmm.measure.analogtrigger.window.direction) + - dmm.measure.configlist.delete() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the + configuration list. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".direction" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.direction)" + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.delete({function_args})" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.direction`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @direction.setter - def direction(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.window.direction`` attribute. + def query(self, list_name: str, index: int, field_separator: Optional[str] = None) -> str: + """Run the ``dmm.measure.configlist.query()`` function. **Description:** - - This attribute defines if the analog trigger occurs when the signal enters or leaves - the defined high and low analog signal level boundaries. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.direction)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.direction = value`` command. + - This function returns a list of TSP commands and parameter settings that are stored in + the specified configuration index. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.direction = value - - print(dmm.measure.analogtrigger.window.direction) + - dmm.measure.configlist.query() + + Args: + list_name: A string that represents the name of a measure configuration list. + index: A number that defines a specific configuration index in the configuration list. + field_separator (optional): String that represents the separator for the data; use one + of the following. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".direction", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.direction = {value}" + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + f'"{field_separator}"' if field_separator is not None else None, ) + if x is not None + ) + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.query({function_args}))" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.direction`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.query()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def levelhigh(self) -> str: - """Access the ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + def recall(self, list_name: str, index: Optional[int] = None) -> None: + """Run the ``dmm.measure.configlist.recall()`` function. **Description:** - - This attribute defines the upper boundary of the analog trigger window. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.levelhigh)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.levelhigh = value`` command. + - This function recalls a configuration index in a measure configuration list. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.levelhigh = value - - print(dmm.measure.analogtrigger.window.levelhigh) + - dmm.measure.configlist.recall() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the measure + configuration list. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".levelhigh" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.levelhigh)" + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.recall({function_args})" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levelhigh`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @levelhigh.setter - def levelhigh(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + def size(self, list_name: str) -> str: + """Run the ``dmm.measure.configlist.size()`` function. **Description:** - - This attribute defines the upper boundary of the analog trigger window. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.levelhigh)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.levelhigh = value`` command. + - This function returns the size (number of configuration indexes) of a measure + configuration list. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.levelhigh = value - - print(dmm.measure.analogtrigger.window.levelhigh) + - dmm.measure.configlist.size() + + Args: + list_name: A string that represents the name of a measure configuration list. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".levelhigh", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.levelhigh = {value}" - ) + return self._device.query( # type: ignore[union-attr] + f'print({self._cmd_syntax}.size("{list_name}"))' + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levelhigh`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.size()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def levellow(self) -> str: - """Access the ``dmm.measure.analogtrigger.window.levellow`` attribute. + def store(self, list_name: str, index: Optional[int] = None) -> None: + """Run the ``dmm.measure.configlist.store()`` function. **Description:** - - This attribute defines the lower boundary of the analog trigger window. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.levellow)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.levellow = value`` command. + - This function stores the active measure or digitize settings into the named + configuration list. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.levellow = value - - print(dmm.measure.analogtrigger.window.levellow) + - dmm.measure.configlist.store() + + Args: + list_name: A string that represents the name of a measure configuration list. + index (optional): A number that defines a specific configuration index in the + configuration list. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".levellow" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.levellow)" + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + index, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.store({function_args})" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levellow`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.store()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @levellow.setter - def levellow(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.window.levellow`` attribute. + def storefunc(self, list_name: str, function: str, index: Optional[int] = None) -> None: + """Run the ``dmm.measure.configlist.storefunc()`` function. **Description:** - - This attribute defines the lower boundary of the analog trigger window. - - **Usage:** - - Accessing this property will send the - ``print(dmm.measure.analogtrigger.window.levellow)`` query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.window.levellow = value`` command. + - This function allows you to store the settings for a measure function into a measure + configuration list whether or not the function is active. **TSP Syntax:** :: - - dmm.measure.analogtrigger.window.levellow = value - - print(dmm.measure.analogtrigger.window.levellow) + - dmm.measure.configlist.storefunc() + + Args: + list_name: Name of the configuration list in which to store the function settings. + function: The measure function settings to save into the configuration list; see + Details. + index (optional): The number of the configuration list index in which to store the + settings. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".levellow", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.levellow = {value}" + function_args = ", ".join( + str(x) + for x in ( + f'"{list_name}"', + function, + index, ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.storefunc({function_args})" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levellow`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.storefunc()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class DmmMeasureAnalogtriggerEdge(BaseTSPCmd): - """The ``dmm.measure.analogtrigger.edge`` command tree. +class DmmMeasureBias(BaseTSPCmd): + """The ``dmm.measure.bias`` command tree. Properties/methods: - - ``.level``: The ``dmm.measure.analogtrigger.edge.level`` attribute. - - ``.slope``: The ``dmm.measure.analogtrigger.edge.slope`` attribute. + - ``.level``: The ``dmm.measure.bias.level`` attribute. """ @property def level(self) -> str: - """Access the ``dmm.measure.analogtrigger.edge.level`` attribute. + """Access the ``dmm.measure.bias.level`` attribute. **Description:** - - This attribute defines the signal level that generates the analog trigger event for - the edge trigger mode. + - This attribute selects the amount of current the instrument sources when it makes + measurements. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.level)`` - query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.edge.level = value`` command. + - Accessing this property will send the ``print(dmm.measure.bias.level)`` query. + - Setting this property to a value will send the ``dmm.measure.bias.level = value`` + command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.edge.level = value - - print(dmm.measure.analogtrigger.edge.level) + - dmm.measure.bias.level = value + - print(dmm.measure.bias.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -1986,24 +2051,23 @@ def level(self) -> str: @level.setter def level(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.edge.level`` attribute. + """Access the ``dmm.measure.bias.level`` attribute. **Description:** - - This attribute defines the signal level that generates the analog trigger event for - the edge trigger mode. + - This attribute selects the amount of current the instrument sources when it makes + measurements. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.level)`` - query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.edge.level = value`` command. + - Accessing this property will send the ``print(dmm.measure.bias.level)`` query. + - Setting this property to a value will send the ``dmm.measure.bias.level = value`` + command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.edge.level = value - - print(dmm.measure.analogtrigger.edge.level) + - dmm.measure.bias.level = value + - print(dmm.measure.bias.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2021,58 +2085,66 @@ def level(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class DmmMeasureAutozero(BaseTSPCmd): + """The ``dmm.measure.autozero`` command tree. + + Properties/methods: + - ``.enable``: The ``dmm.measure.autozero.enable`` attribute. + """ + @property - def slope(self) -> str: - """Access the ``dmm.measure.analogtrigger.edge.slope`` attribute. + def enable(self) -> str: + """Access the ``dmm.measure.autozero.enable`` attribute. **Description:** - - This attribute defines the slope of the analog trigger edge. + - This attribute enables or disables automatic updates to the internal reference + measurements (autozero) of the instrument. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.slope)`` - query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.edge.slope = value`` command. + - Accessing this property will send the ``print(dmm.measure.autozero.enable)`` query. + - Setting this property to a value will send the ``dmm.measure.autozero.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.edge.slope = value - - print(dmm.measure.analogtrigger.edge.slope) + - dmm.measure.autozero.enable = value + - print(dmm.measure.autozero.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".slope" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.slope)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.slope`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @slope.setter - def slope(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.edge.slope`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.autozero.enable`` attribute. **Description:** - - This attribute defines the slope of the analog trigger edge. + - This attribute enables or disables automatic updates to the internal reference + measurements (autozero) of the instrument. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.slope)`` - query. - - Setting this property to a value will send the - ``dmm.measure.analogtrigger.edge.slope = value`` command. + - Accessing this property will send the ``print(dmm.measure.autozero.enable)`` query. + - Setting this property to a value will send the ``dmm.measure.autozero.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.edge.slope = value - - print(dmm.measure.analogtrigger.edge.slope) + - dmm.measure.autozero.enable = value + - print(dmm.measure.autozero.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2080,91 +2152,80 @@ def slope(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".slope", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.slope = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.slope`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class DmmMeasureAnalogtrigger(BaseTSPCmd): - """The ``dmm.measure.analogtrigger`` command tree. +class DmmMeasureAnalogtriggerWindow(BaseTSPCmd): + """The ``dmm.measure.analogtrigger.window`` command tree. Properties/methods: - - ``.edge``: The ``dmm.measure.analogtrigger.edge`` command tree. - - ``.mode``: The ``dmm.measure.analogtrigger.mode`` attribute. - - ``.window``: The ``dmm.measure.analogtrigger.window`` command tree. + - ``.direction``: The ``dmm.measure.analogtrigger.window.direction`` attribute. + - ``.levelhigh``: The ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + - ``.levellow``: The ``dmm.measure.analogtrigger.window.levellow`` attribute. """ - def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._edge = DmmMeasureAnalogtriggerEdge(device, f"{self._cmd_syntax}.edge") - self._window = DmmMeasureAnalogtriggerWindow(device, f"{self._cmd_syntax}.window") - - @property - def edge(self) -> DmmMeasureAnalogtriggerEdge: - """Return the ``dmm.measure.analogtrigger.edge`` command tree. - - Sub-properties/methods: - - ``.level``: The ``dmm.measure.analogtrigger.edge.level`` attribute. - - ``.slope``: The ``dmm.measure.analogtrigger.edge.slope`` attribute. - """ - return self._edge - @property - def mode(self) -> str: - """Access the ``dmm.measure.analogtrigger.mode`` attribute. + def direction(self) -> str: + """Access the ``dmm.measure.analogtrigger.window.direction`` attribute. **Description:** - - This attribute configures the type of signal behavior that can generate an analog - trigger event. + - This attribute defines if the analog trigger occurs when the signal enters or leaves + the defined high and low analog signal level boundaries. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.mode)`` query. + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.direction)`` query. - Setting this property to a value will send the - ``dmm.measure.analogtrigger.mode = value`` command. + ``dmm.measure.analogtrigger.window.direction = value`` command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.mode = value - - print(dmm.measure.analogtrigger.mode) + - dmm.measure.analogtrigger.window.direction = value + - print(dmm.measure.analogtrigger.window.direction) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._cmd_syntax + ".direction" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.direction)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.direction`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @mode.setter - def mode(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.analogtrigger.mode`` attribute. + @direction.setter + def direction(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.window.direction`` attribute. **Description:** - - This attribute configures the type of signal behavior that can generate an analog - trigger event. + - This attribute defines if the analog trigger occurs when the signal enters or leaves + the defined high and low analog signal level boundaries. **Usage:** - - Accessing this property will send the ``print(dmm.measure.analogtrigger.mode)`` query. + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.direction)`` query. - Setting this property to a value will send the - ``dmm.measure.analogtrigger.mode = value`` command. + ``dmm.measure.analogtrigger.window.direction = value`` command. **TSP Syntax:** :: - - dmm.measure.analogtrigger.mode = value - - print(dmm.measure.analogtrigger.mode) + - dmm.measure.analogtrigger.window.direction = value + - print(dmm.measure.analogtrigger.window.direction) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2172,157 +2233,846 @@ def mode(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".mode", value + self._cmd_syntax + ".direction", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.direction = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.direction`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def window(self) -> DmmMeasureAnalogtriggerWindow: - """Return the ``dmm.measure.analogtrigger.window`` command tree. - - Sub-properties/methods: - - ``.direction``: The ``dmm.measure.analogtrigger.window.direction`` attribute. - - ``.levelhigh``: The ``dmm.measure.analogtrigger.window.levelhigh`` attribute. - - ``.levellow``: The ``dmm.measure.analogtrigger.window.levellow`` attribute. - """ - return self._window + def levelhigh(self) -> str: + """Access the ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + **Description:** + - This attribute defines the upper boundary of the analog trigger window. -# pylint: disable=too-many-instance-attributes,too-many-public-methods -class DmmMeasure(BaseTSPCmd): + **Usage:** + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.levelhigh)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.window.levelhigh = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.window.levelhigh = value + - print(dmm.measure.analogtrigger.window.levelhigh) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".levelhigh" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.levelhigh)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levelhigh`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @levelhigh.setter + def levelhigh(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + + **Description:** + - This attribute defines the upper boundary of the analog trigger window. + + **Usage:** + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.levelhigh)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.window.levelhigh = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.window.levelhigh = value + - print(dmm.measure.analogtrigger.window.levelhigh) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".levelhigh", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.levelhigh = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levelhigh`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def levellow(self) -> str: + """Access the ``dmm.measure.analogtrigger.window.levellow`` attribute. + + **Description:** + - This attribute defines the lower boundary of the analog trigger window. + + **Usage:** + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.levellow)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.window.levellow = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.window.levellow = value + - print(dmm.measure.analogtrigger.window.levellow) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".levellow" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.levellow)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levellow`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @levellow.setter + def levellow(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.window.levellow`` attribute. + + **Description:** + - This attribute defines the lower boundary of the analog trigger window. + + **Usage:** + - Accessing this property will send the + ``print(dmm.measure.analogtrigger.window.levellow)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.window.levellow = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.window.levellow = value + - print(dmm.measure.analogtrigger.window.levellow) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".levellow", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.levellow = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.levellow`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureAnalogtriggerEdge(BaseTSPCmd): + """The ``dmm.measure.analogtrigger.edge`` command tree. + + Properties/methods: + - ``.level``: The ``dmm.measure.analogtrigger.edge.level`` attribute. + - ``.slope``: The ``dmm.measure.analogtrigger.edge.slope`` attribute. + """ + + @property + def level(self) -> str: + """Access the ``dmm.measure.analogtrigger.edge.level`` attribute. + + **Description:** + - This attribute defines the signal level that generates the analog trigger event for + the edge trigger mode. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.level)`` + query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.edge.level = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.edge.level = value + - print(dmm.measure.analogtrigger.edge.level) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".level" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.level)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @level.setter + def level(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.edge.level`` attribute. + + **Description:** + - This attribute defines the signal level that generates the analog trigger event for + the edge trigger mode. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.level)`` + query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.edge.level = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.edge.level = value + - print(dmm.measure.analogtrigger.edge.level) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".level", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.level = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def slope(self) -> str: + """Access the ``dmm.measure.analogtrigger.edge.slope`` attribute. + + **Description:** + - This attribute defines the slope of the analog trigger edge. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.slope)`` + query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.edge.slope = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.edge.slope = value + - print(dmm.measure.analogtrigger.edge.slope) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".slope" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.slope)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.slope`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @slope.setter + def slope(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.edge.slope`` attribute. + + **Description:** + - This attribute defines the slope of the analog trigger edge. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.edge.slope)`` + query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.edge.slope = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.edge.slope = value + - print(dmm.measure.analogtrigger.edge.slope) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".slope", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.slope = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.slope`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureAnalogtrigger(BaseTSPCmd): + """The ``dmm.measure.analogtrigger`` command tree. + + Properties/methods: + - ``.edge``: The ``dmm.measure.analogtrigger.edge`` command tree. + - ``.mode``: The ``dmm.measure.analogtrigger.mode`` attribute. + - ``.window``: The ``dmm.measure.analogtrigger.window`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = DmmMeasureAnalogtriggerEdge(device, f"{self._cmd_syntax}.edge") + self._window = DmmMeasureAnalogtriggerWindow(device, f"{self._cmd_syntax}.window") + + @property + def edge(self) -> DmmMeasureAnalogtriggerEdge: + """Return the ``dmm.measure.analogtrigger.edge`` command tree. + + Sub-properties/methods: + - ``.level``: The ``dmm.measure.analogtrigger.edge.level`` attribute. + - ``.slope``: The ``dmm.measure.analogtrigger.edge.slope`` attribute. + """ + return self._edge + + @property + def mode(self) -> str: + """Access the ``dmm.measure.analogtrigger.mode`` attribute. + + **Description:** + - This attribute configures the type of signal behavior that can generate an analog + trigger event. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.mode)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.mode = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.mode = value + - print(dmm.measure.analogtrigger.mode) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".mode" + return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @mode.setter + def mode(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.analogtrigger.mode`` attribute. + + **Description:** + - This attribute configures the type of signal behavior that can generate an analog + trigger event. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.analogtrigger.mode)`` query. + - Setting this property to a value will send the + ``dmm.measure.analogtrigger.mode = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.analogtrigger.mode = value + - print(dmm.measure.analogtrigger.mode) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".mode", value + ) + else: + self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def window(self) -> DmmMeasureAnalogtriggerWindow: + """Return the ``dmm.measure.analogtrigger.window`` command tree. + + Sub-properties/methods: + - ``.direction``: The ``dmm.measure.analogtrigger.window.direction`` attribute. + - ``.levelhigh``: The ``dmm.measure.analogtrigger.window.levelhigh`` attribute. + - ``.levellow``: The ``dmm.measure.analogtrigger.window.levellow`` attribute. + """ + return self._window + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class DmmMeasure(BaseTSPCmd): """The ``dmm.measure`` command tree. - Properties/methods: - - ``.analogtrigger``: The ``dmm.measure.analogtrigger`` command tree. - - ``.aperture``: The ``dmm.measure.aperture`` attribute. - - ``.autodelay``: The ``dmm.measure.autodelay`` attribute. - - ``.autorange``: The ``dmm.measure.autorange`` attribute. - - ``.autozero``: The ``dmm.measure.autozero`` command tree. - - ``.bias``: The ``dmm.measure.bias`` command tree. - - ``.configlist``: The ``dmm.measure.configlist`` command tree. - - ``.count``: The ``dmm.measure.count`` attribute. - - ``.dbmreference``: The ``dmm.measure.dbmreference`` attribute. - - ``.dbreference``: The ``dmm.measure.dbreference`` attribute. - - ``.detectorbandwidth``: The ``dmm.measure.detectorbandwidth`` attribute. - - ``.displaydigits``: The ``dmm.measure.displaydigits`` attribute. - - ``.filter``: The ``dmm.measure.filter`` command tree. - - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. - - ``.func``: The ``dmm.measure.func`` attribute. - - ``.getattribute()``: The ``dmm.measure.getattribute()`` function. - - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. - - ``.linesync``: The ``dmm.measure.linesync`` attribute. - - ``.math``: The ``dmm.measure.math`` command tree. - - ``.nplc``: The ``dmm.measure.nplc`` attribute. - - ``.offsetcompensation``: The ``dmm.measure.offsetcompensation`` command tree. - - ``.opendetector``: The ``dmm.measure.opendetector`` attribute. - - ``.range``: The ``dmm.measure.range`` attribute. - - ``.read()``: The ``dmm.measure.read()`` function. - - ``.readwithtime()``: The ``dmm.measure.readwithtime()`` function. - - ``.refjunction``: The ``dmm.measure.refjunction`` attribute. - - ``.rel``: The ``dmm.measure.rel`` command tree. - - ``.rtdalpha``: The ``dmm.measure.rtdalpha`` attribute. - - ``.rtdbeta``: The ``dmm.measure.rtdbeta`` attribute. - - ``.rtddelta``: The ``dmm.measure.rtddelta`` attribute. - - ``.rtdzero``: The ``dmm.measure.rtdzero`` attribute. - - ``.sense``: The ``dmm.measure.sense`` command tree. - - ``.setattribute()``: The ``dmm.measure.setattribute()`` function. - - ``.simreftemperature``: The ``dmm.measure.simreftemperature`` attribute. - - ``.thermistor``: The ``dmm.measure.thermistor`` attribute. - - ``.thermocouple``: The ``dmm.measure.thermocouple`` attribute. - - ``.threertd``: The ``dmm.measure.threertd`` attribute. - - ``.threshold``: The ``dmm.measure.threshold`` command tree. - - ``.transducer``: The ``dmm.measure.transducer`` attribute. - - ``.twortd``: The ``dmm.measure.twortd`` attribute. - - ``.unit``: The ``dmm.measure.unit`` attribute. - - ``.userdelay``: The ``dmm.measure.userdelay[N]`` attribute. - """ + Properties/methods: + - ``.analogtrigger``: The ``dmm.measure.analogtrigger`` command tree. + - ``.aperture``: The ``dmm.measure.aperture`` attribute. + - ``.autodelay``: The ``dmm.measure.autodelay`` attribute. + - ``.autorange``: The ``dmm.measure.autorange`` attribute. + - ``.autozero``: The ``dmm.measure.autozero`` command tree. + - ``.bias``: The ``dmm.measure.bias`` command tree. + - ``.configlist``: The ``dmm.measure.configlist`` command tree. + - ``.count``: The ``dmm.measure.count`` attribute. + - ``.dbmreference``: The ``dmm.measure.dbmreference`` attribute. + - ``.dbreference``: The ``dmm.measure.dbreference`` attribute. + - ``.detectorbandwidth``: The ``dmm.measure.detectorbandwidth`` attribute. + - ``.displaydigits``: The ``dmm.measure.displaydigits`` attribute. + - ``.filter``: The ``dmm.measure.filter`` command tree. + - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. + - ``.func``: The ``dmm.measure.func`` attribute. + - ``.getattribute()``: The ``dmm.measure.getattribute()`` function. + - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. + - ``.linesync``: The ``dmm.measure.linesync`` attribute. + - ``.math``: The ``dmm.measure.math`` command tree. + - ``.nplc``: The ``dmm.measure.nplc`` attribute. + - ``.offsetcompensation``: The ``dmm.measure.offsetcompensation`` command tree. + - ``.opendetector``: The ``dmm.measure.opendetector`` attribute. + - ``.range``: The ``dmm.measure.range`` attribute. + - ``.read()``: The ``dmm.measure.read()`` function. + - ``.readwithtime()``: The ``dmm.measure.readwithtime()`` function. + - ``.refjunction``: The ``dmm.measure.refjunction`` attribute. + - ``.rel``: The ``dmm.measure.rel`` command tree. + - ``.rtdalpha``: The ``dmm.measure.rtdalpha`` attribute. + - ``.rtdbeta``: The ``dmm.measure.rtdbeta`` attribute. + - ``.rtddelta``: The ``dmm.measure.rtddelta`` attribute. + - ``.rtdzero``: The ``dmm.measure.rtdzero`` attribute. + - ``.sense``: The ``dmm.measure.sense`` command tree. + - ``.setattribute()``: The ``dmm.measure.setattribute()`` function. + - ``.simreftemperature``: The ``dmm.measure.simreftemperature`` attribute. + - ``.thermistor``: The ``dmm.measure.thermistor`` attribute. + - ``.thermocouple``: The ``dmm.measure.thermocouple`` attribute. + - ``.threertd``: The ``dmm.measure.threertd`` attribute. + - ``.threshold``: The ``dmm.measure.threshold`` command tree. + - ``.transducer``: The ``dmm.measure.transducer`` attribute. + - ``.twortd``: The ``dmm.measure.twortd`` attribute. + - ``.unit``: The ``dmm.measure.unit`` attribute. + - ``.userdelay``: The ``dmm.measure.userdelay[N]`` attribute. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._analogtrigger = DmmMeasureAnalogtrigger(device, f"{self._cmd_syntax}.analogtrigger") + self._autozero = DmmMeasureAutozero(device, f"{self._cmd_syntax}.autozero") + self._bias = DmmMeasureBias(device, f"{self._cmd_syntax}.bias") + self._configlist = DmmMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") + self._filter = DmmMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, DmmMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: DmmMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) + self._math = DmmMeasureMath(device, f"{self._cmd_syntax}.math") + self._offsetcompensation = DmmMeasureOffsetcompensation( + device, f"{self._cmd_syntax}.offsetcompensation" + ) + self._rel = DmmMeasureRel(device, f"{self._cmd_syntax}.rel") + self._sense = DmmMeasureSense(device, f"{self._cmd_syntax}.sense") + self._threshold = DmmMeasureThreshold(device, f"{self._cmd_syntax}.threshold") + self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( + cmd_syntax=f"{self._cmd_syntax}.userdelay[{{key}}]", + write_syntax=f"{self._cmd_syntax}.userdelay[{{key}}] = ", + query_syntax=f"print({self._cmd_syntax}.userdelay[{{key}}])", + device=self._device, + ) + + @property + def analogtrigger(self) -> DmmMeasureAnalogtrigger: + """Return the ``dmm.measure.analogtrigger`` command tree. + + Sub-properties/methods: + - ``.edge``: The ``dmm.measure.analogtrigger.edge`` command tree. + - ``.mode``: The ``dmm.measure.analogtrigger.mode`` attribute. + - ``.window``: The ``dmm.measure.analogtrigger.window`` command tree. + """ + return self._analogtrigger + + @property + def aperture(self) -> str: + """Access the ``dmm.measure.aperture`` attribute. + + **Description:** + - This function determines the aperture setting for the selected function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.aperture)`` query. + - Setting this property to a value will send the ``dmm.measure.aperture = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.aperture = value + - print(dmm.measure.aperture) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".aperture" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.aperture)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.aperture`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @aperture.setter + def aperture(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.aperture`` attribute. + + **Description:** + - This function determines the aperture setting for the selected function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.aperture)`` query. + - Setting this property to a value will send the ``dmm.measure.aperture = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.aperture = value + - print(dmm.measure.aperture) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".aperture", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.aperture = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.aperture`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autodelay(self) -> str: + """Access the ``dmm.measure.autodelay`` attribute. + + **Description:** + - This attribute enables or disables the automatic delay that occurs before each + measurement. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.autodelay)`` query. + - Setting this property to a value will send the ``dmm.measure.autodelay = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.autodelay = value + - print(dmm.measure.autodelay) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autodelay" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autodelay)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autodelay`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autodelay.setter + def autodelay(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.autodelay`` attribute. - def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._analogtrigger = DmmMeasureAnalogtrigger(device, f"{self._cmd_syntax}.analogtrigger") - self._autozero = DmmMeasureAutozero(device, f"{self._cmd_syntax}.autozero") - self._bias = DmmMeasureBias(device, f"{self._cmd_syntax}.bias") - self._configlist = DmmMeasureConfiglist(device, f"{self._cmd_syntax}.configlist") - self._filter = DmmMeasureFilter(device, f"{self._cmd_syntax}.filter") - self._math = DmmMeasureMath(device, f"{self._cmd_syntax}.math") - self._offsetcompensation = DmmMeasureOffsetcompensation( - device, f"{self._cmd_syntax}.offsetcompensation" - ) - self._rel = DmmMeasureRel(device, f"{self._cmd_syntax}.rel") - self._sense = DmmMeasureSense(device, f"{self._cmd_syntax}.sense") - self._threshold = DmmMeasureThreshold(device, f"{self._cmd_syntax}.threshold") - self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( - cmd_syntax=f"{self._cmd_syntax}.userdelay[{{key}}]", - write_syntax=f"{self._cmd_syntax}.userdelay[{{key}}] = ", - query_syntax=f"print({self._cmd_syntax}.userdelay[{{key}}])", - device=self._device, - ) + **Description:** + - This attribute enables or disables the automatic delay that occurs before each + measurement. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.autodelay)`` query. + - Setting this property to a value will send the ``dmm.measure.autodelay = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.autodelay = value + - print(dmm.measure.autodelay) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autodelay", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autodelay = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autodelay`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error @property - def analogtrigger(self) -> DmmMeasureAnalogtrigger: - """Return the ``dmm.measure.analogtrigger`` command tree. + def autorange(self) -> str: + """Access the ``dmm.measure.autorange`` attribute. + + **Description:** + - This attribute determines if the measurement range is set manually or automatically + for the selected measure function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.autorange)`` query. + - Setting this property to a value will send the ``dmm.measure.autorange = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.autorange = value + - print(dmm.measure.autorange) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autorange" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autorange)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autorange.setter + def autorange(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.autorange`` attribute. + + **Description:** + - This attribute determines if the measurement range is set manually or automatically + for the selected measure function. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.autorange)`` query. + - Setting this property to a value will send the ``dmm.measure.autorange = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.autorange = value + - print(dmm.measure.autorange) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autorange", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autorange = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def autozero(self) -> DmmMeasureAutozero: + """Return the ``dmm.measure.autozero`` command tree. Sub-properties/methods: - - ``.edge``: The ``dmm.measure.analogtrigger.edge`` command tree. - - ``.mode``: The ``dmm.measure.analogtrigger.mode`` attribute. - - ``.window``: The ``dmm.measure.analogtrigger.window`` command tree. + - ``.enable``: The ``dmm.measure.autozero.enable`` attribute. + """ + return self._autozero + + @property + def bias(self) -> DmmMeasureBias: + """Return the ``dmm.measure.bias`` command tree. + + Sub-properties/methods: + - ``.level``: The ``dmm.measure.bias.level`` attribute. + """ + return self._bias + + @property + def configlist(self) -> DmmMeasureConfiglist: + """Return the ``dmm.measure.configlist`` command tree. + + Sub-properties/methods: + - ``.catalog()``: The ``dmm.measure.configlist.catalog()`` function. + - ``.create()``: The ``dmm.measure.configlist.create()`` function. + - ``.delete()``: The ``dmm.measure.configlist.delete()`` function. + - ``.query()``: The ``dmm.measure.configlist.query()`` function. + - ``.recall()``: The ``dmm.measure.configlist.recall()`` function. + - ``.size()``: The ``dmm.measure.configlist.size()`` function. + - ``.store()``: The ``dmm.measure.configlist.store()`` function. + - ``.storefunc()``: The ``dmm.measure.configlist.storefunc()`` function. + """ + return self._configlist + + @property + def count(self) -> str: + """Access the ``dmm.measure.count`` attribute. + + **Description:** + - This attribute sets the number of measurements to make when a measurement is + requested. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.count)`` query. + - Setting this property to a value will send the ``dmm.measure.count = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.count = value + - print(dmm.measure.count) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".count" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.count)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @count.setter + def count(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.count`` attribute. + + **Description:** + - This attribute sets the number of measurements to make when a measurement is + requested. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.count)`` query. + - Setting this property to a value will send the ``dmm.measure.count = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.count = value + - print(dmm.measure.count) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._analogtrigger + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".count", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.count = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error @property - def aperture(self) -> str: - """Access the ``dmm.measure.aperture`` attribute. + def dbmreference(self) -> str: + """Access the ``dmm.measure.dbmreference`` attribute. **Description:** - - This function determines the aperture setting for the selected function. + - This attribute defines the decibel-milliwatts (dBm) reference. **Usage:** - - Accessing this property will send the ``print(dmm.measure.aperture)`` query. - - Setting this property to a value will send the ``dmm.measure.aperture = value`` + - Accessing this property will send the ``print(dmm.measure.dbmreference)`` query. + - Setting this property to a value will send the ``dmm.measure.dbmreference = value`` command. **TSP Syntax:** :: - - dmm.measure.aperture = value - - print(dmm.measure.aperture) + - dmm.measure.dbmreference = value + - print(dmm.measure.dbmreference) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".aperture" + return self._cmd_syntax + ".dbmreference" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.aperture)" + f"print({self._cmd_syntax}.dbmreference)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.aperture`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbmreference`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @aperture.setter - def aperture(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.aperture`` attribute. + @dbmreference.setter + def dbmreference(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.dbmreference`` attribute. **Description:** - - This function determines the aperture setting for the selected function. + - This attribute defines the decibel-milliwatts (dBm) reference. **Usage:** - - Accessing this property will send the ``print(dmm.measure.aperture)`` query. - - Setting this property to a value will send the ``dmm.measure.aperture = value`` + - Accessing this property will send the ``print(dmm.measure.dbmreference)`` query. + - Setting this property to a value will send the ``dmm.measure.dbmreference = value`` command. **TSP Syntax:** :: - - dmm.measure.aperture = value - - print(dmm.measure.aperture) + - dmm.measure.dbmreference = value + - print(dmm.measure.dbmreference) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2330,68 +3080,66 @@ def aperture(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".aperture", value + self._cmd_syntax + ".dbmreference", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.aperture = {value}" + f"{self._cmd_syntax}.dbmreference = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.aperture`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbmreference`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autodelay(self) -> str: - """Access the ``dmm.measure.autodelay`` attribute. + def dbreference(self) -> str: + """Access the ``dmm.measure.dbreference`` attribute. **Description:** - - This attribute enables or disables the automatic delay that occurs before each - measurement. + - This attribute defines the decibel (dB) reference setting for the DMM in volts. **Usage:** - - Accessing this property will send the ``print(dmm.measure.autodelay)`` query. - - Setting this property to a value will send the ``dmm.measure.autodelay = value`` + - Accessing this property will send the ``print(dmm.measure.dbreference)`` query. + - Setting this property to a value will send the ``dmm.measure.dbreference = value`` command. **TSP Syntax:** :: - - dmm.measure.autodelay = value - - print(dmm.measure.autodelay) + - dmm.measure.dbreference = value + - print(dmm.measure.dbreference) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autodelay" + return self._cmd_syntax + ".dbreference" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autodelay)" + f"print({self._cmd_syntax}.dbreference)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autodelay`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbreference`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autodelay.setter - def autodelay(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.autodelay`` attribute. + @dbreference.setter + def dbreference(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.dbreference`` attribute. **Description:** - - This attribute enables or disables the automatic delay that occurs before each - measurement. + - This attribute defines the decibel (dB) reference setting for the DMM in volts. **Usage:** - - Accessing this property will send the ``print(dmm.measure.autodelay)`` query. - - Setting this property to a value will send the ``dmm.measure.autodelay = value`` + - Accessing this property will send the ``print(dmm.measure.dbreference)`` query. + - Setting this property to a value will send the ``dmm.measure.dbreference = value`` command. **TSP Syntax:** :: - - dmm.measure.autodelay = value - - print(dmm.measure.autodelay) + - dmm.measure.dbreference = value + - print(dmm.measure.dbreference) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2399,68 +3147,68 @@ def autodelay(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autodelay", value + self._cmd_syntax + ".dbreference", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autodelay = {value}" + f"{self._cmd_syntax}.dbreference = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autodelay`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbreference`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autorange(self) -> str: - """Access the ``dmm.measure.autorange`` attribute. + def detectorbandwidth(self) -> str: + """Access the ``dmm.measure.detectorbandwidth`` attribute. **Description:** - - This attribute determines if the measurement range is set manually or automatically - for the selected measure function. + - This attribute selects the detector bandwidth for AC current and AC voltage + measurements. **Usage:** - - Accessing this property will send the ``print(dmm.measure.autorange)`` query. - - Setting this property to a value will send the ``dmm.measure.autorange = value`` - command. + - Accessing this property will send the ``print(dmm.measure.detectorbandwidth)`` query. + - Setting this property to a value will send the + ``dmm.measure.detectorbandwidth = value`` command. **TSP Syntax:** :: - - dmm.measure.autorange = value - - print(dmm.measure.autorange) + - dmm.measure.detectorbandwidth = value + - print(dmm.measure.detectorbandwidth) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".autorange" + return self._cmd_syntax + ".detectorbandwidth" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.autorange)" + f"print({self._cmd_syntax}.detectorbandwidth)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.detectorbandwidth`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @autorange.setter - def autorange(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.autorange`` attribute. + @detectorbandwidth.setter + def detectorbandwidth(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.detectorbandwidth`` attribute. **Description:** - - This attribute determines if the measurement range is set manually or automatically - for the selected measure function. + - This attribute selects the detector bandwidth for AC current and AC voltage + measurements. **Usage:** - - Accessing this property will send the ``print(dmm.measure.autorange)`` query. - - Setting this property to a value will send the ``dmm.measure.autorange = value`` - command. + - Accessing this property will send the ``print(dmm.measure.detectorbandwidth)`` query. + - Setting this property to a value will send the + ``dmm.measure.detectorbandwidth = value`` command. **TSP Syntax:** :: - - dmm.measure.autorange = value - - print(dmm.measure.autorange) + - dmm.measure.detectorbandwidth = value + - print(dmm.measure.detectorbandwidth) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2468,100 +3216,147 @@ def autorange(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".autorange", value + self._cmd_syntax + ".detectorbandwidth", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.autorange = {value}" + f"{self._cmd_syntax}.detectorbandwidth = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autorange`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.detectorbandwidth`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def autozero(self) -> DmmMeasureAutozero: - """Return the ``dmm.measure.autozero`` command tree. + def displaydigits(self) -> str: + """Access the ``dmm.measure.displaydigits`` attribute. - Sub-properties/methods: - - ``.enable``: The ``dmm.measure.autozero.enable`` attribute. + **Description:** + - This attribute determines the number of digits that are displayed for measurements on + the front panel. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.displaydigits)`` query. + - Setting this property to a value will send the ``dmm.measure.displaydigits = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.displaydigits = value + - print(dmm.measure.displaydigits) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._autozero + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".displaydigits" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.displaydigits)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error - @property - def bias(self) -> DmmMeasureBias: - """Return the ``dmm.measure.bias`` command tree. + @displaydigits.setter + def displaydigits(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.displaydigits`` attribute. - Sub-properties/methods: - - ``.level``: The ``dmm.measure.bias.level`` attribute. + **Description:** + - This attribute determines the number of digits that are displayed for measurements on + the front panel. + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.displaydigits)`` query. + - Setting this property to a value will send the ``dmm.measure.displaydigits = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.displaydigits = value + - print(dmm.measure.displaydigits) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._bias + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".displaydigits", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.displaydigits = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error @property - def configlist(self) -> DmmMeasureConfiglist: - """Return the ``dmm.measure.configlist`` command tree. + def filter(self) -> DmmMeasureFilter: + """Return the ``dmm.measure.filter`` command tree. Sub-properties/methods: - - ``.catalog()``: The ``dmm.measure.configlist.catalog()`` function. - - ``.create()``: The ``dmm.measure.configlist.create()`` function. - - ``.delete()``: The ``dmm.measure.configlist.delete()`` function. - - ``.query()``: The ``dmm.measure.configlist.query()`` function. - - ``.recall()``: The ``dmm.measure.configlist.recall()`` function. - - ``.size()``: The ``dmm.measure.configlist.size()`` function. - - ``.store()``: The ``dmm.measure.configlist.store()`` function. - - ``.storefunc()``: The ``dmm.measure.configlist.storefunc()`` function. + - ``.count``: The ``dmm.measure.filter.count`` attribute. + - ``.enable``: The ``dmm.measure.filter.enable`` attribute. + - ``.type``: The ``dmm.measure.filter.type`` attribute. + - ``.window``: The ``dmm.measure.filter.window`` attribute. """ - return self._configlist + return self._filter @property - def count(self) -> str: - """Access the ``dmm.measure.count`` attribute. + def fourrtd(self) -> str: + """Access the ``dmm.measure.fourrtd`` attribute. **Description:** - - This attribute sets the number of measurements to make when a measurement is - requested. + - This attribute defines the type of 4-wire RTD that is being used **Usage:** - - Accessing this property will send the ``print(dmm.measure.count)`` query. - - Setting this property to a value will send the ``dmm.measure.count = value`` command. + - Accessing this property will send the ``print(dmm.measure.fourrtd)`` query. + - Setting this property to a value will send the ``dmm.measure.fourrtd = value`` + command. **TSP Syntax:** :: - - dmm.measure.count = value - - print(dmm.measure.count) + - dmm.measure.fourrtd = value + - print(dmm.measure.fourrtd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".count" + return self._cmd_syntax + ".fourrtd" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.count)" + f"print({self._cmd_syntax}.fourrtd)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fourrtd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @count.setter - def count(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.count`` attribute. + @fourrtd.setter + def fourrtd(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.fourrtd`` attribute. **Description:** - - This attribute sets the number of measurements to make when a measurement is - requested. + - This attribute defines the type of 4-wire RTD that is being used **Usage:** - - Accessing this property will send the ``print(dmm.measure.count)`` query. - - Setting this property to a value will send the ``dmm.measure.count = value`` command. + - Accessing this property will send the ``print(dmm.measure.fourrtd)`` query. + - Setting this property to a value will send the ``dmm.measure.fourrtd = value`` + command. **TSP Syntax:** :: - - dmm.measure.count = value - - print(dmm.measure.count) + - dmm.measure.fourrtd = value + - print(dmm.measure.fourrtd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2569,66 +3364,62 @@ def count(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".count", value + self._cmd_syntax + ".fourrtd", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.count = {value}" + f"{self._cmd_syntax}.fourrtd = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.count`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fourrtd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def dbmreference(self) -> str: - """Access the ``dmm.measure.dbmreference`` attribute. + def func(self) -> str: + """Access the ``dmm.measure.func`` attribute. **Description:** - - This attribute defines the decibel-milliwatts (dBm) reference. + - This attribute selects the active measure function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.dbmreference)`` query. - - Setting this property to a value will send the ``dmm.measure.dbmreference = value`` - command. + - Accessing this property will send the ``print(dmm.measure.func)`` query. + - Setting this property to a value will send the ``dmm.measure.func = value`` command. **TSP Syntax:** :: - - dmm.measure.dbmreference = value - - print(dmm.measure.dbmreference) + - dmm.measure.func = value + - print(dmm.measure.func) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".dbmreference" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.dbmreference)" - ) + return self._cmd_syntax + ".func" + return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbmreference`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @dbmreference.setter - def dbmreference(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.dbmreference`` attribute. + @func.setter + def func(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.func`` attribute. **Description:** - - This attribute defines the decibel-milliwatts (dBm) reference. + - This attribute selects the active measure function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.dbmreference)`` query. - - Setting this property to a value will send the ``dmm.measure.dbmreference = value`` - command. + - Accessing this property will send the ``print(dmm.measure.func)`` query. + - Setting this property to a value will send the ``dmm.measure.func = value`` command. **TSP Syntax:** :: - - dmm.measure.dbmreference = value - - print(dmm.measure.dbmreference) + - dmm.measure.func = value + - print(dmm.measure.func) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2636,66 +3427,64 @@ def dbmreference(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".dbmreference", value + self._cmd_syntax + ".func", value ) else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.dbmreference = {value}" - ) + self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbmreference`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def dbreference(self) -> str: - """Access the ``dmm.measure.dbreference`` attribute. + def inputimpedance(self) -> str: + """Access the ``dmm.measure.inputimpedance`` attribute. **Description:** - - This attribute defines the decibel (dB) reference setting for the DMM in volts. + - This attribute determines when the 10 MΩ input divider is enabled. **Usage:** - - Accessing this property will send the ``print(dmm.measure.dbreference)`` query. - - Setting this property to a value will send the ``dmm.measure.dbreference = value`` + - Accessing this property will send the ``print(dmm.measure.inputimpedance)`` query. + - Setting this property to a value will send the ``dmm.measure.inputimpedance = value`` command. **TSP Syntax:** :: - - dmm.measure.dbreference = value - - print(dmm.measure.dbreference) + - dmm.measure.inputimpedance = value + - print(dmm.measure.inputimpedance) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".dbreference" + return self._cmd_syntax + ".inputimpedance" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.dbreference)" + f"print({self._cmd_syntax}.inputimpedance)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbreference`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @dbreference.setter - def dbreference(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.dbreference`` attribute. + @inputimpedance.setter + def inputimpedance(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.inputimpedance`` attribute. **Description:** - - This attribute defines the decibel (dB) reference setting for the DMM in volts. + - This attribute determines when the 10 MΩ input divider is enabled. **Usage:** - - Accessing this property will send the ``print(dmm.measure.dbreference)`` query. - - Setting this property to a value will send the ``dmm.measure.dbreference = value`` + - Accessing this property will send the ``print(dmm.measure.inputimpedance)`` query. + - Setting this property to a value will send the ``dmm.measure.inputimpedance = value`` command. **TSP Syntax:** :: - - dmm.measure.dbreference = value - - print(dmm.measure.dbreference) + - dmm.measure.inputimpedance = value + - print(dmm.measure.inputimpedance) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2703,68 +3492,80 @@ def dbreference(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".dbreference", value + self._cmd_syntax + ".inputimpedance", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.dbreference = {value}" + f"{self._cmd_syntax}.inputimpedance = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dbreference`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def detectorbandwidth(self) -> str: - """Access the ``dmm.measure.detectorbandwidth`` attribute. + def limit(self) -> Dict[int, DmmMeasureLimitItem]: + """Return the ``dmm.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``dmm.measure.limit[r].audible`` attribute. + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + return self._limit + + @property + def linesync(self) -> str: + """Access the ``dmm.measure.linesync`` attribute. **Description:** - - This attribute selects the detector bandwidth for AC current and AC voltage - measurements. + - This attribute determines if line synchronization is used during the measurement. **Usage:** - - Accessing this property will send the ``print(dmm.measure.detectorbandwidth)`` query. - - Setting this property to a value will send the - ``dmm.measure.detectorbandwidth = value`` command. + - Accessing this property will send the ``print(dmm.measure.linesync)`` query. + - Setting this property to a value will send the ``dmm.measure.linesync = value`` + command. **TSP Syntax:** :: - - dmm.measure.detectorbandwidth = value - - print(dmm.measure.detectorbandwidth) + - dmm.measure.linesync = value + - print(dmm.measure.linesync) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".detectorbandwidth" + return self._cmd_syntax + ".linesync" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.detectorbandwidth)" + f"print({self._cmd_syntax}.linesync)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.detectorbandwidth`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.linesync`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @detectorbandwidth.setter - def detectorbandwidth(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.detectorbandwidth`` attribute. + @linesync.setter + def linesync(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.linesync`` attribute. **Description:** - - This attribute selects the detector bandwidth for AC current and AC voltage - measurements. + - This attribute determines if line synchronization is used during the measurement. **Usage:** - - Accessing this property will send the ``print(dmm.measure.detectorbandwidth)`` query. - - Setting this property to a value will send the - ``dmm.measure.detectorbandwidth = value`` command. + - Accessing this property will send the ``print(dmm.measure.linesync)`` query. + - Setting this property to a value will send the ``dmm.measure.linesync = value`` + command. **TSP Syntax:** :: - - dmm.measure.detectorbandwidth = value - - print(dmm.measure.detectorbandwidth) + - dmm.measure.linesync = value + - print(dmm.measure.linesync) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2772,68 +3573,76 @@ def detectorbandwidth(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".detectorbandwidth", value + self._cmd_syntax + ".linesync", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.detectorbandwidth = {value}" + f"{self._cmd_syntax}.linesync = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.detectorbandwidth`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.linesync`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def displaydigits(self) -> str: - """Access the ``dmm.measure.displaydigits`` attribute. + def math(self) -> DmmMeasureMath: + """Return the ``dmm.measure.math`` command tree. + + Sub-properties/methods: + - ``.enable``: The ``dmm.measure.math.enable`` attribute. + - ``.format``: The ``dmm.measure.math.format`` attribute. + - ``.mxb``: The ``dmm.measure.math.mxb`` command tree. + - ``.percent``: The ``dmm.measure.math.percent`` attribute. + """ + return self._math + + @property + def nplc(self) -> str: + """Access the ``dmm.measure.nplc`` attribute. **Description:** - - This attribute determines the number of digits that are displayed for measurements on - the front panel. + - This command sets the time that the input signal is measured for the selected + function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.displaydigits)`` query. - - Setting this property to a value will send the ``dmm.measure.displaydigits = value`` - command. + - Accessing this property will send the ``print(dmm.measure.nplc)`` query. + - Setting this property to a value will send the ``dmm.measure.nplc = value`` command. **TSP Syntax:** :: - - dmm.measure.displaydigits = value - - print(dmm.measure.displaydigits) + - dmm.measure.nplc = value + - print(dmm.measure.nplc) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".displaydigits" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.displaydigits)" - ) + return self._cmd_syntax + ".nplc" + return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @displaydigits.setter - def displaydigits(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.displaydigits`` attribute. + @nplc.setter + def nplc(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.nplc`` attribute. **Description:** - - This attribute determines the number of digits that are displayed for measurements on - the front panel. + - This command sets the time that the input signal is measured for the selected + function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.displaydigits)`` query. - - Setting this property to a value will send the ``dmm.measure.displaydigits = value`` - command. + - Accessing this property will send the ``print(dmm.measure.nplc)`` query. + - Setting this property to a value will send the ``dmm.measure.nplc = value`` command. **TSP Syntax:** :: - - dmm.measure.displaydigits = value - - print(dmm.measure.displaydigits) + - dmm.measure.nplc = value + - print(dmm.measure.nplc) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2841,78 +3650,73 @@ def displaydigits(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".displaydigits", value + self._cmd_syntax + ".nplc", value ) else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.displaydigits = {value}" - ) + self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.displaydigits`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def filter(self) -> DmmMeasureFilter: - """Return the ``dmm.measure.filter`` command tree. + def offsetcompensation(self) -> DmmMeasureOffsetcompensation: + """Return the ``dmm.measure.offsetcompensation`` command tree. Sub-properties/methods: - - ``.count``: The ``dmm.measure.filter.count`` attribute. - - ``.enable``: The ``dmm.measure.filter.enable`` attribute. - - ``.type``: The ``dmm.measure.filter.type`` attribute. - - ``.window``: The ``dmm.measure.filter.window`` attribute. + - ``.enable``: The ``dmm.measure.offsetcompensation.enable`` attribute. """ - return self._filter + return self._offsetcompensation @property - def fourrtd(self) -> str: - """Access the ``dmm.measure.fourrtd`` attribute. + def opendetector(self) -> str: + """Access the ``dmm.measure.opendetector`` attribute. **Description:** - - This attribute defines the type of 4-wire RTD that is being used + - This attribute determines if the detection of open leads is enabled or disabled. **Usage:** - - Accessing this property will send the ``print(dmm.measure.fourrtd)`` query. - - Setting this property to a value will send the ``dmm.measure.fourrtd = value`` + - Accessing this property will send the ``print(dmm.measure.opendetector)`` query. + - Setting this property to a value will send the ``dmm.measure.opendetector = value`` command. **TSP Syntax:** :: - - dmm.measure.fourrtd = value - - print(dmm.measure.fourrtd) + - dmm.measure.opendetector = value + - print(dmm.measure.opendetector) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".fourrtd" + return self._cmd_syntax + ".opendetector" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.fourrtd)" + f"print({self._cmd_syntax}.opendetector)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fourrtd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.opendetector`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @fourrtd.setter - def fourrtd(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.fourrtd`` attribute. + @opendetector.setter + def opendetector(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.opendetector`` attribute. **Description:** - - This attribute defines the type of 4-wire RTD that is being used + - This attribute determines if the detection of open leads is enabled or disabled. **Usage:** - - Accessing this property will send the ``print(dmm.measure.fourrtd)`` query. - - Setting this property to a value will send the ``dmm.measure.fourrtd = value`` + - Accessing this property will send the ``print(dmm.measure.opendetector)`` query. + - Setting this property to a value will send the ``dmm.measure.opendetector = value`` command. **TSP Syntax:** :: - - dmm.measure.fourrtd = value - - print(dmm.measure.fourrtd) + - dmm.measure.opendetector = value + - print(dmm.measure.opendetector) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2920,62 +3724,64 @@ def fourrtd(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".fourrtd", value + self._cmd_syntax + ".opendetector", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.fourrtd = {value}" + f"{self._cmd_syntax}.opendetector = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fourrtd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.opendetector`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def func(self) -> str: - """Access the ``dmm.measure.func`` attribute. + def range(self) -> str: + """Access the ``dmm.measure.range`` attribute. **Description:** - - This attribute selects the active measure function. + - This attribute determines the positive full-scale measure range. **Usage:** - - Accessing this property will send the ``print(dmm.measure.func)`` query. - - Setting this property to a value will send the ``dmm.measure.func = value`` command. + - Accessing this property will send the ``print(dmm.measure.range)`` query. + - Setting this property to a value will send the ``dmm.measure.range = value`` command. **TSP Syntax:** :: - - dmm.measure.func = value - - print(dmm.measure.func) + - dmm.measure.range = value + - print(dmm.measure.range) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._cmd_syntax + ".range" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.range)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @func.setter - def func(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.func`` attribute. + @range.setter + def range(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.range`` attribute. **Description:** - - This attribute selects the active measure function. + - This attribute determines the positive full-scale measure range. **Usage:** - - Accessing this property will send the ``print(dmm.measure.func)`` query. - - Setting this property to a value will send the ``dmm.measure.func = value`` command. + - Accessing this property will send the ``print(dmm.measure.range)`` query. + - Setting this property to a value will send the ``dmm.measure.range = value`` command. **TSP Syntax:** :: - - dmm.measure.func = value - - print(dmm.measure.func) + - dmm.measure.range = value + - print(dmm.measure.range) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -2983,64 +3789,66 @@ def func(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".func", value + self._cmd_syntax + ".range", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.range = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def inputimpedance(self) -> str: - """Access the ``dmm.measure.inputimpedance`` attribute. + def refjunction(self) -> str: + """Access the ``dmm.measure.refjunction`` attribute. **Description:** - - This attribute determines when the 10 MΩ input divider is enabled. + - This attribute defines the type of the thermocouple reference junction. **Usage:** - - Accessing this property will send the ``print(dmm.measure.inputimpedance)`` query. - - Setting this property to a value will send the ``dmm.measure.inputimpedance = value`` + - Accessing this property will send the ``print(dmm.measure.refjunction)`` query. + - Setting this property to a value will send the ``dmm.measure.refjunction = value`` command. **TSP Syntax:** :: - - dmm.measure.inputimpedance = value - - print(dmm.measure.inputimpedance) + - dmm.measure.refjunction = value + - print(dmm.measure.refjunction) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".inputimpedance" + return self._cmd_syntax + ".refjunction" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.inputimpedance)" + f"print({self._cmd_syntax}.refjunction)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.refjunction`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @inputimpedance.setter - def inputimpedance(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.inputimpedance`` attribute. + @refjunction.setter + def refjunction(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.refjunction`` attribute. **Description:** - - This attribute determines when the 10 MΩ input divider is enabled. + - This attribute defines the type of the thermocouple reference junction. **Usage:** - - Accessing this property will send the ``print(dmm.measure.inputimpedance)`` query. - - Setting this property to a value will send the ``dmm.measure.inputimpedance = value`` + - Accessing this property will send the ``print(dmm.measure.refjunction)`` query. + - Setting this property to a value will send the ``dmm.measure.refjunction = value`` command. **TSP Syntax:** :: - - dmm.measure.inputimpedance = value - - print(dmm.measure.inputimpedance) + - dmm.measure.refjunction = value + - print(dmm.measure.refjunction) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3048,66 +3856,77 @@ def inputimpedance(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".inputimpedance", value + self._cmd_syntax + ".refjunction", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.inputimpedance = {value}" + f"{self._cmd_syntax}.refjunction = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.refjunction`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def linesync(self) -> str: - """Access the ``dmm.measure.linesync`` attribute. + def rel(self) -> DmmMeasureRel: + """Return the ``dmm.measure.rel`` command tree. + + Sub-properties/methods: + - ``.enable``: The ``dmm.measure.rel.enable`` attribute. + - ``.level``: The ``dmm.measure.rel.level`` attribute. + - ``.method``: The ``dmm.measure.rel.method`` attribute. + """ + return self._rel + + @property + def rtdalpha(self) -> str: + """Access the ``dmm.measure.rtdalpha`` attribute. **Description:** - - This attribute determines if line synchronization is used during the measurement. + - This attribute contains the alpha value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.linesync)`` query. - - Setting this property to a value will send the ``dmm.measure.linesync = value`` + - Accessing this property will send the ``print(dmm.measure.rtdalpha)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdalpha = value`` command. **TSP Syntax:** :: - - dmm.measure.linesync = value - - print(dmm.measure.linesync) + - dmm.measure.rtdalpha = value + - print(dmm.measure.rtdalpha) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".linesync" + return self._cmd_syntax + ".rtdalpha" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.linesync)" + f"print({self._cmd_syntax}.rtdalpha)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.linesync`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdalpha`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @linesync.setter - def linesync(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.linesync`` attribute. + @rtdalpha.setter + def rtdalpha(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.rtdalpha`` attribute. **Description:** - - This attribute determines if line synchronization is used during the measurement. + - This attribute contains the alpha value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.linesync)`` query. - - Setting this property to a value will send the ``dmm.measure.linesync = value`` + - Accessing this property will send the ``print(dmm.measure.rtdalpha)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdalpha = value`` command. **TSP Syntax:** :: - - dmm.measure.linesync = value - - print(dmm.measure.linesync) + - dmm.measure.rtdalpha = value + - print(dmm.measure.rtdalpha) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3115,76 +3934,66 @@ def linesync(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".linesync", value + self._cmd_syntax + ".rtdalpha", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.linesync = {value}" + f"{self._cmd_syntax}.rtdalpha = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.linesync`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdalpha`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def math(self) -> DmmMeasureMath: - """Return the ``dmm.measure.math`` command tree. - - Sub-properties/methods: - - ``.enable``: The ``dmm.measure.math.enable`` attribute. - - ``.format``: The ``dmm.measure.math.format`` attribute. - - ``.mxb``: The ``dmm.measure.math.mxb`` command tree. - - ``.percent``: The ``dmm.measure.math.percent`` attribute. - """ - return self._math - - @property - def nplc(self) -> str: - """Access the ``dmm.measure.nplc`` attribute. + def rtdbeta(self) -> str: + """Access the ``dmm.measure.rtdbeta`` attribute. **Description:** - - This command sets the time that the input signal is measured for the selected - function. + - This attribute contains the beta value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.nplc)`` query. - - Setting this property to a value will send the ``dmm.measure.nplc = value`` command. + - Accessing this property will send the ``print(dmm.measure.rtdbeta)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdbeta = value`` + command. **TSP Syntax:** :: - - dmm.measure.nplc = value - - print(dmm.measure.nplc) + - dmm.measure.rtdbeta = value + - print(dmm.measure.rtdbeta) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._cmd_syntax + ".rtdbeta" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.rtdbeta)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdbeta`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @nplc.setter - def nplc(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.nplc`` attribute. + @rtdbeta.setter + def rtdbeta(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.rtdbeta`` attribute. **Description:** - - This command sets the time that the input signal is measured for the selected - function. + - This attribute contains the beta value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.nplc)`` query. - - Setting this property to a value will send the ``dmm.measure.nplc = value`` command. + - Accessing this property will send the ``print(dmm.measure.rtdbeta)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdbeta = value`` + command. **TSP Syntax:** :: - - dmm.measure.nplc = value - - print(dmm.measure.nplc) + - dmm.measure.rtdbeta = value + - print(dmm.measure.rtdbeta) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3192,73 +4001,66 @@ def nplc(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".nplc", value + self._cmd_syntax + ".rtdbeta", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.rtdbeta = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdbeta`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def offsetcompensation(self) -> DmmMeasureOffsetcompensation: - """Return the ``dmm.measure.offsetcompensation`` command tree. - - Sub-properties/methods: - - ``.enable``: The ``dmm.measure.offsetcompensation.enable`` attribute. - """ - return self._offsetcompensation - - @property - def opendetector(self) -> str: - """Access the ``dmm.measure.opendetector`` attribute. + def rtddelta(self) -> str: + """Access the ``dmm.measure.rtddelta`` attribute. **Description:** - - This attribute determines if the detection of open leads is enabled or disabled. + - This attribute contains the delta value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.opendetector)`` query. - - Setting this property to a value will send the ``dmm.measure.opendetector = value`` + - Accessing this property will send the ``print(dmm.measure.rtddelta)`` query. + - Setting this property to a value will send the ``dmm.measure.rtddelta = value`` command. **TSP Syntax:** :: - - dmm.measure.opendetector = value - - print(dmm.measure.opendetector) + - dmm.measure.rtddelta = value + - print(dmm.measure.rtddelta) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".opendetector" + return self._cmd_syntax + ".rtddelta" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.opendetector)" + f"print({self._cmd_syntax}.rtddelta)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.opendetector`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtddelta`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @opendetector.setter - def opendetector(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.opendetector`` attribute. + @rtddelta.setter + def rtddelta(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.rtddelta`` attribute. **Description:** - - This attribute determines if the detection of open leads is enabled or disabled. + - This attribute contains the delta value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.opendetector)`` query. - - Setting this property to a value will send the ``dmm.measure.opendetector = value`` + - Accessing this property will send the ``print(dmm.measure.rtddelta)`` query. + - Setting this property to a value will send the ``dmm.measure.rtddelta = value`` command. **TSP Syntax:** :: - - dmm.measure.opendetector = value - - print(dmm.measure.opendetector) + - dmm.measure.rtddelta = value + - print(dmm.measure.rtddelta) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3266,64 +4068,66 @@ def opendetector(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".opendetector", value + self._cmd_syntax + ".rtddelta", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.opendetector = {value}" + f"{self._cmd_syntax}.rtddelta = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.opendetector`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtddelta`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def range(self) -> str: - """Access the ``dmm.measure.range`` attribute. + def rtdzero(self) -> str: + """Access the ``dmm.measure.rtdzero`` attribute. **Description:** - - This attribute determines the positive full-scale measure range. + - This attribute contains the zero value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.range)`` query. - - Setting this property to a value will send the ``dmm.measure.range = value`` command. + - Accessing this property will send the ``print(dmm.measure.rtdzero)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdzero = value`` + command. **TSP Syntax:** :: - - dmm.measure.range = value - - print(dmm.measure.range) + - dmm.measure.rtdzero = value + - print(dmm.measure.rtdzero) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".range" + return self._cmd_syntax + ".rtdzero" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.range)" + f"print({self._cmd_syntax}.rtdzero)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdzero`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @range.setter - def range(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.range`` attribute. + @rtdzero.setter + def rtdzero(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.rtdzero`` attribute. **Description:** - - This attribute determines the positive full-scale measure range. + - This attribute contains the zero value of a user-defined RTD. **Usage:** - - Accessing this property will send the ``print(dmm.measure.range)`` query. - - Setting this property to a value will send the ``dmm.measure.range = value`` command. + - Accessing this property will send the ``print(dmm.measure.rtdzero)`` query. + - Setting this property to a value will send the ``dmm.measure.rtdzero = value`` + command. **TSP Syntax:** :: - - dmm.measure.range = value - - print(dmm.measure.range) + - dmm.measure.rtdzero = value + - print(dmm.measure.rtdzero) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3331,66 +4135,78 @@ def range(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".range", value + self._cmd_syntax + ".rtdzero", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.range = {value}" + f"{self._cmd_syntax}.rtdzero = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.range`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdzero`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def refjunction(self) -> str: - """Access the ``dmm.measure.refjunction`` attribute. + def sense(self) -> DmmMeasureSense: + """Return the ``dmm.measure.sense`` command tree. + + Sub-properties/methods: + - ``.autorange``: The ``dmm.measure.sense.autorange`` attribute. + - ``.range``: The ``dmm.measure.sense.range`` attribute. + """ + return self._sense + + @property + def simreftemperature(self) -> str: + """Access the ``dmm.measure.simreftemperature`` attribute. **Description:** - - This attribute defines the type of the thermocouple reference junction. + - This attribute sets the simulated reference temperature of the thermocouple reference + junction. **Usage:** - - Accessing this property will send the ``print(dmm.measure.refjunction)`` query. - - Setting this property to a value will send the ``dmm.measure.refjunction = value`` - command. + - Accessing this property will send the ``print(dmm.measure.simreftemperature)`` query. + - Setting this property to a value will send the + ``dmm.measure.simreftemperature = value`` command. **TSP Syntax:** :: - - dmm.measure.refjunction = value - - print(dmm.measure.refjunction) + - dmm.measure.simreftemperature = value + - print(dmm.measure.simreftemperature) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".refjunction" + return self._cmd_syntax + ".simreftemperature" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.refjunction)" + f"print({self._cmd_syntax}.simreftemperature)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.refjunction`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.simreftemperature`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @refjunction.setter - def refjunction(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.refjunction`` attribute. + @simreftemperature.setter + def simreftemperature(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.simreftemperature`` attribute. **Description:** - - This attribute defines the type of the thermocouple reference junction. + - This attribute sets the simulated reference temperature of the thermocouple reference + junction. **Usage:** - - Accessing this property will send the ``print(dmm.measure.refjunction)`` query. - - Setting this property to a value will send the ``dmm.measure.refjunction = value`` - command. + - Accessing this property will send the ``print(dmm.measure.simreftemperature)`` query. + - Setting this property to a value will send the + ``dmm.measure.simreftemperature = value`` command. **TSP Syntax:** :: - - dmm.measure.refjunction = value - - print(dmm.measure.refjunction) + - dmm.measure.simreftemperature = value + - print(dmm.measure.simreftemperature) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3398,77 +4214,66 @@ def refjunction(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".refjunction", value + self._cmd_syntax + ".simreftemperature", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.refjunction = {value}" + f"{self._cmd_syntax}.simreftemperature = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.refjunction`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.simreftemperature`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def rel(self) -> DmmMeasureRel: - """Return the ``dmm.measure.rel`` command tree. - - Sub-properties/methods: - - ``.enable``: The ``dmm.measure.rel.enable`` attribute. - - ``.level``: The ``dmm.measure.rel.level`` attribute. - - ``.method``: The ``dmm.measure.rel.method`` attribute. - """ - return self._rel - - @property - def rtdalpha(self) -> str: - """Access the ``dmm.measure.rtdalpha`` attribute. + def thermistor(self) -> str: + """Access the ``dmm.measure.thermistor`` attribute. **Description:** - - This attribute contains the alpha value of a user-defined RTD. + - This attribute describes the type of thermistor. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdalpha)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdalpha = value`` + - Accessing this property will send the ``print(dmm.measure.thermistor)`` query. + - Setting this property to a value will send the ``dmm.measure.thermistor = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdalpha = value - - print(dmm.measure.rtdalpha) + - dmm.measure.thermistor = value + - print(dmm.measure.thermistor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".rtdalpha" + return self._cmd_syntax + ".thermistor" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.rtdalpha)" + f"print({self._cmd_syntax}.thermistor)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdalpha`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermistor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @rtdalpha.setter - def rtdalpha(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.rtdalpha`` attribute. + @thermistor.setter + def thermistor(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.thermistor`` attribute. **Description:** - - This attribute contains the alpha value of a user-defined RTD. + - This attribute describes the type of thermistor. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdalpha)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdalpha = value`` + - Accessing this property will send the ``print(dmm.measure.thermistor)`` query. + - Setting this property to a value will send the ``dmm.measure.thermistor = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdalpha = value - - print(dmm.measure.rtdalpha) + - dmm.measure.thermistor = value + - print(dmm.measure.thermistor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3476,66 +4281,66 @@ def rtdalpha(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".rtdalpha", value + self._cmd_syntax + ".thermistor", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.rtdalpha = {value}" + f"{self._cmd_syntax}.thermistor = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdalpha`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermistor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def rtdbeta(self) -> str: - """Access the ``dmm.measure.rtdbeta`` attribute. + def thermocouple(self) -> str: + """Access the ``dmm.measure.thermocouple`` attribute. **Description:** - - This attribute contains the beta value of a user-defined RTD. + - This attribute indicates the thermocouple type. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdbeta)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdbeta = value`` + - Accessing this property will send the ``print(dmm.measure.thermocouple)`` query. + - Setting this property to a value will send the ``dmm.measure.thermocouple = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdbeta = value - - print(dmm.measure.rtdbeta) + - dmm.measure.thermocouple = value + - print(dmm.measure.thermocouple) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".rtdbeta" + return self._cmd_syntax + ".thermocouple" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.rtdbeta)" + f"print({self._cmd_syntax}.thermocouple)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdbeta`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermocouple`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @rtdbeta.setter - def rtdbeta(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.rtdbeta`` attribute. + @thermocouple.setter + def thermocouple(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.thermocouple`` attribute. **Description:** - - This attribute contains the beta value of a user-defined RTD. + - This attribute indicates the thermocouple type. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdbeta)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdbeta = value`` + - Accessing this property will send the ``print(dmm.measure.thermocouple)`` query. + - Setting this property to a value will send the ``dmm.measure.thermocouple = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdbeta = value - - print(dmm.measure.rtdbeta) + - dmm.measure.thermocouple = value + - print(dmm.measure.thermocouple) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3543,66 +4348,66 @@ def rtdbeta(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".rtdbeta", value + self._cmd_syntax + ".thermocouple", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.rtdbeta = {value}" + f"{self._cmd_syntax}.thermocouple = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdbeta`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermocouple`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def rtddelta(self) -> str: - """Access the ``dmm.measure.rtddelta`` attribute. + def threertd(self) -> str: + """Access the ``dmm.measure.threertd`` attribute. **Description:** - - This attribute contains the delta value of a user-defined RTD. + - This attribute defines the type of three-wire RTD that is being used. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtddelta)`` query. - - Setting this property to a value will send the ``dmm.measure.rtddelta = value`` + - Accessing this property will send the ``print(dmm.measure.threertd)`` query. + - Setting this property to a value will send the ``dmm.measure.threertd = value`` command. **TSP Syntax:** :: - - dmm.measure.rtddelta = value - - print(dmm.measure.rtddelta) + - dmm.measure.threertd = value + - print(dmm.measure.threertd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".rtddelta" + return self._cmd_syntax + ".threertd" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.rtddelta)" + f"print({self._cmd_syntax}.threertd)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtddelta`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.threertd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @rtddelta.setter - def rtddelta(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.rtddelta`` attribute. + @threertd.setter + def threertd(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.threertd`` attribute. **Description:** - - This attribute contains the delta value of a user-defined RTD. + - This attribute defines the type of three-wire RTD that is being used. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtddelta)`` query. - - Setting this property to a value will send the ``dmm.measure.rtddelta = value`` + - Accessing this property will send the ``print(dmm.measure.threertd)`` query. + - Setting this property to a value will send the ``dmm.measure.threertd = value`` command. **TSP Syntax:** :: - - dmm.measure.rtddelta = value - - print(dmm.measure.rtddelta) + - dmm.measure.threertd = value + - print(dmm.measure.threertd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3610,66 +4415,76 @@ def rtddelta(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".rtddelta", value + self._cmd_syntax + ".threertd", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.rtddelta = {value}" + f"{self._cmd_syntax}.threertd = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtddelta`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.threertd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def rtdzero(self) -> str: - """Access the ``dmm.measure.rtdzero`` attribute. + def threshold(self) -> DmmMeasureThreshold: + """Return the ``dmm.measure.threshold`` command tree. + + Sub-properties/methods: + - ``.autorange``: The ``dmm.measure.threshold.autorange`` attribute. + - ``.range``: The ``dmm.measure.threshold.range`` attribute. + """ + return self._threshold + + @property + def transducer(self) -> str: + """Access the ``dmm.measure.transducer`` attribute. **Description:** - - This attribute contains the zero value of a user-defined RTD. + - This attribute sets the transducer type for the temperature measurement function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdzero)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdzero = value`` + - Accessing this property will send the ``print(dmm.measure.transducer)`` query. + - Setting this property to a value will send the ``dmm.measure.transducer = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdzero = value - - print(dmm.measure.rtdzero) + - dmm.measure.transducer = value + - print(dmm.measure.transducer) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".rtdzero" + return self._cmd_syntax + ".transducer" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.rtdzero)" + f"print({self._cmd_syntax}.transducer)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdzero`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.transducer`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @rtdzero.setter - def rtdzero(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.rtdzero`` attribute. + @transducer.setter + def transducer(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.transducer`` attribute. **Description:** - - This attribute contains the zero value of a user-defined RTD. + - This attribute sets the transducer type for the temperature measurement function. **Usage:** - - Accessing this property will send the ``print(dmm.measure.rtdzero)`` query. - - Setting this property to a value will send the ``dmm.measure.rtdzero = value`` + - Accessing this property will send the ``print(dmm.measure.transducer)`` query. + - Setting this property to a value will send the ``dmm.measure.transducer = value`` command. **TSP Syntax:** :: - - dmm.measure.rtdzero = value - - print(dmm.measure.rtdzero) + - dmm.measure.transducer = value + - print(dmm.measure.transducer) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3677,78 +4492,64 @@ def rtdzero(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".rtdzero", value + self._cmd_syntax + ".transducer", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.rtdzero = {value}" + f"{self._cmd_syntax}.transducer = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rtdzero`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.transducer`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def sense(self) -> DmmMeasureSense: - """Return the ``dmm.measure.sense`` command tree. - - Sub-properties/methods: - - ``.autorange``: The ``dmm.measure.sense.autorange`` attribute. - - ``.range``: The ``dmm.measure.sense.range`` attribute. - """ - return self._sense - - @property - def simreftemperature(self) -> str: - """Access the ``dmm.measure.simreftemperature`` attribute. + def twortd(self) -> str: + """Access the ``dmm.measure.twortd`` attribute. **Description:** - - This attribute sets the simulated reference temperature of the thermocouple reference - junction. + - This attribute defines the type of 2-wire RTD that is being used. **Usage:** - - Accessing this property will send the ``print(dmm.measure.simreftemperature)`` query. - - Setting this property to a value will send the - ``dmm.measure.simreftemperature = value`` command. + - Accessing this property will send the ``print(dmm.measure.twortd)`` query. + - Setting this property to a value will send the ``dmm.measure.twortd = value`` command. **TSP Syntax:** :: - - dmm.measure.simreftemperature = value - - print(dmm.measure.simreftemperature) + - dmm.measure.twortd = value + - print(dmm.measure.twortd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".simreftemperature" + return self._cmd_syntax + ".twortd" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.simreftemperature)" + f"print({self._cmd_syntax}.twortd)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.simreftemperature`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.twortd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @simreftemperature.setter - def simreftemperature(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.simreftemperature`` attribute. + @twortd.setter + def twortd(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.twortd`` attribute. **Description:** - - This attribute sets the simulated reference temperature of the thermocouple reference - junction. + - This attribute defines the type of 2-wire RTD that is being used. **Usage:** - - Accessing this property will send the ``print(dmm.measure.simreftemperature)`` query. - - Setting this property to a value will send the - ``dmm.measure.simreftemperature = value`` command. + - Accessing this property will send the ``print(dmm.measure.twortd)`` query. + - Setting this property to a value will send the ``dmm.measure.twortd = value`` command. **TSP Syntax:** :: - - dmm.measure.simreftemperature = value - - print(dmm.measure.simreftemperature) + - dmm.measure.twortd = value + - print(dmm.measure.twortd) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3756,66 +4557,64 @@ def simreftemperature(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".simreftemperature", value + self._cmd_syntax + ".twortd", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.simreftemperature = {value}" + f"{self._cmd_syntax}.twortd = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.simreftemperature`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.twortd`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def thermistor(self) -> str: - """Access the ``dmm.measure.thermistor`` attribute. + def unit(self) -> str: + """Access the ``dmm.measure.unit`` attribute. **Description:** - - This attribute describes the type of thermistor. + - This attribute sets the units of measurement that are displayed on the front panel of + the instrument and stored in the reading buffer. **Usage:** - - Accessing this property will send the ``print(dmm.measure.thermistor)`` query. - - Setting this property to a value will send the ``dmm.measure.thermistor = value`` - command. + - Accessing this property will send the ``print(dmm.measure.unit)`` query. + - Setting this property to a value will send the ``dmm.measure.unit = value`` command. **TSP Syntax:** :: - - dmm.measure.thermistor = value - - print(dmm.measure.thermistor) + - dmm.measure.unit = value + - print(dmm.measure.unit) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".thermistor" - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.thermistor)" - ) + return self._cmd_syntax + ".unit" + return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermistor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @thermistor.setter - def thermistor(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.thermistor`` attribute. + @unit.setter + def unit(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.unit`` attribute. **Description:** - - This attribute describes the type of thermistor. + - This attribute sets the units of measurement that are displayed on the front panel of + the instrument and stored in the reading buffer. **Usage:** - - Accessing this property will send the ``print(dmm.measure.thermistor)`` query. - - Setting this property to a value will send the ``dmm.measure.thermistor = value`` - command. + - Accessing this property will send the ``print(dmm.measure.unit)`` query. + - Setting this property to a value will send the ``dmm.measure.unit = value`` command. **TSP Syntax:** :: - - dmm.measure.thermistor = value - - print(dmm.measure.thermistor) + - dmm.measure.unit = value + - print(dmm.measure.unit) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -3823,210 +4622,231 @@ def thermistor(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".thermistor", value + self._cmd_syntax + ".unit", value ) else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.thermistor = {value}" - ) + self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermistor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def thermocouple(self) -> str: - """Access the ``dmm.measure.thermocouple`` attribute. + def userdelay(self) -> Dict[int, Union[str, float]]: + """Access the ``dmm.measure.userdelay[N]`` attribute. **Description:** - - This attribute indicates the thermocouple type. + - This attribute sets a user-defined delay that you can use in the trigger model. **Usage:** - - Accessing this property will send the ``print(dmm.measure.thermocouple)`` query. - - Setting this property to a value will send the ``dmm.measure.thermocouple = value`` - command. + - Accessing an item from this property will send the ``print(dmm.measure.userdelay[N])`` + query. + - Setting an item from this property to a value will send the + ``dmm.measure.userdelay[N] = value`` command. **TSP Syntax:** :: - - dmm.measure.thermocouple = value - - print(dmm.measure.thermocouple) + - dmm.measure.userdelay[N] = value + - print(dmm.measure.userdelay[N]) + + **Info:** + - ``N``, the user delay to which this time applies (1 to 5). + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + return self._userdelay + + def getattribute(self, function: str, setting: str) -> str: + """Run the ``dmm.measure.getattribute()`` function. + + **Description:** + - This function returns the setting for a function attribute. + + **TSP Syntax:** + + :: + + - dmm.measure.getattribute() + + Args: + function: The measurement function; see Details. + setting: The attribute for the function; refer to dmm.measure.setattribute() for + available settings. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".thermocouple" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.thermocouple)" + f"print({self._cmd_syntax}.getattribute({function}, {setting}))" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermocouple`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getattribute()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @thermocouple.setter - def thermocouple(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.thermocouple`` attribute. + def read(self, buffer_name: Optional[str] = None) -> str: + """Run the ``dmm.measure.read()`` function. **Description:** - - This attribute indicates the thermocouple type. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.thermocouple)`` query. - - Setting this property to a value will send the ``dmm.measure.thermocouple = value`` - command. + - This function makes measurements, places them in a reading buffer, and returns the + last reading. **TSP Syntax:** :: - - dmm.measure.thermocouple = value - - print(dmm.measure.thermocouple) + - dmm.measure.read() + + Args: + buffer_name (optional): The name of the reading buffer, which may be a default buffer + (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is defined, it + defaults to defbuffer1. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".thermocouple", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.thermocouple = {value}" - ) + function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.read({function_args}))" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.thermocouple`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.read()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def threertd(self) -> str: - """Access the ``dmm.measure.threertd`` attribute. + def readwithtime(self, buffer_name: Optional[str] = None) -> str: + """Run the ``dmm.measure.readwithtime()`` function. **Description:** - - This attribute defines the type of three-wire RTD that is being used. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.threertd)`` query. - - Setting this property to a value will send the ``dmm.measure.threertd = value`` - command. + - This function initiates measurements and returns the last actual measurement and time + information in UTC format without using the trigger model. **TSP Syntax:** :: - - dmm.measure.threertd = value - - print(dmm.measure.threertd) + - dmm.measure.readwithtime() + + Args: + buffer_name (optional): The name of the reading buffer, which may be a default buffer + (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is specified, this + parameter defaults to defbuffer1. + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".threertd" + function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.threertd)" + f"print({self._cmd_syntax}.readwithtime({function_args}))" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.threertd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.readwithtime()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @threertd.setter - def threertd(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.threertd`` attribute. + def setattribute(self, function: str, setting: str, value: str) -> None: + """Run the ``dmm.measure.setattribute()`` function. **Description:** - - This attribute defines the type of three-wire RTD that is being used. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.threertd)`` query. - - Setting this property to a value will send the ``dmm.measure.threertd = value`` - command. + - This function allows you to set up a measure function whether or not the function is + active. **TSP Syntax:** :: - - dmm.measure.threertd = value - - print(dmm.measure.threertd) + - dmm.measure.setattribute() + + Args: + function: The function for which you are setting parameters; see Functions. + setting: The parameter for the function; refer to Details and the tables following the + examples. + value: The parameter value. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".threertd", value - ) - else: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.threertd = {value}" - ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.setattribute({function}, {setting}, {value})" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.threertd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.setattribute()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def threshold(self) -> DmmMeasureThreshold: - """Return the ``dmm.measure.threshold`` command tree. - Sub-properties/methods: - - ``.autorange``: The ``dmm.measure.threshold.autorange`` attribute. - - ``.range``: The ``dmm.measure.threshold.range`` attribute. - """ - return self._threshold +class DmmDigitizeRel(BaseTSPCmd): + """The ``dmm.digitize.rel`` command tree. + + Properties/methods: + - ``.acquire()``: The ``dmm.digitize.rel.acquire()`` function. + - ``.enable``: The ``dmm.digitize.rel.enable`` attribute. + - ``.level``: The ``dmm.digitize.rel.level`` attribute. + """ @property - def transducer(self) -> str: - """Access the ``dmm.measure.transducer`` attribute. + def enable(self) -> str: + """Access the ``dmm.digitize.rel.enable`` attribute. **Description:** - - This attribute sets the transducer type for the temperature measurement function. + - This attribute enables or disables the application of a relative offset value to the + measurement. **Usage:** - - Accessing this property will send the ``print(dmm.measure.transducer)`` query. - - Setting this property to a value will send the ``dmm.measure.transducer = value`` + - Accessing this property will send the ``print(dmm.digitize.rel.enable)`` query. + - Setting this property to a value will send the ``dmm.digitize.rel.enable = value`` command. **TSP Syntax:** :: - - dmm.measure.transducer = value - - print(dmm.measure.transducer) + - dmm.digitize.rel.enable = value + - print(dmm.digitize.rel.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".transducer" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.transducer)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.transducer`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @transducer.setter - def transducer(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.transducer`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.rel.enable`` attribute. **Description:** - - This attribute sets the transducer type for the temperature measurement function. + - This attribute enables or disables the application of a relative offset value to the + measurement. **Usage:** - - Accessing this property will send the ``print(dmm.measure.transducer)`` query. - - Setting this property to a value will send the ``dmm.measure.transducer = value`` + - Accessing this property will send the ``print(dmm.digitize.rel.enable)`` query. + - Setting this property to a value will send the ``dmm.digitize.rel.enable = value`` command. **TSP Syntax:** :: - - dmm.measure.transducer = value - - print(dmm.measure.transducer) + - dmm.digitize.rel.enable = value + - print(dmm.digitize.rel.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4034,64 +4854,66 @@ def transducer(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".transducer", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.transducer = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.transducer`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def twortd(self) -> str: - """Access the ``dmm.measure.twortd`` attribute. + def level(self) -> str: + """Access the ``dmm.digitize.rel.level`` attribute. **Description:** - - This attribute defines the type of 2-wire RTD that is being used. + - This attribute contains the relative offset value. **Usage:** - - Accessing this property will send the ``print(dmm.measure.twortd)`` query. - - Setting this property to a value will send the ``dmm.measure.twortd = value`` command. + - Accessing this property will send the ``print(dmm.digitize.rel.level)`` query. + - Setting this property to a value will send the ``dmm.digitize.rel.level = value`` + command. **TSP Syntax:** :: - - dmm.measure.twortd = value - - print(dmm.measure.twortd) + - dmm.digitize.rel.level = value + - print(dmm.digitize.rel.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".twortd" + return self._cmd_syntax + ".level" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.twortd)" + f"print({self._cmd_syntax}.level)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.twortd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @twortd.setter - def twortd(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.twortd`` attribute. + @level.setter + def level(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.rel.level`` attribute. **Description:** - - This attribute defines the type of 2-wire RTD that is being used. + - This attribute contains the relative offset value. **Usage:** - - Accessing this property will send the ``print(dmm.measure.twortd)`` query. - - Setting this property to a value will send the ``dmm.measure.twortd = value`` command. + - Accessing this property will send the ``print(dmm.digitize.rel.level)`` query. + - Setting this property to a value will send the ``dmm.digitize.rel.level = value`` + command. **TSP Syntax:** :: - - dmm.measure.twortd = value - - print(dmm.measure.twortd) + - dmm.digitize.rel.level = value + - print(dmm.digitize.rel.level) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4099,296 +4921,322 @@ def twortd(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".twortd", value + self._cmd_syntax + ".level", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.twortd = {value}" + f"{self._cmd_syntax}.level = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.twortd`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def unit(self) -> str: - """Access the ``dmm.measure.unit`` attribute. + def acquire(self) -> str: + """Run the ``dmm.digitize.rel.acquire()`` function. **Description:** - - This attribute sets the units of measurement that are displayed on the front panel of - the instrument and stored in the reading buffer. - - **Usage:** - - Accessing this property will send the ``print(dmm.measure.unit)`` query. - - Setting this property to a value will send the ``dmm.measure.unit = value`` command. + - This function acquires a measurement and stores it as the relative offset value for + the selected digitize function. **TSP Syntax:** :: - - dmm.measure.unit = value - - print(dmm.measure.unit) + - dmm.digitize.rel.acquire() + + Returns: + The result of the function call. Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.acquire())" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.acquire()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @unit.setter - def unit(self, value: Union[str, float]) -> None: - """Access the ``dmm.measure.unit`` attribute. + +class DmmDigitizeMathMxb(BaseTSPCmd): + """The ``dmm.digitize.math.mxb`` command tree. + + Properties/methods: + - ``.bfactor``: The ``dmm.digitize.math.mxb.bfactor`` attribute. + - ``.mfactor``: The ``dmm.digitize.math.mxb.mfactor`` attribute. + """ + + @property + def bfactor(self) -> str: + """Access the ``dmm.digitize.math.mxb.bfactor`` attribute. **Description:** - - This attribute sets the units of measurement that are displayed on the front panel of - the instrument and stored in the reading buffer. + - This attribute specifies the offset, b, for the y = mx + b operation. **Usage:** - - Accessing this property will send the ``print(dmm.measure.unit)`` query. - - Setting this property to a value will send the ``dmm.measure.unit = value`` command. + - Accessing this property will send the ``print(dmm.digitize.math.mxb.bfactor)`` query. + - Setting this property to a value will send the + ``dmm.digitize.math.mxb.bfactor = value`` command. **TSP Syntax:** :: - - dmm.measure.unit = value - - print(dmm.measure.unit) + - dmm.digitize.math.mxb.bfactor = value + - print(dmm.digitize.math.mxb.bfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - if self._device.command_verification_enabled: # type: ignore[union-attr] - self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".unit", value - ) - else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".bfactor" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.bfactor)" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @property - def userdelay(self) -> Dict[int, Union[str, float]]: - """Access the ``dmm.measure.userdelay[N]`` attribute. + @bfactor.setter + def bfactor(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.math.mxb.bfactor`` attribute. **Description:** - - This attribute sets a user-defined delay that you can use in the trigger model. - - **Usage:** - - Accessing an item from this property will send the ``print(dmm.measure.userdelay[N])`` - query. - - Setting an item from this property to a value will send the - ``dmm.measure.userdelay[N] = value`` command. + - This attribute specifies the offset, b, for the y = mx + b operation. + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.math.mxb.bfactor)`` query. + - Setting this property to a value will send the + ``dmm.digitize.math.mxb.bfactor = value`` command. **TSP Syntax:** :: - - dmm.measure.userdelay[N] = value - - print(dmm.measure.userdelay[N]) - - **Info:** - - ``N``, the user delay to which this time applies (1 to 5). + - dmm.digitize.math.mxb.bfactor = value + - print(dmm.digitize.math.mxb.bfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ - return self._userdelay + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".bfactor", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.bfactor = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error - def getattribute(self, function: str, setting: str) -> str: - """Run the ``dmm.measure.getattribute()`` function. + @property + def mfactor(self) -> str: + """Access the ``dmm.digitize.math.mxb.mfactor`` attribute. **Description:** - - This function returns the setting for a function attribute. + - This attribute specifies the scale factor, m, for the y = mx + b math operation. + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.math.mxb.mfactor)`` query. + - Setting this property to a value will send the + ``dmm.digitize.math.mxb.mfactor = value`` command. **TSP Syntax:** :: - - dmm.measure.getattribute() - - Args: - function: The measurement function; see Details. - setting: The attribute for the function; refer to dmm.measure.setattribute() for - available settings. - - Returns: - The result of the function call. + - dmm.digitize.math.mxb.mfactor = value + - print(dmm.digitize.math.mxb.mfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".mfactor" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.getattribute({function}, {setting}))" + f"print({self._cmd_syntax}.mfactor)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.getattribute()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def read(self, buffer_name: Optional[str] = None) -> str: - """Run the ``dmm.measure.read()`` function. + @mfactor.setter + def mfactor(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.math.mxb.mfactor`` attribute. **Description:** - - This function makes measurements, places them in a reading buffer, and returns the - last reading. + - This attribute specifies the scale factor, m, for the y = mx + b math operation. + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.math.mxb.mfactor)`` query. + - Setting this property to a value will send the + ``dmm.digitize.math.mxb.mfactor = value`` command. **TSP Syntax:** :: - - dmm.measure.read() - - Args: - buffer_name (optional): The name of the reading buffer, which may be a default buffer - (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is defined, it - defaults to defbuffer1. - - Returns: - The result of the function call. + - dmm.digitize.math.mxb.mfactor = value + - print(dmm.digitize.math.mxb.mfactor) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.read({function_args}))" - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".mfactor", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mfactor = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.read()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def readwithtime(self, buffer_name: Optional[str] = None) -> str: - """Run the ``dmm.measure.readwithtime()`` function. + +class DmmDigitizeMath(BaseTSPCmd): + """The ``dmm.digitize.math`` command tree. + + Properties/methods: + - ``.enable``: The ``dmm.digitize.math.enable`` attribute. + - ``.format``: The ``dmm.digitize.math.format`` attribute. + - ``.mxb``: The ``dmm.digitize.math.mxb`` command tree. + - ``.percent``: The ``dmm.digitize.math.percent`` attribute. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mxb = DmmDigitizeMathMxb(device, f"{self._cmd_syntax}.mxb") + + @property + def enable(self) -> str: + """Access the ``dmm.digitize.math.enable`` attribute. **Description:** - - This function initiates measurements and returns the last actual measurement and time - information in UTC format without using the trigger model. + - This attribute enables or disables math operations on measurements for the selected + digitize function. + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.math.enable)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.readwithtime() - - Args: - buffer_name (optional): The name of the reading buffer, which may be a default buffer - (defbuffer1 or defbuffer2) or a user-defined buffer; if no buffer is specified, this - parameter defaults to defbuffer1. - - Returns: - The result of the function call. + - dmm.digitize.math.enable = value + - print(dmm.digitize.math.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - function_args = ", ".join(str(x) for x in (buffer_name,) if x is not None) + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.readwithtime({function_args}))" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.readwithtime()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def setattribute(self, function: str, setting: str, value: str) -> None: - """Run the ``dmm.measure.setattribute()`` function. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.math.enable`` attribute. **Description:** - - This function allows you to set up a measure function whether or not the function is - active. + - This attribute enables or disables math operations on measurements for the selected + digitize function. + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.math.enable)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.enable = value`` + command. **TSP Syntax:** :: - - dmm.measure.setattribute() - - Args: - function: The function for which you are setting parameters; see Functions. - setting: The parameter for the function; refer to Details and the tables following the - examples. - value: The parameter value. + - dmm.digitize.math.enable = value + - print(dmm.digitize.math.enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.setattribute({function}, {setting}, {value})" - ) + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.setattribute()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - -class DmmDigitizeRel(BaseTSPCmd): - """The ``dmm.digitize.rel`` command tree. - - Properties/methods: - - ``.acquire()``: The ``dmm.digitize.rel.acquire()`` function. - - ``.enable``: The ``dmm.digitize.rel.enable`` attribute. - - ``.level``: The ``dmm.digitize.rel.level`` attribute. - """ - @property - def enable(self) -> str: - """Access the ``dmm.digitize.rel.enable`` attribute. + def format(self) -> str: + """Access the ``dmm.digitize.math.format`` attribute. **Description:** - - This attribute enables or disables the application of a relative offset value to the - measurement. + - This attribute specifies which math operation is performed on measurements when math + operations are enabled. **Usage:** - - Accessing this property will send the ``print(dmm.digitize.rel.enable)`` query. - - Setting this property to a value will send the ``dmm.digitize.rel.enable = value`` + - Accessing this property will send the ``print(dmm.digitize.math.format)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.format = value`` command. **TSP Syntax:** :: - - dmm.digitize.rel.enable = value - - print(dmm.digitize.rel.enable) + - dmm.digitize.math.format = value + - print(dmm.digitize.math.format) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".format" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.format)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.rel.enable`` attribute. + @format.setter + def format(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.math.format`` attribute. **Description:** - - This attribute enables or disables the application of a relative offset value to the - measurement. + - This attribute specifies which math operation is performed on measurements when math + operations are enabled. **Usage:** - - Accessing this property will send the ``print(dmm.digitize.rel.enable)`` query. - - Setting this property to a value will send the ``dmm.digitize.rel.enable = value`` + - Accessing this property will send the ``print(dmm.digitize.math.format)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.format = value`` command. **TSP Syntax:** :: - - dmm.digitize.rel.enable = value - - print(dmm.digitize.rel.enable) + - dmm.digitize.math.format = value + - print(dmm.digitize.math.format) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4396,66 +5244,78 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".format", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.format = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def level(self) -> str: - """Access the ``dmm.digitize.rel.level`` attribute. + def mxb(self) -> DmmDigitizeMathMxb: + """Return the ``dmm.digitize.math.mxb`` command tree. + + Sub-properties/methods: + - ``.bfactor``: The ``dmm.digitize.math.mxb.bfactor`` attribute. + - ``.mfactor``: The ``dmm.digitize.math.mxb.mfactor`` attribute. + """ + return self._mxb + + @property + def percent(self) -> str: + """Access the ``dmm.digitize.math.percent`` attribute. **Description:** - - This attribute contains the relative offset value. + - This attribute specifies the reference constant that is used when math operations are + set to percent. **Usage:** - - Accessing this property will send the ``print(dmm.digitize.rel.level)`` query. - - Setting this property to a value will send the ``dmm.digitize.rel.level = value`` + - Accessing this property will send the ``print(dmm.digitize.math.percent)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.percent = value`` command. **TSP Syntax:** :: - - dmm.digitize.rel.level = value - - print(dmm.digitize.rel.level) + - dmm.digitize.math.percent = value + - print(dmm.digitize.math.percent) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".level" + return self._cmd_syntax + ".percent" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.level)" + f"print({self._cmd_syntax}.percent)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @level.setter - def level(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.rel.level`` attribute. + @percent.setter + def percent(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.math.percent`` attribute. **Description:** - - This attribute contains the relative offset value. + - This attribute specifies the reference constant that is used when math operations are + set to percent. **Usage:** - - Accessing this property will send the ``print(dmm.digitize.rel.level)`` query. - - Setting this property to a value will send the ``dmm.digitize.rel.level = value`` + - Accessing this property will send the ``print(dmm.digitize.math.percent)`` query. + - Setting this property to a value will send the ``dmm.digitize.math.percent = value`` command. **TSP Syntax:** :: - - dmm.digitize.rel.level = value - - print(dmm.digitize.rel.level) + - dmm.digitize.math.percent = value + - print(dmm.digitize.math.percent) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4463,102 +5323,76 @@ def level(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".level", value + self._cmd_syntax + ".percent", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.level = {value}" + f"{self._cmd_syntax}.percent = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.level`` attribute." # noqa: E501 - raise NoDeviceProvidedError(msg) from error - - def acquire(self) -> str: - """Run the ``dmm.digitize.rel.acquire()`` function. - - **Description:** - - This function acquires a measurement and stores it as the relative offset value for - the selected digitize function. - - **TSP Syntax:** - - :: - - - dmm.digitize.rel.acquire() - - Returns: - The result of the function call. - - Raises: - tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. - """ - try: - return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.acquire())" - ) - except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.acquire()`` function." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class DmmDigitizeMathMxb(BaseTSPCmd): - """The ``dmm.digitize.math.mxb`` command tree. +class DmmDigitizeLimitItemLow(BaseTSPCmd): + """The ``dmm.digitize.limit[r].low`` command tree. Properties/methods: - - ``.bfactor``: The ``dmm.digitize.math.mxb.bfactor`` attribute. - - ``.mfactor``: The ``dmm.digitize.math.mxb.mfactor`` attribute. + - ``.value``: The ``dmm.digitize.limit[r].low.value`` attribute. """ @property - def bfactor(self) -> str: - """Access the ``dmm.digitize.math.mxb.bfactor`` attribute. + def value(self) -> str: + """Access the ``dmm.digitize.limit[r].low.value`` attribute. **Description:** - - This attribute specifies the offset, b, for the y = mx + b operation. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.mxb.bfactor)`` query. + - Accessing this property will send the ``print(dmm.digitize.limit[r].low.value)`` + query. - Setting this property to a value will send the - ``dmm.digitize.math.mxb.bfactor = value`` command. + ``dmm.digitize.limit[r].low.value = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.mxb.bfactor = value - - print(dmm.digitize.math.mxb.bfactor) + - dmm.digitize.limit[r].low.value = value + - print(dmm.digitize.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".bfactor" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.bfactor)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @bfactor.setter - def bfactor(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.math.mxb.bfactor`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.limit[r].low.value`` attribute. **Description:** - - This attribute specifies the offset, b, for the y = mx + b operation. + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.mxb.bfactor)`` query. + - Accessing this property will send the ``print(dmm.digitize.limit[r].low.value)`` + query. - Setting this property to a value will send the - ``dmm.digitize.math.mxb.bfactor = value`` command. + ``dmm.digitize.limit[r].low.value = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.mxb.bfactor = value - - print(dmm.digitize.math.mxb.bfactor) + - dmm.digitize.limit[r].low.value = value + - print(dmm.digitize.limit[r].low.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4566,66 +5400,76 @@ def bfactor(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".bfactor", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.bfactor = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.bfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + +class DmmDigitizeLimitItemHigh(BaseTSPCmd): + """The ``dmm.digitize.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.digitize.limit[r].high.value`` attribute. + """ + @property - def mfactor(self) -> str: - """Access the ``dmm.digitize.math.mxb.mfactor`` attribute. + def value(self) -> str: + """Access the ``dmm.digitize.limit[r].high.value`` attribute. **Description:** - - This attribute specifies the scale factor, m, for the y = mx + b math operation. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.mxb.mfactor)`` query. + - Accessing this property will send the ``print(dmm.digitize.limit[r].high.value)`` + query. - Setting this property to a value will send the - ``dmm.digitize.math.mxb.mfactor = value`` command. + ``dmm.digitize.limit[r].high.value = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.mxb.mfactor = value - - print(dmm.digitize.math.mxb.mfactor) + - dmm.digitize.limit[r].high.value = value + - print(dmm.digitize.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".mfactor" + return self._cmd_syntax + ".value" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.mfactor)" + f"print({self._cmd_syntax}.value)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @mfactor.setter - def mfactor(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.math.mxb.mfactor`` attribute. + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.limit[r].high.value`` attribute. **Description:** - - This attribute specifies the scale factor, m, for the y = mx + b math operation. + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.mxb.mfactor)`` query. + - Accessing this property will send the ``print(dmm.digitize.limit[r].high.value)`` + query. - Setting this property to a value will send the - ``dmm.digitize.math.mxb.mfactor = value`` command. + ``dmm.digitize.limit[r].high.value = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.mxb.mfactor = value - - print(dmm.digitize.math.mxb.mfactor) + - dmm.digitize.limit[r].high.value = value + - print(dmm.digitize.limit[r].high.value) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4633,83 +5477,86 @@ def mfactor(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".mfactor", value + self._cmd_syntax + ".value", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.mfactor = {value}" + f"{self._cmd_syntax}.value = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mfactor`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error -class DmmDigitizeMath(BaseTSPCmd): - """The ``dmm.digitize.math`` command tree. +class DmmDigitizeLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``dmm.digitize.limit[r]`` command tree. Properties/methods: - - ``.enable``: The ``dmm.digitize.math.enable`` attribute. - - ``.format``: The ``dmm.digitize.math.format`` attribute. - - ``.mxb``: The ``dmm.digitize.math.mxb`` command tree. - - ``.percent``: The ``dmm.digitize.math.percent`` attribute. + - ``.audible``: The ``dmm.digitize.limit[r].audible`` attribute. + - ``.autoclear``: The ``dmm.digitize.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.digitize.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.digitize.limit[r].fail`` attribute. + - ``.high``: The ``dmm.digitize.limit[r].high`` command tree. + - ``.low``: The ``dmm.digitize.limit[r].low`` command tree. """ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) - self._mxb = DmmDigitizeMathMxb(device, f"{self._cmd_syntax}.mxb") + self._high = DmmDigitizeLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = DmmDigitizeLimitItemLow(device, f"{self._cmd_syntax}.low") @property - def enable(self) -> str: - """Access the ``dmm.digitize.math.enable`` attribute. + def audible(self) -> str: + """Access the ``dmm.digitize.limit[r].audible`` attribute. **Description:** - - This attribute enables or disables math operations on measurements for the selected - digitize function. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.enable)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.enable = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].audible)`` query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].audible = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.enable = value - - print(dmm.digitize.math.enable) + - dmm.digitize.limit[r].audible = value + - print(dmm.digitize.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".enable" + return self._cmd_syntax + ".audible" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.enable)" + f"print({self._cmd_syntax}.audible)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @enable.setter - def enable(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.math.enable`` attribute. + @audible.setter + def audible(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.limit[r].audible`` attribute. **Description:** - - This attribute enables or disables math operations on measurements for the selected - digitize function. + - This attribute determines if the instrument beeper sounds when a limit test passes or + fails. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.enable)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.enable = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].audible)`` query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].audible = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.enable = value - - print(dmm.digitize.math.enable) + - dmm.digitize.limit[r].audible = value + - print(dmm.digitize.limit[r].audible) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4717,68 +5564,70 @@ def enable(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".enable", value + self._cmd_syntax + ".audible", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.enable = {value}" + f"{self._cmd_syntax}.audible = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.audible`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def format(self) -> str: - """Access the ``dmm.digitize.math.format`` attribute. + def autoclear(self) -> str: + """Access the ``dmm.digitize.limit[r].autoclear`` attribute. **Description:** - - This attribute specifies which math operation is performed on measurements when math - operations are enabled. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.format)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.format = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].autoclear)`` + query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.format = value - - print(dmm.digitize.math.format) + - dmm.digitize.limit[r].autoclear = value + - print(dmm.digitize.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".format" + return self._cmd_syntax + ".autoclear" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.format)" + f"print({self._cmd_syntax}.autoclear)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @format.setter - def format(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.math.format`` attribute. + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.limit[r].autoclear`` attribute. **Description:** - - This attribute specifies which math operation is performed on measurements when math - operations are enabled. + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.format)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.format = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].autoclear)`` + query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].autoclear = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.format = value - - print(dmm.digitize.math.format) + - dmm.digitize.limit[r].autoclear = value + - print(dmm.digitize.limit[r].autoclear) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4786,78 +5635,68 @@ def format(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".format", value + self._cmd_syntax + ".autoclear", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.format = {value}" + f"{self._cmd_syntax}.autoclear = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.format`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @property - def mxb(self) -> DmmDigitizeMathMxb: - """Return the ``dmm.digitize.math.mxb`` command tree. - - Sub-properties/methods: - - ``.bfactor``: The ``dmm.digitize.math.mxb.bfactor`` attribute. - - ``.mfactor``: The ``dmm.digitize.math.mxb.mfactor`` attribute. - """ - return self._mxb - - @property - def percent(self) -> str: - """Access the ``dmm.digitize.math.percent`` attribute. + def enable(self) -> str: + """Access the ``dmm.digitize.limit[r].enable`` attribute. **Description:** - - This attribute specifies the reference constant that is used when math operations are - set to percent. + - This attribute enables or disables a limit test on the measurement from the selected + digitize function. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.percent)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.percent = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].enable)`` query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].enable = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.percent = value - - print(dmm.digitize.math.percent) + - dmm.digitize.limit[r].enable = value + - print(dmm.digitize.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: if self._device.command_syntax_enabled: # type: ignore[union-attr] - return self._cmd_syntax + ".percent" + return self._cmd_syntax + ".enable" return self._device.query( # type: ignore[union-attr] - f"print({self._cmd_syntax}.percent)" + f"print({self._cmd_syntax}.enable)" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error - @percent.setter - def percent(self, value: Union[str, float]) -> None: - """Access the ``dmm.digitize.math.percent`` attribute. + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.digitize.limit[r].enable`` attribute. **Description:** - - This attribute specifies the reference constant that is used when math operations are - set to percent. + - This attribute enables or disables a limit test on the measurement from the selected + digitize function. (r = resistance in ohms) **Usage:** - - Accessing this property will send the ``print(dmm.digitize.math.percent)`` query. - - Setting this property to a value will send the ``dmm.digitize.math.percent = value`` - command. + - Accessing this property will send the ``print(dmm.digitize.limit[r].enable)`` query. + - Setting this property to a value will send the + ``dmm.digitize.limit[r].enable = value`` command. **TSP Syntax:** :: - - dmm.digitize.math.percent = value - - print(dmm.digitize.math.percent) + - dmm.digitize.limit[r].enable = value + - print(dmm.digitize.limit[r].enable) Raises: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. @@ -4865,16 +5704,61 @@ def percent(self, value: Union[str, float]) -> None: try: if self._device.command_verification_enabled: # type: ignore[union-attr] self._device.set_and_check( # type: ignore[union-attr] - self._cmd_syntax + ".percent", value + self._cmd_syntax + ".enable", value ) else: self._device.write( # type: ignore[union-attr] - f"{self._cmd_syntax}.percent = {value}" + f"{self._cmd_syntax}.enable = {value}" ) except AttributeError as error: - msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.percent`` attribute." # noqa: E501 + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``dmm.digitize.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.digitize.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(dmm.digitize.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def high(self) -> DmmDigitizeLimitItemHigh: + """Return the ``dmm.digitize.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.digitize.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> DmmDigitizeLimitItemLow: + """Return the ``dmm.digitize.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.digitize.limit[r].low.value`` attribute. + """ + return self._low + class DmmDigitizeAnalogtriggerWindow(BaseTSPCmd): """The ``dmm.digitize.analogtrigger.window`` command tree. @@ -5359,6 +6243,7 @@ class DmmDigitize(BaseTSPCmd): - ``.displaydigits``: The ``dmm.digitize.displaydigits`` attribute. - ``.func``: The ``dmm.digitize.func`` attribute. - ``.inputimpedance``: The ``dmm.digitize.inputimpedance`` attribute. + - ``.limit``: The ``dmm.digitize.limit[r]`` command tree. - ``.math``: The ``dmm.digitize.math`` command tree. - ``.range``: The ``dmm.digitize.range`` attribute. - ``.read()``: The ``dmm.digitize.read()`` function. @@ -5372,6 +6257,9 @@ class DmmDigitize(BaseTSPCmd): def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: super().__init__(device, cmd_syntax) self._analogtrigger = DmmDigitizeAnalogtrigger(device, f"{self._cmd_syntax}.analogtrigger") + self._limit: Dict[int, DmmDigitizeLimitItem] = DefaultDictPassKeyToFactory( + lambda x: DmmDigitizeLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = DmmDigitizeMath(device, f"{self._cmd_syntax}.math") self._rel = DmmDigitizeRel(device, f"{self._cmd_syntax}.rel") self._userdelay: Dict[int, Union[str, float]] = DefaultDictDeviceCommunication( @@ -5857,6 +6745,20 @@ def inputimpedance(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, DmmDigitizeLimitItem]: + """Return the ``dmm.digitize.limit[r]`` command tree. + + Sub-properties/methods: + - ``.audible``: The ``dmm.digitize.limit[r].audible`` attribute. + - ``.autoclear``: The ``dmm.digitize.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.digitize.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.digitize.limit[r].fail`` attribute. + - ``.high``: The ``dmm.digitize.limit[r].high`` command tree. + - ``.low``: The ``dmm.digitize.limit[r].low`` command tree. + """ + return self._limit + @property def math(self) -> DmmDigitizeMath: """Return the ``dmm.digitize.math`` command tree. @@ -6804,6 +7706,7 @@ def digitize(self) -> DmmDigitize: - ``.displaydigits``: The ``dmm.digitize.displaydigits`` attribute. - ``.func``: The ``dmm.digitize.func`` attribute. - ``.inputimpedance``: The ``dmm.digitize.inputimpedance`` attribute. + - ``.limit``: The ``dmm.digitize.limit[r]`` command tree. - ``.math``: The ``dmm.digitize.math`` command tree. - ``.range``: The ``dmm.digitize.range`` attribute. - ``.read()``: The ``dmm.digitize.read()`` function. @@ -6837,6 +7740,7 @@ def measure(self) -> DmmMeasure: - ``.func``: The ``dmm.measure.func`` attribute. - ``.getattribute()``: The ``dmm.measure.getattribute()`` function. - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. - ``.linesync``: The ``dmm.measure.linesync`` attribute. - ``.math``: The ``dmm.measure.math`` command tree. - ``.nplc``: The ``dmm.measure.nplc`` attribute. diff --git a/src/tm_devices/commands/_canxny_daq/trigger.py b/src/tm_devices/commands/_canxny_daq/trigger.py index 5b0cc75c..e120c393 100644 --- a/src/tm_devices/commands/_canxny_daq/trigger.py +++ b/src/tm_devices/commands/_canxny_daq/trigger.py @@ -4268,12 +4268,58 @@ class Trigger(BaseTSPCmd): """The ``trigger`` command tree. Constants: - - ``.EDGE_EITHER``: Detect either falling or rising-edge triggers as inputs on the EXTERNAL - TRIGGER IN trigger line. - - ``.EDGE_FALLING``: Detect falling-edge triggers as inputs on the EXTERNAL TRIGGER IN - trigger line. - - ``.EDGE_RISING``: Detect rising-edge triggers as inputs on the EXTERNAL TRIGGER IN trigger - line. + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block if + the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a specified + block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a specified + block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building block + the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified building + block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger event + occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the digital + I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger model + is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a branch + counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing the + trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them + (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as input + when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as input + when the line is configured as an input or open drain. - ``.EVENT_ANALOGTRIGGER``: Analog trigger. - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. - ``.EVENT_COMMAND``: A command interface trigger. @@ -4290,19 +4336,64 @@ class Trigger(BaseTSPCmd): - ``.EVENT_SCAN_CHANNEL_READY``: Channel closed (returns trigger.EVENT_NOTIFY6). - ``.EVENT_SCAN_COMPLETE``: Scan completed (returns trigger.EVENT_NOTIFY8). - ``.EVENT_SCAN_MEASURE_COMPLETE``: Measure completed (returns trigger.EVENT_NOTIFY7). - - ``.EVENT_TIMER1``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until - trigger timer 1 expires. - - ``.EVENT_TIMER2``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until - trigger timer 2 expires. - - ``.EVENT_TIMER3``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until - trigger timer 3 expires. - - ``.EVENT_TIMER4``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until - trigger timer 4 expires. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. - ``.EVENT_TIMERN``: Trigger timer N (1 to 4) expired. - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). - - ``.LOGIC_NEGATIVE``: Assert a TTL-low pulse for output. - - ``.LOGIC_POSITIVE``: Assert a TTL-high pulse for output. + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be set, + but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be set, + but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. - ``.SCAN_ALARM_LIMIT``: Scan alarm limit exceeded. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than 100 + ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model continues. Properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -4322,12 +4413,70 @@ class Trigger(BaseTSPCmd): - ``.wait()``: The ``trigger.wait()`` function. """ + BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + """str: Defines a trigger model block that always goes to a specific block.""" + BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + """str: Defines a trigger model block that branches to a specified block a specified number of times.""" # noqa: E501 + BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + """str: Defines a trigger model block that goes to a specified block if the difference of two measurements meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + """str: Defines a trigger model block that goes to a specified block if a measurement meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + """str: Defines a trigger model block that goes to a specified block in the trigger model if a measurement meets user-defined criteria.""" # noqa: E501 + BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + """str: Causes the trigger model to branch to a specified building block the first time it is encountered in the trigger model.""" # noqa: E501 + BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + """str: Causes the trigger model to go to a specified building block every time the trigger model encounters it, except for the first time.""" # noqa: E501 + BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + """str: Branches to a specified block when a specified trigger event occurs.""" + BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + """str: Defines a trigger model block that clears the reading buffer.""" + BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + """str: Recalls the settings at the next index of a configuration list.""" + BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + """str: Recalls the settings stored at the previous index of a configuration list.""" + BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + """str: Adds a constant delay to the execution of a trigger model.""" + BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + """str: Adds a user delay to the execution of the trigger model.""" + BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + """str: Defines a trigger model block that sets the lines on the digital I/O port high or low.""" # noqa: E501 + BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + """str: Allows you to log an event in the event log when the trigger model is running.""" + BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + """str: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead.""" + BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + """str: defines a trigger block that makes or digitizes a measurement.""" + BLOCK_NOP = "trigger.BLOCK_NOP" + """str: Creates a placeholder that performs no action in the trigger model.""" + BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + """str: Defines a trigger-model block that generates a trigger event and immediately continues to the next block.""" # noqa: E501 + BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + """str: Creates a block in the trigger model that resets a branch counter to 0.""" + BLOCK_WAIT = "trigger.BLOCK_WAIT" + """str: Defines a trigger model block that waits for an event before allowing the trigger model to continue.""" # noqa: E501 + CLEAR_ENTER = "trigger.CLEAR_ENTER" + """str: Clear previously detected trigger events when entering the wait block.""" + CLEAR_NEVER = "trigger.CLEAR_NEVER" + """str: Immediately act on any previously detected triggers and not clear them (default).""" + CONT_AUTO = "trigger.CONT_AUTO" + """str: Start continuous measurements after boot.""" + CONT_OFF = "trigger.CONT_OFF" + """str: Do not start continuous measurements after boot.""" + CONT_RESTART = "trigger.CONT_RESTART" + """str: Place the instrument into local control and start continuous measurements after boot.""" + COUNT_AUTO = "trigger.COUNT_AUTO" + """str: Use most recent count value.""" + COUNT_INFINITE = "trigger.COUNT_INFINITE" + """str: Infinite (run continuously until stopped).""" + COUNT_STOP = "trigger.COUNT_STOP" + """str: Stop infinite to stop the block.""" EDGE_EITHER = "trigger.EDGE_EITHER" - """str: Detect either falling or rising-edge triggers as inputs on the EXTERNAL TRIGGER IN trigger line.""" # noqa: E501 + """str: Sets the selected trigger line to detect either rising-edge or falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 EDGE_FALLING = "trigger.EDGE_FALLING" - """str: Detect falling-edge triggers as inputs on the EXTERNAL TRIGGER IN trigger line.""" + """str: Sets the selected trigger line to detect falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 EDGE_RISING = "trigger.EDGE_RISING" - """str: Detect rising-edge triggers as inputs on the EXTERNAL TRIGGER IN trigger line.""" + """str: Sets the selected trigger line to detect rising-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 EVENT_ANALOGTRIGGER = "trigger.EVENT_ANALOGTRIGGER" """str: Analog trigger.""" EVENT_BLENDERN = "trigger.EVENT_BLENDERN" @@ -4355,23 +4504,81 @@ class Trigger(BaseTSPCmd): EVENT_SCAN_MEASURE_COMPLETE = "trigger.EVENT_SCAN_MEASURE_COMPLETE" """str: Measure completed (returns trigger.EVENT_NOTIFY7).""" EVENT_TIMER1 = "trigger.EVENT_TIMER1" - """str: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until trigger timer 1 expires.""" # noqa: E501 + """str: Trigger timer 1 expired.""" EVENT_TIMER2 = "trigger.EVENT_TIMER2" - """str: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until trigger timer 2 expires.""" # noqa: E501 + """str: Trigger timer 2 expired.""" EVENT_TIMER3 = "trigger.EVENT_TIMER3" - """str: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until trigger timer 3 expires.""" # noqa: E501 + """str: Trigger timer 3 expired.""" EVENT_TIMER4 = "trigger.EVENT_TIMER4" - """str: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait until trigger timer 4 expires.""" # noqa: E501 + """str: Trigger timer 4 expired.""" EVENT_TIMERN = "trigger.EVENT_TIMERN" """str: Trigger timer N (1 to 4) expired.""" EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" """str: Line edge detected on TSP-Link synchronization line N (1 to 3).""" + LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + """str: The measurement is above the value set by limit B; limit A must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_BELOW = "trigger.LIMIT_BELOW" + """str: The measurement is below the value set by limit A; limit B must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + """str: The measurement is inside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + """str: The measurement is outside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" - """str: Assert a TTL-low pulse for output.""" + """str: Asserts a TTL-low pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" - """str: Assert a TTL-high pulse for output.""" + """str: Asserts a TTL-high pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOG_ERROR1 = "trigger.LOG_ERROR1" + """str: Log error event 1 in the event log when trigger model execution reaches this block.""" + LOG_ERROR2 = "trigger.LOG_ERROR2" + """str: Log error event 2 in the event log when trigger model execution reaches this block.""" + LOG_ERROR3 = "trigger.LOG_ERROR3" + """str: Log error event 3 in the event log when trigger model execution reaches this block.""" + LOG_ERROR4 = "trigger.LOG_ERROR4" + """str: Log error event 4 in the event log when trigger model execution reaches this block.""" + LOG_INFO1 = "trigger.LOG_INFO1" + """str: Log information event 1 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO2 = "trigger.LOG_INFO2" + """str: Log information event 2 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO3 = "trigger.LOG_INFO3" + """str: Log information event 3 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO4 = "trigger.LOG_INFO4" + """str: Log information event 4 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_WARN1 = "trigger.LOG_WARN1" + """str: Log warning event 1 in the event log when trigger model execution reaches this block.""" + LOG_WARN2 = "trigger.LOG_WARN2" + """str: Log warning event 2 in the event log when trigger model execution reaches this block.""" + LOG_WARN3 = "trigger.LOG_WARN3" + """str: Log warning event 3 in the event log when trigger model execution reaches this block.""" + LOG_WARN4 = "trigger.LOG_WARN4" + """str: Log warning event 4 in the event log when trigger model execution reaches this block.""" + LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + """str: Abort the trigger model immediately and post a warning event log message.""" + OFF = "trigger.OFF" + """str: Disable the trigger timer.""" + ON = "trigger.ON" + """str: Enable the trigger timer.""" SCAN_ALARM_LIMIT = "trigger.SCAN_ALARM_LIMIT" """str: Scan alarm limit exceeded.""" + STATE_ABORTED = "trigger.STATE_ABORTED" + """str: The trigger model is stopped.""" + STATE_ABORTING = "trigger.STATE_ABORTING" + """str: The trigger model is stopping.""" + STATE_BUILDING = "trigger.STATE_BUILDING" + """str: Blocks have been added.""" + STATE_EMPTY = "trigger.STATE_EMPTY" + """str: The trigger model is selected, but no blocks are defined.""" + STATE_FAILED = "trigger.STATE_FAILED" + """str: The trigger model is stopped because of an error.""" + STATE_IDLE = "trigger.STATE_IDLE" + """str: The trigger model is stopped.""" + STATE_RUNNING = "trigger.STATE_RUNNING" + """str: The trigger model is running.""" + STATE_WAITING = "trigger.STATE_WAITING" + """str: The trigger model has been in the same wait block for more than 100 ms.""" + WAIT_AND = "trigger.WAIT_AND" + """str: Each event must occur before the trigger model continues.""" + WAIT_OR = "trigger.WAIT_OR" + """str: At least one of the events must occur before the trigger model continues.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "trigger") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_canxny_daq/tsplink.py b/src/tm_devices/commands/_canxny_daq/tsplink.py index 71154fdd..8edfc63d 100644 --- a/src/tm_devices/commands/_canxny_daq/tsplink.py +++ b/src/tm_devices/commands/_canxny_daq/tsplink.py @@ -149,6 +149,14 @@ def reset(self) -> None: class Tsplink(BaseTSPCmd): """The ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. @@ -160,6 +168,19 @@ class Tsplink(BaseTSPCmd): - ``.writeport()``: The ``tsplink.writeport()`` function. """ + MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + """str: TSP-Link digital open drain line.""" + MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + """str: TSP-Link trigger synchronous acceptor.""" + MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + """str: TSP-Link trigger synchronous master.""" + MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + """str: TSP-Link trigger open drain line.""" + STATE_HIGH = "tsplink.STATE_HIGH" + """str: High state of the synchronization line.""" + STATE_LOW = "tsplink.STATE_LOW" + """str: Low state of the synchronization line.""" + def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "tsplink") -> None: super().__init__(device, cmd_syntax) self._line: Dict[int, TsplinkLineItem] = DefaultDictPassKeyToFactory( diff --git a/src/tm_devices/commands/_d6b496_dmm/buffer.py b/src/tm_devices/commands/_d6b496_dmm/buffer.py index c8fe7b01..5a1152c4 100644 --- a/src/tm_devices/commands/_d6b496_dmm/buffer.py +++ b/src/tm_devices/commands/_d6b496_dmm/buffer.py @@ -17,6 +17,8 @@ - buffer.delete() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() """ from typing import Optional, TYPE_CHECKING @@ -26,6 +28,67 @@ from tm_devices.drivers.pi.tsp_device import TSPDevice +class BufferWrite(BaseTSPCmd): + """The ``buffer.write`` command tree. + + Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. + """ + + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class Buffer(BaseTSPCmd): """The ``buffer`` command tree. @@ -102,6 +165,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -133,6 +201,8 @@ class Buffer(BaseTSPCmd): - ``.delete()``: The ``buffer.delete()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. + - ``.write``: The ``buffer.write`` command tree. """ COL_ALL = "buffer.COL_ALL" @@ -259,6 +329,14 @@ class Buffer(BaseTSPCmd): """str: Measure terminal, front is 1, rear is 0.""" STYLE_COMPACT = "buffer.STYLE_COMPACT" """str: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp.""" # noqa: E501 + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -312,6 +390,16 @@ class Buffer(BaseTSPCmd): def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "buffer") -> None: super().__init__(device, cmd_syntax) + self._write = BufferWrite(device, f"{self._cmd_syntax}.write") + + @property + def write(self) -> BufferWrite: + """Return the ``buffer.write`` command tree. + + Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. + """ + return self._write def clearstats(self, buffer_var: Optional[str] = None) -> None: """Run the ``buffer.clearstats()`` function. @@ -368,7 +456,7 @@ def delete(self, buffer_name: str) -> None: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -456,3 +544,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/display.py b/src/tm_devices/commands/_d6b496_dmm/display.py index 9ed4d84a..c60ea546 100644 --- a/src/tm_devices/commands/_d6b496_dmm/display.py +++ b/src/tm_devices/commands/_d6b496_dmm/display.py @@ -221,6 +221,9 @@ class Display(BaseTSPCmd): - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -288,6 +291,12 @@ class Display(BaseTSPCmd): """str: Return if OK selected.""" BUTTON_YES = "display.BUTTON_YES" """str: Return if YES selected.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" FORMAT_EXPONENT = "display.FORMAT_EXPONENT" """str: Use exponent format to display measurement readings on the front-panel display of the instrument.""" diff --git a/src/tm_devices/commands/_d6b496_dmm/dmm.py b/src/tm_devices/commands/_d6b496_dmm/dmm.py index 8bf34145..daadf886 100644 --- a/src/tm_devices/commands/_d6b496_dmm/dmm.py +++ b/src/tm_devices/commands/_d6b496_dmm/dmm.py @@ -60,6 +60,11 @@ - dmm.measure.fourrtd - dmm.measure.func - dmm.measure.inputimpedance + - dmm.measure.limit[r].autoclear + - dmm.measure.limit[r].enable + - dmm.measure.limit[r].fail + - dmm.measure.limit[r].high.value + - dmm.measure.limit[r].low.value - dmm.measure.linesync - dmm.measure.math.enable - dmm.measure.math.format @@ -94,9 +99,14 @@ - dmm.trigger.digitize.stimulus - dmm.trigger.measure.stimulus """ -from typing import Optional, TYPE_CHECKING, Union +from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -1313,6 +1323,358 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class DmmMeasureLimitItemLow(BaseTSPCmd): + """The ``dmm.measure.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``dmm.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureLimitItemHigh(BaseTSPCmd): + """The ``dmm.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``dmm.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``dmm.measure.limit[r]`` command tree. + + Properties/methods: + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = DmmMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = DmmMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + + @property + def autoclear(self) -> str: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``dmm.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``dmm.measure.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(dmm.measure.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> DmmMeasureLimitItemHigh: + """Return the ``dmm.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> DmmMeasureLimitItemLow: + """Return the ``dmm.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. + """ + return self._low + + class DmmMeasureFilter(BaseTSPCmd): """The ``dmm.measure.filter`` command tree. @@ -2647,6 +3009,7 @@ class DmmMeasure(BaseTSPCmd): - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. - ``.func``: The ``dmm.measure.func`` attribute. - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. - ``.linesync``: The ``dmm.measure.linesync`` attribute. - ``.math``: The ``dmm.measure.math`` command tree. - ``.nplc``: The ``dmm.measure.nplc`` attribute. @@ -2675,6 +3038,9 @@ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: self._autozero = DmmMeasureAutozero(device, f"{self._cmd_syntax}.autozero") self._bias = DmmMeasureBias(device, f"{self._cmd_syntax}.bias") self._filter = DmmMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, DmmMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: DmmMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = DmmMeasureMath(device, f"{self._cmd_syntax}.math") self._offsetcompensation = DmmMeasureOffsetcompensation( device, f"{self._cmd_syntax}.offsetcompensation" @@ -3468,6 +3834,19 @@ def inputimpedance(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, DmmMeasureLimitItem]: + """Return the ``dmm.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + return self._limit + @property def linesync(self) -> str: """Access the ``dmm.measure.linesync`` attribute. @@ -5806,6 +6185,7 @@ def measure(self) -> DmmMeasure: - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. - ``.func``: The ``dmm.measure.func`` attribute. - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. - ``.linesync``: The ``dmm.measure.linesync`` attribute. - ``.math``: The ``dmm.measure.math`` command tree. - ``.nplc``: The ``dmm.measure.nplc`` attribute. diff --git a/src/tm_devices/commands/_d6b496_dmm/trigger.py b/src/tm_devices/commands/_d6b496_dmm/trigger.py index 6b6a3cc3..2c61e31c 100644 --- a/src/tm_devices/commands/_d6b496_dmm/trigger.py +++ b/src/tm_devices/commands/_d6b496_dmm/trigger.py @@ -4145,6 +4145,126 @@ def wait(self, timeout: float) -> str: class Trigger(BaseTSPCmd): """The ``trigger`` command tree. + Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block if + the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a specified + block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a specified + block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building block + the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified building + block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger event + occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the digital + I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger model + is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a branch + counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing the + trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them + (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as input + when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as input + when the line is configured as an input or open drain. + - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the configuration + of the line) detected on digital input line N (1 to 6). + - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 to + 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the + trigger model executes it. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be set, + but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be set, + but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than 100 + ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model continues. + Properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. - ``.clear()``: The ``trigger.clear()`` function. @@ -4163,6 +4283,157 @@ class Trigger(BaseTSPCmd): - ``.wait()``: The ``trigger.wait()`` function. """ + BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + """str: Defines a trigger model block that always goes to a specific block.""" + BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + """str: Defines a trigger model block that branches to a specified block a specified number of times.""" # noqa: E501 + BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + """str: Defines a trigger model block that goes to a specified block if the difference of two measurements meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + """str: Defines a trigger model block that goes to a specified block if a measurement meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + """str: Defines a trigger model block that goes to a specified block in the trigger model if a measurement meets user-defined criteria.""" # noqa: E501 + BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + """str: Causes the trigger model to branch to a specified building block the first time it is encountered in the trigger model.""" # noqa: E501 + BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + """str: Causes the trigger model to go to a specified building block every time the trigger model encounters it, except for the first time.""" # noqa: E501 + BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + """str: Branches to a specified block when a specified trigger event occurs.""" + BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + """str: Defines a trigger model block that clears the reading buffer.""" + BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + """str: Recalls the settings at the next index of a configuration list.""" + BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + """str: Recalls the settings stored at the previous index of a configuration list.""" + BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + """str: Adds a constant delay to the execution of a trigger model.""" + BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + """str: Adds a user delay to the execution of the trigger model.""" + BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + """str: Defines a trigger model block that sets the lines on the digital I/O port high or low.""" # noqa: E501 + BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + """str: Allows you to log an event in the event log when the trigger model is running.""" + BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + """str: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead.""" + BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + """str: defines a trigger block that makes or digitizes a measurement.""" + BLOCK_NOP = "trigger.BLOCK_NOP" + """str: Creates a placeholder that performs no action in the trigger model.""" + BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + """str: Defines a trigger-model block that generates a trigger event and immediately continues to the next block.""" # noqa: E501 + BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + """str: Creates a block in the trigger model that resets a branch counter to 0.""" + BLOCK_WAIT = "trigger.BLOCK_WAIT" + """str: Defines a trigger model block that waits for an event before allowing the trigger model to continue.""" # noqa: E501 + CLEAR_ENTER = "trigger.CLEAR_ENTER" + """str: Clear previously detected trigger events when entering the wait block.""" + CLEAR_NEVER = "trigger.CLEAR_NEVER" + """str: Immediately act on any previously detected triggers and not clear them (default).""" + CONT_AUTO = "trigger.CONT_AUTO" + """str: Start continuous measurements after boot.""" + CONT_OFF = "trigger.CONT_OFF" + """str: Do not start continuous measurements after boot.""" + CONT_RESTART = "trigger.CONT_RESTART" + """str: Place the instrument into local control and start continuous measurements after boot.""" + COUNT_AUTO = "trigger.COUNT_AUTO" + """str: Use most recent count value.""" + COUNT_INFINITE = "trigger.COUNT_INFINITE" + """str: Infinite (run continuously until stopped).""" + COUNT_STOP = "trigger.COUNT_STOP" + """str: Stop infinite to stop the block.""" + EDGE_EITHER = "trigger.EDGE_EITHER" + """str: Sets the selected trigger line to detect either rising-edge or falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_FALLING = "trigger.EDGE_FALLING" + """str: Sets the selected trigger line to detect falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_RISING = "trigger.EDGE_RISING" + """str: Sets the selected trigger line to detect rising-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EVENT_BLENDERN = "trigger.EVENT_BLENDERN" + """str: Trigger event blender N (1 to 2), which combines trigger events.""" + EVENT_COMMAND = "trigger.EVENT_COMMAND" + """str: A command interface trigger.""" + EVENT_DIGION = "trigger.EVENT_DIGION" + """str: Line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line N (1 to 6).""" # noqa: E501 + EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + """str: Front-panel TRIGGER key press.""" + EVENT_LANN = "trigger.EVENT_LANN" + """str: Appropriate LXI trigger packet is received on LAN trigger object N (1 to 8).""" + EVENT_NONE = "trigger.EVENT_NONE" + """str: No trigger event.""" + EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" + """str: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it.""" # noqa: E501 + EVENT_TIMER1 = "trigger.EVENT_TIMER1" + """str: Trigger timer 1 expired.""" + EVENT_TIMER2 = "trigger.EVENT_TIMER2" + """str: Trigger timer 2 expired.""" + EVENT_TIMER3 = "trigger.EVENT_TIMER3" + """str: Trigger timer 3 expired.""" + EVENT_TIMER4 = "trigger.EVENT_TIMER4" + """str: Trigger timer 4 expired.""" + EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + """str: Line edge detected on TSP-Link synchronization line N (1 to 3).""" + LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + """str: The measurement is above the value set by limit B; limit A must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_BELOW = "trigger.LIMIT_BELOW" + """str: The measurement is below the value set by limit A; limit B must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + """str: The measurement is inside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + """str: The measurement is outside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + """str: Asserts a TTL-low pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + """str: Asserts a TTL-high pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOG_ERROR1 = "trigger.LOG_ERROR1" + """str: Log error event 1 in the event log when trigger model execution reaches this block.""" + LOG_ERROR2 = "trigger.LOG_ERROR2" + """str: Log error event 2 in the event log when trigger model execution reaches this block.""" + LOG_ERROR3 = "trigger.LOG_ERROR3" + """str: Log error event 3 in the event log when trigger model execution reaches this block.""" + LOG_ERROR4 = "trigger.LOG_ERROR4" + """str: Log error event 4 in the event log when trigger model execution reaches this block.""" + LOG_INFO1 = "trigger.LOG_INFO1" + """str: Log information event 1 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO2 = "trigger.LOG_INFO2" + """str: Log information event 2 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO3 = "trigger.LOG_INFO3" + """str: Log information event 3 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO4 = "trigger.LOG_INFO4" + """str: Log information event 4 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_WARN1 = "trigger.LOG_WARN1" + """str: Log warning event 1 in the event log when trigger model execution reaches this block.""" + LOG_WARN2 = "trigger.LOG_WARN2" + """str: Log warning event 2 in the event log when trigger model execution reaches this block.""" + LOG_WARN3 = "trigger.LOG_WARN3" + """str: Log warning event 3 in the event log when trigger model execution reaches this block.""" + LOG_WARN4 = "trigger.LOG_WARN4" + """str: Log warning event 4 in the event log when trigger model execution reaches this block.""" + LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + """str: Abort the trigger model immediately and post a warning event log message.""" + OFF = "trigger.OFF" + """str: Disable the trigger timer.""" + ON = "trigger.ON" + """str: Enable the trigger timer.""" + STATE_ABORTED = "trigger.STATE_ABORTED" + """str: The trigger model is stopped.""" + STATE_ABORTING = "trigger.STATE_ABORTING" + """str: The trigger model is stopping.""" + STATE_BUILDING = "trigger.STATE_BUILDING" + """str: Blocks have been added.""" + STATE_EMPTY = "trigger.STATE_EMPTY" + """str: The trigger model is selected, but no blocks are defined.""" + STATE_FAILED = "trigger.STATE_FAILED" + """str: The trigger model is stopped because of an error.""" + STATE_IDLE = "trigger.STATE_IDLE" + """str: The trigger model is stopped.""" + STATE_RUNNING = "trigger.STATE_RUNNING" + """str: The trigger model is running.""" + STATE_WAITING = "trigger.STATE_WAITING" + """str: The trigger model has been in the same wait block for more than 100 ms.""" + WAIT_AND = "trigger.WAIT_AND" + """str: Each event must occur before the trigger model continues.""" + WAIT_OR = "trigger.WAIT_OR" + """str: At least one of the events must occur before the trigger model continues.""" + def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "trigger") -> None: super().__init__(device, cmd_syntax) self._blender: Dict[int, TriggerBlenderItem] = DefaultDictPassKeyToFactory( diff --git a/src/tm_devices/commands/_d83qe0_dmm/buffer.py b/src/tm_devices/commands/_d83qe0_dmm/buffer.py index 148ce9b9..a6876329 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/buffer.py +++ b/src/tm_devices/commands/_d83qe0_dmm/buffer.py @@ -18,6 +18,8 @@ - buffer.delete() - buffer.make() - buffer.save() + - buffer.saveappend() + - buffer.write.format() """ from typing import Optional, TYPE_CHECKING @@ -27,6 +29,67 @@ from tm_devices.drivers.pi.tsp_device import TSPDevice +class BufferWrite(BaseTSPCmd): + """The ``buffer.write`` command tree. + + Properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. + """ + + def format( + self, + buffer_var: str, + units: str, + display_digits: int, + extra_units: Optional[str] = None, + extra_digits: Optional[int] = None, + ) -> None: + """Run the ``buffer.write.format()`` function. + + **Description:** + - This function sets the units and number of digits of the readings that are written + into the reading buffer. + + **TSP Syntax:** + + :: + + - buffer.write.format() + + Args: + buffer_var: The name of the buffer. + units: The units for the first measurement in the buffer index. + display_digits: The number of digits to use for the first measurement. + extra_units (optional): The units for the second measurement in the buffer index; the + selections are the same as units (only valid for buffer style WRITABLE_FULL); if not + specified, uses the value for units. + extra_digits (optional): The number of digits to use for the second measurement; the + selections are the same as displayDigits (only valid for buffer style + WRITABLE_FULL); if not specified, uses the value for displayDigits. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + units, + display_digits, + extra_units, + extra_digits, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.format({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.format()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class Buffer(BaseTSPCmd): """The ``buffer`` command tree. @@ -106,6 +169,11 @@ class Buffer(BaseTSPCmd): - ``.STAT_SCAN``: Scan. - ``.STAT_START_GROUP``: First reading in a group. - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -138,6 +206,8 @@ class Buffer(BaseTSPCmd): - ``.delete()``: The ``buffer.delete()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. + - ``.write``: The ``buffer.write`` command tree. """ COL_ALL = "buffer.COL_ALL" @@ -268,6 +338,14 @@ class Buffer(BaseTSPCmd): """str: First reading in a group.""" STAT_TERMINAL = "buffer.STAT_TERMINAL" """str: Measure terminal, front is 1, rear is 0.""" + STYLE_FULL = "buffer.STYLE_FULL" + """str: Store the same information with full accuracy with formatting, plus additional information.""" # noqa: E501 + STYLE_STANDARD = "buffer.STYLE_STANDARD" + """str: Store readings with full accuracy with formatting.""" + STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + """str: Store external reading buffer data.""" + STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" + """str: Store external reading buffer data with two reading values.""" UNIT_AMP = "buffer.UNIT_AMP" """str: Set units of measure to dc current.""" UNIT_AMP_AC = "buffer.UNIT_AMP_AC" @@ -321,6 +399,16 @@ class Buffer(BaseTSPCmd): def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "buffer") -> None: super().__init__(device, cmd_syntax) + self._write = BufferWrite(device, f"{self._cmd_syntax}.write") + + @property + def write(self) -> BufferWrite: + """Return the ``buffer.write`` command tree. + + Sub-properties/methods: + - ``.format()``: The ``buffer.write.format()`` function. + """ + return self._write # pylint: disable=too-many-arguments def channelmath( @@ -445,7 +533,7 @@ def delete(self, buffer_name: str) -> None: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error - def make(self, buffer_size: str, style: Optional[str] = None) -> str: + def make(self, buffer_size: int, style: Optional[str] = None) -> str: """Run the ``buffer.make()`` function. **Description:** @@ -533,3 +621,55 @@ def save( except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error + + def saveappend( + self, + buffer_var: str, + file_name: str, + time_format: Optional[str] = None, + start: Optional[str] = None, + end: Optional[str] = None, + ) -> None: + """Run the ``buffer.saveappend()`` function. + + **Description:** + - This function appends data from the reading buffer to a file on the USB flash drive. + + **TSP Syntax:** + + :: + + - buffer.saveappend() + + Args: + buffer_var: Indicates the reading buffer to use; the default buffers (defbuffer1 or + defbuffer2) or the name of a user-defined buffer; if no buffer is specified, + defbuffer1 is used. + file_name: A string that indicates the name of the file on the USB flash drive in which + to save the reading buffer. + time_format (optional): Indicates how date and time information from the buffer is saved + in the file on the USB flash drive; the options are. + start (optional): Defines the starting point in the buffer to start saving data. + end (optional): Defines the ending point in the buffer to stop saving data. + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + function_args = ", ".join( + str(x) + for x in ( + buffer_var, + f'"{file_name}"', + time_format, + start, + end, + ) + if x is not None + ) + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.saveappend({function_args})" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.saveappend()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/display.py b/src/tm_devices/commands/_d83qe0_dmm/display.py index e0fd5982..2be2f071 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/display.py +++ b/src/tm_devices/commands/_d83qe0_dmm/display.py @@ -222,6 +222,9 @@ class Display(BaseTSPCmd): - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -290,6 +293,12 @@ class Display(BaseTSPCmd): """str: Return if OK selected.""" BUTTON_YES = "display.BUTTON_YES" """str: Return if YES selected.""" + DIGITS_4_5 = "display.DIGITS_4_5" + """str: Set the front-panel display resolution to 4.5 digits.""" + DIGITS_5_5 = "display.DIGITS_5_5" + """str: Set the front-panel display resolution to 5.5 digits.""" + DIGITS_6_5 = "display.DIGITS_6_5" + """str: Set the front-panel display resolution to 6.5 digits.""" FORMAT_EXPONENT = "display.FORMAT_EXPONENT" """str: Use exponent format to display measurement readings on the front-panel display of the instrument.""" diff --git a/src/tm_devices/commands/_d83qe0_dmm/dmm.py b/src/tm_devices/commands/_d83qe0_dmm/dmm.py index 6f8369b2..cd4b11d9 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/dmm.py +++ b/src/tm_devices/commands/_d83qe0_dmm/dmm.py @@ -45,6 +45,11 @@ - dmm.measure.fourrtd - dmm.measure.func - dmm.measure.inputimpedance + - dmm.measure.limit[r].autoclear + - dmm.measure.limit[r].enable + - dmm.measure.limit[r].fail + - dmm.measure.limit[r].high.value + - dmm.measure.limit[r].low.value - dmm.measure.linesync - dmm.measure.math.enable - dmm.measure.math.format @@ -78,9 +83,14 @@ - dmm.reset() - dmm.terminals """ -from typing import Optional, TYPE_CHECKING, Union +from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -966,6 +976,358 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class DmmMeasureLimitItemLow(BaseTSPCmd): + """The ``dmm.measure.limit[r].low`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``dmm.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].low.value`` attribute. + + **Description:** + - This attribute specifies the lower limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].low.value)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].low.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].low.value = value + - print(dmm.measure.limit[r].low.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureLimitItemHigh(BaseTSPCmd): + """The ``dmm.measure.limit[r].high`` command tree. + + Properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + + @property + def value(self) -> str: + """Access the ``dmm.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].high.value)`` + query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].high.value = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].high.value = value + - print(dmm.measure.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmMeasureLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``dmm.measure.limit[r]`` command tree. + + Properties/methods: + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = DmmMeasureLimitItemHigh(device, f"{self._cmd_syntax}.high") + self._low = DmmMeasureLimitItemLow(device, f"{self._cmd_syntax}.low") + + @property + def autoclear(self) -> str: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].autoclear)`` query. + - Setting this property to a value will send the + ``dmm.measure.limit[r].autoclear = value`` command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].autoclear = value + - print(dmm.measure.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``dmm.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.measure.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.measure.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.measure.limit[r].enable = value + - print(dmm.measure.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def fail(self) -> str: + """Access the ``dmm.measure.limit[r].fail`` attribute. + + **Description:** + - This attribute queries the results of a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.measure.limit[r].fail)`` query. + + **TSP Syntax:** + + :: + + - print(dmm.measure.limit[r].fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> DmmMeasureLimitItemHigh: + """Return the ``dmm.measure.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].high.value`` attribute. + """ + return self._high + + @property + def low(self) -> DmmMeasureLimitItemLow: + """Return the ``dmm.measure.limit[r].low`` command tree. + + Sub-properties/methods: + - ``.value``: The ``dmm.measure.limit[r].low.value`` attribute. + """ + return self._low + + class DmmMeasureFilter(BaseTSPCmd): """The ``dmm.measure.filter`` command tree. @@ -1891,6 +2253,7 @@ class DmmMeasure(BaseTSPCmd): - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. - ``.func``: The ``dmm.measure.func`` attribute. - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. - ``.linesync``: The ``dmm.measure.linesync`` attribute. - ``.math``: The ``dmm.measure.math`` command tree. - ``.nplc``: The ``dmm.measure.nplc`` attribute. @@ -1921,6 +2284,9 @@ def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: self._autozero = DmmMeasureAutozero(device, f"{self._cmd_syntax}.autozero") self._bias = DmmMeasureBias(device, f"{self._cmd_syntax}.bias") self._filter = DmmMeasureFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, DmmMeasureLimitItem] = DefaultDictPassKeyToFactory( + lambda x: DmmMeasureLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = DmmMeasureMath(device, f"{self._cmd_syntax}.math") self._offsetcompensation = DmmMeasureOffsetcompensation( device, f"{self._cmd_syntax}.offsetcompensation" @@ -2642,6 +3008,19 @@ def inputimpedance(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputimpedance`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, DmmMeasureLimitItem]: + """Return the ``dmm.measure.limit[r]`` command tree. + + Sub-properties/methods: + - ``.autoclear``: The ``dmm.measure.limit[r].autoclear`` attribute. + - ``.enable``: The ``dmm.measure.limit[r].enable`` attribute. + - ``.fail``: The ``dmm.measure.limit[r].fail`` attribute. + - ``.high``: The ``dmm.measure.limit[r].high`` command tree. + - ``.low``: The ``dmm.measure.limit[r].low`` command tree. + """ + return self._limit + @property def linesync(self) -> str: """Access the ``dmm.measure.linesync`` attribute. @@ -4495,6 +4874,7 @@ def measure(self) -> DmmMeasure: - ``.fourrtd``: The ``dmm.measure.fourrtd`` attribute. - ``.func``: The ``dmm.measure.func`` attribute. - ``.inputimpedance``: The ``dmm.measure.inputimpedance`` attribute. + - ``.limit``: The ``dmm.measure.limit[r]`` command tree. - ``.linesync``: The ``dmm.measure.linesync`` attribute. - ``.math``: The ``dmm.measure.math`` command tree. - ``.nplc``: The ``dmm.measure.nplc`` attribute. diff --git a/src/tm_devices/commands/_d83qe0_dmm/trigger.py b/src/tm_devices/commands/_d83qe0_dmm/trigger.py index 52090b21..a74af00c 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/trigger.py +++ b/src/tm_devices/commands/_d83qe0_dmm/trigger.py @@ -4079,6 +4079,126 @@ def wait(self, timeout: float) -> str: class Trigger(BaseTSPCmd): """The ``trigger`` command tree. + Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block if + the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a specified + block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a specified + block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building block + the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified building + block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger event + occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the digital + I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger model + is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a branch + counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing the + trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them + (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as input + when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as input + when the line is configured as an input or open drain. + - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the configuration + of the line) detected on digital input line N (1 to 6). + - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 to + 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the + trigger model executes it. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be set, + but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be set, + but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution reaches + this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than 100 + ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model continues. + Properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. - ``.clear()``: The ``trigger.clear()`` function. @@ -4097,6 +4217,157 @@ class Trigger(BaseTSPCmd): - ``.wait()``: The ``trigger.wait()`` function. """ + BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + """str: Defines a trigger model block that always goes to a specific block.""" + BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + """str: Defines a trigger model block that branches to a specified block a specified number of times.""" # noqa: E501 + BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + """str: Defines a trigger model block that goes to a specified block if the difference of two measurements meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + """str: Defines a trigger model block that goes to a specified block if a measurement meets preset criteria.""" # noqa: E501 + BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + """str: Defines a trigger model block that goes to a specified block in the trigger model if a measurement meets user-defined criteria.""" # noqa: E501 + BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + """str: Causes the trigger model to branch to a specified building block the first time it is encountered in the trigger model.""" # noqa: E501 + BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + """str: Causes the trigger model to go to a specified building block every time the trigger model encounters it, except for the first time.""" # noqa: E501 + BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + """str: Branches to a specified block when a specified trigger event occurs.""" + BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + """str: Defines a trigger model block that clears the reading buffer.""" + BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + """str: Recalls the settings at the next index of a configuration list.""" + BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + """str: Recalls the settings stored at the previous index of a configuration list.""" + BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + """str: Adds a constant delay to the execution of a trigger model.""" + BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + """str: Adds a user delay to the execution of the trigger model.""" + BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + """str: Defines a trigger model block that sets the lines on the digital I/O port high or low.""" # noqa: E501 + BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + """str: Allows you to log an event in the event log when the trigger model is running.""" + BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + """str: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead.""" + BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + """str: defines a trigger block that makes or digitizes a measurement.""" + BLOCK_NOP = "trigger.BLOCK_NOP" + """str: Creates a placeholder that performs no action in the trigger model.""" + BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + """str: Defines a trigger-model block that generates a trigger event and immediately continues to the next block.""" # noqa: E501 + BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + """str: Creates a block in the trigger model that resets a branch counter to 0.""" + BLOCK_WAIT = "trigger.BLOCK_WAIT" + """str: Defines a trigger model block that waits for an event before allowing the trigger model to continue.""" # noqa: E501 + CLEAR_ENTER = "trigger.CLEAR_ENTER" + """str: Clear previously detected trigger events when entering the wait block.""" + CLEAR_NEVER = "trigger.CLEAR_NEVER" + """str: Immediately act on any previously detected triggers and not clear them (default).""" + CONT_AUTO = "trigger.CONT_AUTO" + """str: Start continuous measurements after boot.""" + CONT_OFF = "trigger.CONT_OFF" + """str: Do not start continuous measurements after boot.""" + CONT_RESTART = "trigger.CONT_RESTART" + """str: Place the instrument into local control and start continuous measurements after boot.""" + COUNT_AUTO = "trigger.COUNT_AUTO" + """str: Use most recent count value.""" + COUNT_INFINITE = "trigger.COUNT_INFINITE" + """str: Infinite (run continuously until stopped).""" + COUNT_STOP = "trigger.COUNT_STOP" + """str: Stop infinite to stop the block.""" + EDGE_EITHER = "trigger.EDGE_EITHER" + """str: Sets the selected trigger line to detect either rising-edge or falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_FALLING = "trigger.EDGE_FALLING" + """str: Sets the selected trigger line to detect falling-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EDGE_RISING = "trigger.EDGE_RISING" + """str: Sets the selected trigger line to detect rising-edge triggers as input when the line is configured as an input or open drain.""" # noqa: E501 + EVENT_BLENDERN = "trigger.EVENT_BLENDERN" + """str: Trigger event blender N (1 to 2), which combines trigger events.""" + EVENT_COMMAND = "trigger.EVENT_COMMAND" + """str: A command interface trigger.""" + EVENT_DIGION = "trigger.EVENT_DIGION" + """str: Line edge (either rising, falling, or either based on the configuration of the line) detected on digital input line N (1 to 6).""" # noqa: E501 + EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + """str: Front-panel TRIGGER key press.""" + EVENT_LANN = "trigger.EVENT_LANN" + """str: Appropriate LXI trigger packet is received on LAN trigger object N (1 to 8).""" + EVENT_NONE = "trigger.EVENT_NONE" + """str: No trigger event.""" + EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" + """str: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it.""" # noqa: E501 + EVENT_TIMER1 = "trigger.EVENT_TIMER1" + """str: Trigger timer 1 expired.""" + EVENT_TIMER2 = "trigger.EVENT_TIMER2" + """str: Trigger timer 2 expired.""" + EVENT_TIMER3 = "trigger.EVENT_TIMER3" + """str: Trigger timer 3 expired.""" + EVENT_TIMER4 = "trigger.EVENT_TIMER4" + """str: Trigger timer 4 expired.""" + EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + """str: Line edge detected on TSP-Link synchronization line N (1 to 3).""" + LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + """str: The measurement is above the value set by limit B; limit A must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_BELOW = "trigger.LIMIT_BELOW" + """str: The measurement is below the value set by limit A; limit B must be set, but is ignored when this type is selected.""" # noqa: E501 + LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + """str: The measurement is inside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + """str: The measurement is outside the values set by limits A and B; limit A must be the low value and Limit B must be the high value.""" # noqa: E501 + LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + """str: Asserts a TTL-low pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + """str: Asserts a TTL-high pulse for the output logic of the trigger event generator for the specified line.""" # noqa: E501 + LOG_ERROR1 = "trigger.LOG_ERROR1" + """str: Log error event 1 in the event log when trigger model execution reaches this block.""" + LOG_ERROR2 = "trigger.LOG_ERROR2" + """str: Log error event 2 in the event log when trigger model execution reaches this block.""" + LOG_ERROR3 = "trigger.LOG_ERROR3" + """str: Log error event 3 in the event log when trigger model execution reaches this block.""" + LOG_ERROR4 = "trigger.LOG_ERROR4" + """str: Log error event 4 in the event log when trigger model execution reaches this block.""" + LOG_INFO1 = "trigger.LOG_INFO1" + """str: Log information event 1 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO2 = "trigger.LOG_INFO2" + """str: Log information event 2 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO3 = "trigger.LOG_INFO3" + """str: Log information event 3 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_INFO4 = "trigger.LOG_INFO4" + """str: Log information event 4 in the event log when trigger model execution reaches this block.""" # noqa: E501 + LOG_WARN1 = "trigger.LOG_WARN1" + """str: Log warning event 1 in the event log when trigger model execution reaches this block.""" + LOG_WARN2 = "trigger.LOG_WARN2" + """str: Log warning event 2 in the event log when trigger model execution reaches this block.""" + LOG_WARN3 = "trigger.LOG_WARN3" + """str: Log warning event 3 in the event log when trigger model execution reaches this block.""" + LOG_WARN4 = "trigger.LOG_WARN4" + """str: Log warning event 4 in the event log when trigger model execution reaches this block.""" + LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + """str: Abort the trigger model immediately and post a warning event log message.""" + OFF = "trigger.OFF" + """str: Disable the trigger timer.""" + ON = "trigger.ON" + """str: Enable the trigger timer.""" + STATE_ABORTED = "trigger.STATE_ABORTED" + """str: The trigger model is stopped.""" + STATE_ABORTING = "trigger.STATE_ABORTING" + """str: The trigger model is stopping.""" + STATE_BUILDING = "trigger.STATE_BUILDING" + """str: Blocks have been added.""" + STATE_EMPTY = "trigger.STATE_EMPTY" + """str: The trigger model is selected, but no blocks are defined.""" + STATE_FAILED = "trigger.STATE_FAILED" + """str: The trigger model is stopped because of an error.""" + STATE_IDLE = "trigger.STATE_IDLE" + """str: The trigger model is stopped.""" + STATE_RUNNING = "trigger.STATE_RUNNING" + """str: The trigger model is running.""" + STATE_WAITING = "trigger.STATE_WAITING" + """str: The trigger model has been in the same wait block for more than 100 ms.""" + WAIT_AND = "trigger.WAIT_AND" + """str: Each event must occur before the trigger model continues.""" + WAIT_OR = "trigger.WAIT_OR" + """str: At least one of the events must occur before the trigger model continues.""" + def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "trigger") -> None: super().__init__(device, cmd_syntax) self._blender: Dict[int, TriggerBlenderItem] = DefaultDictPassKeyToFactory( diff --git a/src/tm_devices/commands/_daq6510_commands.py b/src/tm_devices/commands/_daq6510_commands.py index fac0b22a..0fe42922 100644 --- a/src/tm_devices/commands/_daq6510_commands.py +++ b/src/tm_devices/commands/_daq6510_commands.py @@ -113,6 +113,10 @@ class DAQ6510CommandConstants: BUFFER_STAT_SCAN = "buffer.STAT_SCAN" BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -186,6 +190,9 @@ class DAQ6510CommandConstants: DISPLAY_BUTTON_NO = "display.BUTTON_NO" DISPLAY_BUTTON_OK = "display.BUTTON_OK" DISPLAY_BUTTON_YES = "display.BUTTON_YES" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_FORMAT_EXPONENT = "display.FORMAT_EXPONENT" DISPLAY_FORMAT_PREFIX = "display.FORMAT_PREFIX" DISPLAY_NFORMAT_DECIMAL = "display.NFORMAT_DECIMAL" @@ -435,6 +442,9 @@ class DAQ6510CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -481,6 +491,35 @@ class DAQ6510CommandConstants: STATUS_STANDARD_OPC = "status.standard.OPC" STATUS_STANDARD_PON = "status.standard.PON" STATUS_STANDARD_QYE = "status.standard.QYE" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" + TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" + TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" @@ -503,9 +542,44 @@ class DAQ6510CommandConstants: TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" TRIGGER_EVENT_TIMERN = "trigger.EVENT_TIMERN" TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" TRIGGER_SCAN_ALARM_LIMIT = "trigger.SCAN_ALARM_LIMIT" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" # pylint: disable=too-many-instance-attributes,too-many-public-methods @@ -688,6 +762,11 @@ def buffer(self) -> Buffer: - ``.STAT_SCAN``: Scan. - ``.STAT_START_GROUP``: First reading in a group. - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -721,6 +800,7 @@ def buffer(self) -> Buffer: - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -886,6 +966,9 @@ def display(self) -> Display: - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -1277,6 +1360,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -1503,12 +1590,60 @@ def trigger(self) -> Trigger: """Return the ``trigger`` command tree. Constants: - - ``.EDGE_EITHER``: Detect either falling or rising-edge triggers as inputs on the - EXTERNAL TRIGGER IN trigger line. - - ``.EDGE_FALLING``: Detect falling-edge triggers as inputs on the EXTERNAL TRIGGER IN - trigger line. - - ``.EDGE_RISING``: Detect rising-edge triggers as inputs on the EXTERNAL TRIGGER IN - trigger line. + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait + block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear + them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. - ``.EVENT_ANALOGTRIGGER``: Analog trigger. - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. - ``.EVENT_COMMAND``: A command interface trigger. @@ -1526,19 +1661,65 @@ def trigger(self) -> Trigger: - ``.EVENT_SCAN_CHANNEL_READY``: Channel closed (returns trigger.EVENT_NOTIFY6). - ``.EVENT_SCAN_COMPLETE``: Scan completed (returns trigger.EVENT_NOTIFY8). - ``.EVENT_SCAN_MEASURE_COMPLETE``: Measure completed (returns trigger.EVENT_NOTIFY7). - - ``.EVENT_TIMER1``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait - until trigger timer 1 expires. - - ``.EVENT_TIMER2``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait - until trigger timer 2 expires. - - ``.EVENT_TIMER3``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait - until trigger timer 3 expires. - - ``.EVENT_TIMER4``: Before asserting a trigger on the EXTERNAL TRIGGER OUT line, wait - until trigger timer 4 expires. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. - ``.EVENT_TIMERN``: Trigger timer N (1 to 4) expired. - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). - - ``.LOGIC_NEGATIVE``: Assert a TTL-low pulse for output. - - ``.LOGIC_POSITIVE``: Assert a TTL-high pulse for output. + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. - ``.SCAN_ALARM_LIMIT``: Scan alarm limit exceeded. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -1563,6 +1744,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/lan.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/lan.py index 46c7b3f5..387872a1 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/lan.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/lan.py @@ -36,6 +36,10 @@ class Lan(BaseTSPCmd): close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -51,6 +55,12 @@ class Lan(BaseTSPCmd): """str: An open and close on the DST port (5030) closes all open LAN connections.""" ON = "lan.ON" """str: The DST port needs to be opened, receive the login + , then close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network.""" # noqa: E501 + PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + """str: Sets the LAN protocol to use for sending trigger messages to multicast.""" + PROTOCOL_TCP = "lan.PROTOCOL_TCP" + """str: Sets the LAN protocol to use for sending trigger messages to TCP.""" + PROTOCOL_UDP = "lan.PROTOCOL_UDP" + """str: Sets the LAN protocol to use for sending trigger messages to UDP.""" def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "lan") -> None: super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py b/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py index 91099c3e..c9e2c068 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py @@ -149,6 +149,14 @@ def reset(self) -> None: class Tsplink(BaseTSPCmd): """The ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. @@ -160,6 +168,19 @@ class Tsplink(BaseTSPCmd): - ``.writeport()``: The ``tsplink.writeport()`` function. """ + MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + """str: TSP-Link digital open drain line.""" + MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + """str: TSP-Link trigger synchronous acceptor.""" + MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + """str: TSP-Link trigger synchronous master.""" + MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + """str: TSP-Link trigger open drain line.""" + STATE_HIGH = "tsplink.STATE_HIGH" + """str: High state of the synchronization line.""" + STATE_LOW = "tsplink.STATE_LOW" + """str: Low state of the synchronization line.""" + def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "tsplink") -> None: super().__init__(device, cmd_syntax) self._line: Dict[int, TsplinkLineItem] = DefaultDictPassKeyToFactory( diff --git a/src/tm_devices/commands/_dmm6500_commands.py b/src/tm_devices/commands/_dmm6500_commands.py index f9c6a0e5..ee84cb5f 100644 --- a/src/tm_devices/commands/_dmm6500_commands.py +++ b/src/tm_devices/commands/_dmm6500_commands.py @@ -113,6 +113,10 @@ class DMM6500CommandConstants: BUFFER_STAT_SCAN = "buffer.STAT_SCAN" BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -159,6 +163,9 @@ class DMM6500CommandConstants: DISPLAY_BUTTON_NO = "display.BUTTON_NO" DISPLAY_BUTTON_OK = "display.BUTTON_OK" DISPLAY_BUTTON_YES = "display.BUTTON_YES" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_FORMAT_EXPONENT = "display.FORMAT_EXPONENT" DISPLAY_FORMAT_PREFIX = "display.FORMAT_PREFIX" DISPLAY_NFORMAT_DECIMAL = "display.NFORMAT_DECIMAL" @@ -204,6 +211,9 @@ class DMM6500CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -215,6 +225,87 @@ class DMM6500CommandConstants: SMU_AUDIBLE_PASS = "smu.AUDIBLE_PASS" SMU_OFF = "smu.OFF" SMU_ON = "smu.ON" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" + TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" + TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDERN = "trigger.EVENT_BLENDERN" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" + TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" # pylint: disable=too-many-instance-attributes,too-many-public-methods @@ -395,6 +486,11 @@ def buffer(self) -> Buffer: - ``.STAT_SCAN``: Scan. - ``.STAT_START_GROUP``: First reading in a group. - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -427,6 +523,8 @@ def buffer(self) -> Buffer: - ``.delete()``: The ``buffer.delete()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. + - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -537,6 +635,9 @@ def display(self) -> Display: - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -705,6 +806,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -860,6 +965,129 @@ def timer(self) -> Timer: def trigger(self) -> Trigger: """Return the ``trigger`` command tree. + Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait + block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear + them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). + - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the + trigger model executes it. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. + Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. - ``.clear()``: The ``trigger.clear()`` function. @@ -883,6 +1111,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_dmm7510_commands.py b/src/tm_devices/commands/_dmm7510_commands.py index 2e7b4134..440311dc 100644 --- a/src/tm_devices/commands/_dmm7510_commands.py +++ b/src/tm_devices/commands/_dmm7510_commands.py @@ -110,6 +110,10 @@ class DMM7510CommandConstants: BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" BUFFER_STYLE_COMPACT = "buffer.STYLE_COMPACT" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -156,6 +160,9 @@ class DMM7510CommandConstants: DISPLAY_BUTTON_NO = "display.BUTTON_NO" DISPLAY_BUTTON_OK = "display.BUTTON_OK" DISPLAY_BUTTON_YES = "display.BUTTON_YES" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_FORMAT_EXPONENT = "display.FORMAT_EXPONENT" DISPLAY_FORMAT_PREFIX = "display.FORMAT_PREFIX" DISPLAY_NFORMAT_DECIMAL = "display.NFORMAT_DECIMAL" @@ -203,6 +210,9 @@ class DMM7510CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -214,6 +224,87 @@ class DMM7510CommandConstants: SMU_AUDIBLE_PASS = "smu.AUDIBLE_PASS" SMU_OFF = "smu.OFF" SMU_ON = "smu.ON" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" + TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" + TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDERN = "trigger.EVENT_BLENDERN" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" + TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" # pylint: disable=too-many-instance-attributes,too-many-public-methods @@ -401,6 +492,11 @@ def buffer(self) -> Buffer: - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -432,6 +528,8 @@ def buffer(self) -> Buffer: - ``.delete()``: The ``buffer.delete()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. + - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -520,6 +618,9 @@ def display(self) -> Display: - ``.BUTTON_NO``: Return if NO selected. - ``.BUTTON_OK``: Return if OK selected. - ``.BUTTON_YES``: Return if YES selected. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.FORMAT_EXPONENT``: Use exponent format to display measurement readings on the front-panel display of the instrument. @@ -701,6 +802,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -820,6 +925,129 @@ def timer(self) -> Timer: def trigger(self) -> Trigger: """Return the ``trigger`` command tree. + Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. + - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait + block. + - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear + them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDERN``: Trigger event blender N (1 to 2), which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). + - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the + trigger model executes it. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. + Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. - ``.clear()``: The ``trigger.clear()`` function. @@ -843,6 +1071,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_dpo5kb_commands.py b/src/tm_devices/commands/_dpo5kb_commands.py index 16f35962..4149a611 100644 --- a/src/tm_devices/commands/_dpo5kb_commands.py +++ b/src/tm_devices/commands/_dpo5kb_commands.py @@ -3333,6 +3333,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dpo70kc_commands.py b/src/tm_devices/commands/_dpo70kc_commands.py index 7e0483b0..bfa1a86c 100644 --- a/src/tm_devices/commands/_dpo70kc_commands.py +++ b/src/tm_devices/commands/_dpo70kc_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dpo70kd_commands.py b/src/tm_devices/commands/_dpo70kd_commands.py index 3d5cdf5b..c9b085a9 100644 --- a/src/tm_devices/commands/_dpo70kd_commands.py +++ b/src/tm_devices/commands/_dpo70kd_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dpo70kdx_commands.py b/src/tm_devices/commands/_dpo70kdx_commands.py index f902e8dd..580ea453 100644 --- a/src/tm_devices/commands/_dpo70kdx_commands.py +++ b/src/tm_devices/commands/_dpo70kdx_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dpo70ksx_commands.py b/src/tm_devices/commands/_dpo70ksx_commands.py index 80a19a96..47804845 100644 --- a/src/tm_devices/commands/_dpo70ksx_commands.py +++ b/src/tm_devices/commands/_dpo70ksx_commands.py @@ -3412,6 +3412,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dpo7kc_commands.py b/src/tm_devices/commands/_dpo7kc_commands.py index b8b73933..a81ca494 100644 --- a/src/tm_devices/commands/_dpo7kc_commands.py +++ b/src/tm_devices/commands/_dpo7kc_commands.py @@ -3314,6 +3314,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dsa70kc_commands.py b/src/tm_devices/commands/_dsa70kc_commands.py index a8a2a0a4..4ea2c6d1 100644 --- a/src/tm_devices/commands/_dsa70kc_commands.py +++ b/src/tm_devices/commands/_dsa70kc_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_dsa70kd_commands.py b/src/tm_devices/commands/_dsa70kd_commands.py index 4ce03f2a..aa8b85dd 100644 --- a/src/tm_devices/commands/_dsa70kd_commands.py +++ b/src/tm_devices/commands/_dsa70kd_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_e3pief_ss/dmm.py b/src/tm_devices/commands/_e3pief_ss/dmm.py index 1314b279..c0449d68 100644 --- a/src/tm_devices/commands/_e3pief_ss/dmm.py +++ b/src/tm_devices/commands/_e3pief_ss/dmm.py @@ -46,6 +46,11 @@ - dmm.func - dmm.getconfig() - dmm.inputdivider + - dmm.limit[Y].clear() + - dmm.limit[r].autoclear + - dmm.limit[r].enable + - dmm.limit[r].high.fail + - dmm.limit[r].high.value - dmm.linesync - dmm.makebuffer() - dmm.math.enable @@ -80,9 +85,14 @@ - dmm.threshold - dmm.transducer """ -from typing import Optional, TYPE_CHECKING, Union +from typing import Dict, Optional, TYPE_CHECKING, Union -from .._helpers import BaseTSPCmd, NoDeviceProvidedError +from .._helpers import ( + BaseTSPCmd, + DefaultDictPassKeyToFactory, + NoDeviceProvidedError, + ValidatedDynamicNumberCmd, +) if TYPE_CHECKING: from tm_devices.drivers.pi.tsp_device import TSPDevice @@ -692,6 +702,294 @@ def percent(self, value: Union[str, float]) -> None: raise NoDeviceProvidedError(msg) from error +class DmmLimitItemHigh(BaseTSPCmd): + """The ``dmm.limit[r].high`` command tree. + + Properties/methods: + - ``.fail``: The ``dmm.limit[r].high.fail`` attribute. + - ``.value``: The ``dmm.limit[r].high.value`` attribute. + """ + + @property + def fail(self) -> str: + """Access the ``dmm.limit[r].high.fail`` attribute. + + **Description:** + - This attribute queries for the high test results of limit Y. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].high.fail)`` query. + + **TSP Syntax:** + + :: + + - print(dmm.limit[r].high.fail) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".fail" + return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def value(self) -> str: + """Access the ``dmm.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].high.value)`` query. + - Setting this property to a value will send the ``dmm.limit[r].high.value = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].high.value = value + - print(dmm.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".value" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.value)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @value.setter + def value(self, value: Union[str, float]) -> None: + """Access the ``dmm.limit[r].high.value`` attribute. + + **Description:** + - This attribute specifies the upper limit for a limit test. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].high.value)`` query. + - Setting this property to a value will send the ``dmm.limit[r].high.value = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].high.value = value + - print(dmm.limit[r].high.value) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".value", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.value = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.value`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + +class DmmLimitItem(ValidatedDynamicNumberCmd, BaseTSPCmd): + """The ``dmm.limit[r]`` command tree. + + Properties/methods: + - ``.autoclear``: The ``dmm.limit[r].autoclear`` attribute. + - ``.clear()``: The ``dmm.limit[r].clear()`` function. + - ``.enable``: The ``dmm.limit[r].enable`` attribute. + - ``.high``: The ``dmm.limit[r].high`` command tree. + """ + + def __init__(self, device: Optional["TSPDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = DmmLimitItemHigh(device, f"{self._cmd_syntax}.high") + + @property + def autoclear(self) -> str: + """Access the ``dmm.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].autoclear)`` query. + - Setting this property to a value will send the ``dmm.limit[r].autoclear = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].autoclear = value + - print(dmm.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".autoclear" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.autoclear)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @autoclear.setter + def autoclear(self, value: Union[str, float]) -> None: + """Access the ``dmm.limit[r].autoclear`` attribute. + + **Description:** + - This attribute indicates if the test result for limit Y should be cleared + automatically or not. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].autoclear)`` query. + - Setting this property to a value will send the ``dmm.limit[r].autoclear = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].autoclear = value + - print(dmm.limit[r].autoclear) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".autoclear", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.autoclear = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.autoclear`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def enable(self) -> str: + """Access the ``dmm.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].enable = value + - print(dmm.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_syntax_enabled: # type: ignore[union-attr] + return self._cmd_syntax + ".enable" + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.enable)" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @enable.setter + def enable(self, value: Union[str, float]) -> None: + """Access the ``dmm.limit[r].enable`` attribute. + + **Description:** + - This attribute enables or disables a limit test on the measurement from the selected + measure function. (r = resistance in ohms) + + **Usage:** + - Accessing this property will send the ``print(dmm.limit[r].enable)`` query. + - Setting this property to a value will send the ``dmm.limit[r].enable = value`` + command. + + **TSP Syntax:** + + :: + + - dmm.limit[r].enable = value + - print(dmm.limit[r].enable) + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + if self._device.command_verification_enabled: # type: ignore[union-attr] + self._device.set_and_check( # type: ignore[union-attr] + self._cmd_syntax + ".enable", value + ) + else: + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.enable = {value}" + ) + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.enable`` attribute." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + @property + def high(self) -> DmmLimitItemHigh: + """Return the ``dmm.limit[r].high`` command tree. + + Sub-properties/methods: + - ``.fail``: The ``dmm.limit[r].high.fail`` attribute. + - ``.value``: The ``dmm.limit[r].high.value`` attribute. + """ + return self._high + + def clear(self) -> None: + """Run the ``dmm.limit[r].clear()`` function. + + **Description:** + - This function clears the results of the limit test defined by Y. (r = resistance in + ohms) + + **TSP Syntax:** + + :: + + - dmm.limit[r].clear() + + Raises: + tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. + """ + try: + self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + except AttributeError as error: + msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 + raise NoDeviceProvidedError(msg) from error + + class DmmFilter(BaseTSPCmd): """The ``dmm.filter`` command tree. @@ -1437,7 +1735,7 @@ def count(self) -> str: raise NoDeviceProvidedError(msg) from error -# pylint: disable=too-many-public-methods +# pylint: disable=too-many-instance-attributes,too-many-public-methods class Dmm(BaseTSPCmd): """The ``dmm`` command tree. @@ -1461,6 +1759,7 @@ class Dmm(BaseTSPCmd): - ``.func``: The ``dmm.func`` attribute. - ``.getconfig()``: The ``dmm.getconfig()`` function. - ``.inputdivider``: The ``dmm.inputdivider`` attribute. + - ``.limit``: The ``dmm.limit[r]`` command tree. - ``.linesync``: The ``dmm.linesync`` attribute. - ``.makebuffer()``: The ``dmm.makebuffer()`` function. - ``.math``: The ``dmm.math`` command tree. @@ -1496,6 +1795,9 @@ def __init__(self, device: Optional["TSPDevice"] = None, cmd_syntax: str = "dmm" self._calibration = DmmCalibration(device, f"{self._cmd_syntax}.calibration") self._configure = DmmConfigure(device, f"{self._cmd_syntax}.configure") self._filter = DmmFilter(device, f"{self._cmd_syntax}.filter") + self._limit: Dict[int, DmmLimitItem] = DefaultDictPassKeyToFactory( + lambda x: DmmLimitItem(device, f"{self._cmd_syntax}.limit[{x}]") + ) self._math = DmmMath(device, f"{self._cmd_syntax}.math") self._rel = DmmRel(device, f"{self._cmd_syntax}.rel") @@ -2278,6 +2580,18 @@ def inputdivider(self, value: Union[str, float]) -> None: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.inputdivider`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error + @property + def limit(self) -> Dict[int, DmmLimitItem]: + """Return the ``dmm.limit[r]`` command tree. + + Sub-properties/methods: + - ``.autoclear``: The ``dmm.limit[r].autoclear`` attribute. + - ``.clear()``: The ``dmm.limit[r].clear()`` function. + - ``.enable``: The ``dmm.limit[r].enable`` attribute. + - ``.high``: The ``dmm.limit[r].high`` command tree. + """ + return self._limit + @property def linesync(self) -> str: """Access the ``dmm.linesync`` attribute. diff --git a/src/tm_devices/commands/_lpd6_commands.py b/src/tm_devices/commands/_lpd6_commands.py index 72049039..6de0c5b1 100644 --- a/src/tm_devices/commands/_lpd6_commands.py +++ b/src/tm_devices/commands/_lpd6_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class LPD6CommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class LPD6CommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class LPD6CommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class LPD6CommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class LPD6CommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class LPD6CommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class LPD6CommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class LPD6CommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class LPD6CommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class LPD6CommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class LPD6CommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class LPD6CommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class LPD6CommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class LPD6CommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class LPD6CommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class LPD6CommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class LPD6CommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class LPD6CommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class LPD6CommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class LPD6CommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class LPD6Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class LPD6Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class LPD6Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class LPD6Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> LPD6Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> LPD6Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> LPD6Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> LPD6Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mdo3_commands.py b/src/tm_devices/commands/_mdo3_commands.py index 0092287f..69692663 100644 --- a/src/tm_devices/commands/_mdo3_commands.py +++ b/src/tm_devices/commands/_mdo3_commands.py @@ -1161,7 +1161,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. diff --git a/src/tm_devices/commands/_mso2_commands.py b/src/tm_devices/commands/_mso2_commands.py index 1b7f2030..75e2b9ec 100644 --- a/src/tm_devices/commands/_mso2_commands.py +++ b/src/tm_devices/commands/_mso2_commands.py @@ -13,12 +13,15 @@ from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._1zn03_mso.acquire import Acquire +from ._1zn03_mso.actonevent import Actonevent from ._1zn03_mso.auxout import Auxout from ._1zn03_mso.battery import Battery from ._1zn03_mso.bus import Bus +from ._1zn03_mso.callouts import Callouts from ._1zn03_mso.ch import Channel from ._1zn03_mso.data import Data from ._1zn03_mso.dch import DchItem +from ._1zn03_mso.diag import Diag from ._1zn03_mso.display import Display from ._1zn03_mso.fpanel import Fpanel from ._1zn03_mso.horizontal import Horizontal @@ -29,6 +32,7 @@ from ._1zn03_mso.measurement import Measurement from ._1zn03_mso.pg import Pg from ._1zn03_mso.plot import Plot +from ._1zn03_mso.ref import Ref from ._1zn03_mso.save import Save from ._1zn03_mso.saveon import Saveon from ._1zn03_mso.saveonevent import Saveonevent @@ -63,26 +67,22 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -105,7 +105,6 @@ class MSO2CommandConstants: ABSOLUTE = "ABSOLUTE" # ABSolute AC = "AC" ACKMISS = "ACKMISS" - ACQ = "ACQ" ACRMS = "ACRMS" ADD = "ADD" ADDR10 = "ADDR10" @@ -114,7 +113,6 @@ class MSO2CommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced ALL = "ALL" - ANALOG = "ANALOG" AND = "AND" ANYERROR = "ANYERROR" # ANYERRor AREA = "AREA" @@ -122,7 +120,6 @@ class MSO2CommandConstants: ASCII = "ASCII" # ASCII = "ASCIi" # ASCII = "ASCii" - ASIC = "ASIC" ATRIGGER = "ATRIGGER" # ATRIGger AUTO = "AUTO" AUTOMATIC = "AUTOMATIC" # AUTOmatic @@ -249,7 +246,6 @@ class MSO2CommandConstants: INVERTED = "INVERTED" # INVERTed # INVERTED = "INVErted" # INVERTED = "INVerted" - IO = "IO" JPG = "JPG" KAISERBESSEL = "KAISERBESSEL" # KAISERBessel L = "L" @@ -272,7 +268,6 @@ class MSO2CommandConstants: MEAN = "MEAN" MEANHISTOGRAM = "MEANHISTOGRAM" # MEANhistogram MEDIUM = "MEDIUM" # MEDium - MEMORY = "MEMORY" MID = "MID" MINMAX = "MINMAX" # MINMax MISO = "MISO" # MISo @@ -379,7 +374,6 @@ class MSO2CommandConstants: SETTO50 = "SETTO50" SETUP = "SETUP" SFPBINARY = "SFPBINARY" # SFPbinary - SIGNAL = "SIGNAL" SINC = "SINC" SINGLESEQ = "SINGLESEQ" # SINGleseq SINX = "SINX" @@ -407,7 +401,6 @@ class MSO2CommandConstants: SUBTRACT = "SUBTRACT" # SUBtract SYNC = "SYNC" SYNCFIELD = "SYNCFIELD" # SYNCfield - SYSTEM = "SYSTEM" TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential TENNINETY = "TENNINETY" # TENNinety THREE = "THREE" @@ -1054,7 +1047,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. diff --git a/src/tm_devices/commands/_mso4_commands.py b/src/tm_devices/commands/_mso4_commands.py index 0d1339ee..27ac5498 100644 --- a/src/tm_devices/commands/_mso4_commands.py +++ b/src/tm_devices/commands/_mso4_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO4CommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO4CommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO4CommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO4CommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO4CommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO4CommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO4CommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO4CommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO4CommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO4CommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO4CommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO4CommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO4CommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO4CommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO4CommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO4CommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO4CommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO4CommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO4CommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO4CommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO4Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO4Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO4Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO4Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO4Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO4Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO4Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO4Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso5_commands.py b/src/tm_devices/commands/_mso5_commands.py index b7232999..f2ec2fdd 100644 --- a/src/tm_devices/commands/_mso5_commands.py +++ b/src/tm_devices/commands/_mso5_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO5CommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO5CommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO5CommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO5CommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO5CommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO5CommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO5CommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO5CommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO5CommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO5CommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO5CommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO5CommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO5CommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO5CommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO5CommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO5CommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO5CommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO5CommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO5CommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO5CommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO5Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO5Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO5Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO5Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO5Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO5Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO5Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO5Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso5b_commands.py b/src/tm_devices/commands/_mso5b_commands.py index 76b38d02..0eac1083 100644 --- a/src/tm_devices/commands/_mso5b_commands.py +++ b/src/tm_devices/commands/_mso5b_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO5BCommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO5BCommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO5BCommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO5BCommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO5BCommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO5BCommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO5BCommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO5BCommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO5BCommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO5BCommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO5BCommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO5BCommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO5BCommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO5BCommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO5BCommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO5BCommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO5BCommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO5BCommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO5BCommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO5BCommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO5BCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO5BCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO5BCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO5BCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO5BCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO5BCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO5BCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO5BCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso5kb_commands.py b/src/tm_devices/commands/_mso5kb_commands.py index 3b2cbba8..cab7cfeb 100644 --- a/src/tm_devices/commands/_mso5kb_commands.py +++ b/src/tm_devices/commands/_mso5kb_commands.py @@ -3335,6 +3335,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_mso5lp_commands.py b/src/tm_devices/commands/_mso5lp_commands.py index f0955827..6c84db93 100644 --- a/src/tm_devices/commands/_mso5lp_commands.py +++ b/src/tm_devices/commands/_mso5lp_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO5LPCommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO5LPCommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO5LPCommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO5LPCommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO5LPCommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO5LPCommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO5LPCommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO5LPCommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO5LPCommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO5LPCommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO5LPCommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO5LPCommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO5LPCommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO5LPCommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO5LPCommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO5LPCommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO5LPCommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO5LPCommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO5LPCommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO5LPCommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO5LPCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO5LPCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO5LPCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO5LPCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO5LPCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO5LPCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO5LPCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO5LPCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso6_commands.py b/src/tm_devices/commands/_mso6_commands.py index 7cb8366e..3417fac1 100644 --- a/src/tm_devices/commands/_mso6_commands.py +++ b/src/tm_devices/commands/_mso6_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO6CommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO6CommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO6CommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO6CommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO6CommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO6CommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO6CommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO6CommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO6CommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO6CommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO6CommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO6CommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO6CommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO6CommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO6CommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO6CommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO6CommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO6CommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO6CommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO6CommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO6Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO6Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO6Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO6Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO6Commands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO6Commands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO6Commands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO6Commands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso6b_commands.py b/src/tm_devices/commands/_mso6b_commands.py index fa3310ab..0464432c 100644 --- a/src/tm_devices/commands/_mso6b_commands.py +++ b/src/tm_devices/commands/_mso6b_commands.py @@ -40,58 +40,59 @@ from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._c3g63_lpdmso.acquire import Acquire +from ._c3g63_lpdmso.actonevent import Actonevent from ._c3g63_lpdmso.application import Application from ._c3g63_lpdmso.auxout import Auxout from ._c3g63_lpdmso.bus import Bus +from ._c3g63_lpdmso.callouts import Callouts from ._c3g63_lpdmso.ch import Channel from ._c3g63_lpdmso.customtable import Customtable from ._c3g63_lpdmso.data import Data +from ._c3g63_lpdmso.diag import Diag from ._c3g63_lpdmso.diggrp import DiggrpItem from ._c3g63_lpdmso.display import Display from ._c3g63_lpdmso.dvm import Dvm from ._c3g63_lpdmso.eyemask import Eyemask from ._c3g63_lpdmso.fpanel import Fpanel +from ._c3g63_lpdmso.histogram import Histogram from ._c3g63_lpdmso.horizontal import Horizontal from ._c3g63_lpdmso.license import License from ._c3g63_lpdmso.mask import Mask from ._c3g63_lpdmso.math import Math from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measu import Measu from ._c3g63_lpdmso.measurement import Measurement from ._c3g63_lpdmso.peakstable import Peakstable +from ._c3g63_lpdmso.pilogger import Pilogger from ._c3g63_lpdmso.plot import Plot from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import RefItem +from ._c3g63_lpdmso.ref import Ref, RefItem from ._c3g63_lpdmso.save import Save from ._c3g63_lpdmso.saveon import Saveon from ._c3g63_lpdmso.saveonevent import Saveonevent from ._c3g63_lpdmso.search import Search from ._c3g63_lpdmso.searchtable import Searchtable +from ._c3g63_lpdmso.select import Select from ._c3g63_lpdmso.sv import Sv from ._c3g63_lpdmso.touchscreen import Touchscreen from ._c3g63_lpdmso.trigger import Trigger from ._c3g63_lpdmso.tstamptable import Tstamptable from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.actonevent import Actonevent from ._c69b1_lpdmso.afg import Afg from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout from ._c69b1_lpdmso.autoset import Autoset from ._c69b1_lpdmso.bustable import Bustable from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.callouts import Callouts from ._c69b1_lpdmso.configuration import Configuration from ._c69b1_lpdmso.connected import Connected from ._c69b1_lpdmso.curve import Curve from ._c69b1_lpdmso.curvestream import Curvestream from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.diag import Diag from ._c69b1_lpdmso.ethernet import Ethernet from ._c69b1_lpdmso.filesystem import Filesystem from ._c69b1_lpdmso.mainwindow import Mainwindow from ._c69b1_lpdmso.meastable import Meastable from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.ref import Ref from ._c69b1_lpdmso.socketserver import Socketserver from ._c69b1_lpdmso.time import Time from ._c69b1_lpdmso.undo import Undo @@ -136,10 +137,13 @@ class MSO6BCommandConstants: ADDRESS = "ADDRESS" # ADDRess ADVANCED = "ADVANCED" # ADVanced AFG = "AFG" + AFG31000 = "AFG31000" AFREQUENCIES = "AFREQUENCIES" # AFREQuencies ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch ALL = "ALL" ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines AMPLINEAR = "AMPLINEAR" # AMPLINear AN = "AN" ANALOG = "ANALOG" @@ -236,7 +240,8 @@ class MSO6BCommandConstants: COMPLETE = "COMPLETE" # COMPlete COMPRESSION = "COMPRESSION" # COMPression CONFIGURE = "CONFIGURE" # CONFigure - CONNECT = "CONNECT" # CONNect + CONNECT = "CONNECT" + # CONNECT = "CONNect" CONSTANT = "CONSTANT" # CONSTant CONSTANTCLOCK = "CONSTANTCLOCK" CONTINUOUS = "CONTINUOUS" # CONTinuous @@ -294,6 +299,7 @@ class MSO6BCommandConstants: DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup DEFECT = "DEFECT" # DEFect DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa DEGREES = "DEGREES" DELTA = "DELTA" DETAIL = "DETAIL" # DETail @@ -321,6 +327,8 @@ class MSO6BCommandConstants: DONTINCLUDE = "DONTINCLUDE" # DONTInclude DOTS = "DOTS" # DOTs DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset DQ0 = "DQ0" DQDQS = "DQDQS" DRA = "DRA" @@ -347,6 +355,7 @@ class MSO6BCommandConstants: ELLIPTICAL = "ELLIPTICAL" # ELLiptical END = "END" ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" ENET100 = "ENET100" ENET1000 = "ENET1000" ENGINEERING = "ENGINEERING" # ENGineering @@ -488,8 +497,11 @@ class MSO6BCommandConstants: GAP = "GAP" GAUSSIAN = "GAUSSIAN" # GAUSSian # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge GET = "GET" GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" GETCONFIG = "GETCONFIG" # GETCONFig GETDEVCH = "GETDEVCH" # GETDevch GETFLASHNP = "GETFLASHNP" @@ -522,6 +534,7 @@ class MSO6BCommandConstants: GPKNOB2 = "GPKNOB2" GRATICULE = "GRATICULE" GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" H = "H" HAMMING = "HAMMING" # HAMMing HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket @@ -541,6 +554,7 @@ class MSO6BCommandConstants: HIGHZ = "HIGHZ" HILBERT = "HILBERT" # HILBert HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram HONLY = "HONLY" # HONLy HORIZONTAL = "HORIZONTAL" # HORizontal HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale @@ -569,6 +583,7 @@ class MSO6BCommandConstants: IDLE = "IDLE" # IDLE = "IDLe" IDX = "IDX" + IEEE = "IEEE" # ieee IGBT = "IGBT" IMAGINARY = "IMAGINARY" # IMAGinary IN = "IN" @@ -639,7 +654,6 @@ class MSO6BCommandConstants: LRD = "LRD" LRW = "LRW" LSB = "LSB" - LSLAVE = "LSLAVE" # LSLave LTR = "LTR" LWR = "LWR" MACADDRESS = "MACADDRESS" # MACADDRess @@ -687,6 +701,7 @@ class MSO6BCommandConstants: # MIXED = "MIXed" MIXEDASCII = "MIXEDASCII" MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe MODE = "MODE" # MODE = "MODe" MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram @@ -712,6 +727,10 @@ class MSO6BCommandConstants: NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica NIBBLE = "NIBBLE" # NIBBLe NINE = "NINE" # NINe NM = "NM" @@ -731,11 +750,14 @@ class MSO6BCommandConstants: NOTE = "NOTE" NOTEQUAL = "NOTEQUAL" # NOTEQual NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc NULL = "NULL" # NULL = "NULl" NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic NUMERICORDER = "NUMERICORDER" # NUMERICORDer NVDATA = "NVDATA" # NVDATa NVHEADER = "NVHEADER" # NVHEADer @@ -762,6 +784,7 @@ class MSO6BCommandConstants: OPTIONAL = "OPTIONAL" # OPTional OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam OR = "OR" + OTHER = "OTHER" OUT = "OUT" OUTPUT = "OUTPUT" OUTPWR = "OUTPWR" @@ -784,7 +807,9 @@ class MSO6BCommandConstants: PACKET = "PACKET" PACKETOFFDATA = "PACKETOFFDATA" # packetOffData PACKETS = "PACKETS" # PACKets + PAL = "PAL" PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric PARITY = "PARITY" # PARity PARITYERROR = "PARITYERROR" # PARItyerror PAUSE = "PAUSE" @@ -920,13 +945,16 @@ class MSO6BCommandConstants: RJ = "RJ" RMS = "RMS" RNR = "RNR" + ROTATION = "ROTATION" RP = "RP" RPBINARY = "RPBINARY" # RPBinary RPM = "RPM" RR = "RR" RRC = "RRC" RS232C = "RS232C" + RSTACT = "RSTACT" RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa RUN = "RUN" RUNSTOP = "RUNSTOP" # RUNSTop RUNT = "RUNT" @@ -951,6 +979,7 @@ class MSO6BCommandConstants: SCIENTIFIC = "SCIENTIFIC" # SCIentific SCRAMBLING = "SCRAMBLING" # SCRambling SCREEN = "SCREEN" + # SCREEN = "SCReen" SDATA = "SDATA" # SDATa SDIDATA = "SDIDATA" SDIDATASSM = "SDIDATASSM" @@ -959,6 +988,7 @@ class MSO6BCommandConstants: SEARCH1 = "SEARCH1" SEARCHROM = "SEARCHROM" SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" SEGMENTS = "SEGMENTS" # SEGments SELECTED = "SELECTED" SENSOR = "SENSOR" @@ -973,11 +1003,13 @@ class MSO6BCommandConstants: SET = "SET" SETAASA = "SETAASA" # SETaasa SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" SETCONFIG = "SETCONFIG" # SETCONFig SETDECAY = "SETDECAY" # SETDecay SETDYA = "SETDYA" # SETDya SETEXT = "SETEXT" # SEText SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa SETHOLD = "SETHOLD" # SETHold SETLEVEL = "SETLEVEL" # SETLevel SETMRDL = "SETMRDL" # SETMrdl @@ -1184,6 +1216,8 @@ class MSO6BCommandConstants: WAVEFORM = "WAVEFORM" # WAVEFORM = "WAVEform" WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" WBGPRESET = "WBGPRESET" # WBGPREset WIDTH = "WIDTH" # WIDth WINDOW = "WINDOW" # WINdow @@ -1260,6 +1294,7 @@ class MSO6BCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -1271,7 +1306,6 @@ class MSO6BCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -1279,6 +1313,7 @@ class MSO6BCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -1294,6 +1329,7 @@ class MSO6BCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. @@ -1367,6 +1403,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._filesystem = Filesystem(device) self._fpanel = Fpanel(device) self._header = Header(device) + self._histogram = Histogram(device) self._horizontal = Horizontal(device) self._id = Id(device) self._idn = Idn(device) @@ -1380,7 +1417,6 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 lambda x: MatharbfltItem(device, f"MATHArbflt{x}") ) self._meastable = Meastable(device) - self._measu = Measu(device) self._measurement = Measurement(device) self._newpass = Newpass(device) self._opc = Opc(device) @@ -1388,6 +1424,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._password = Password(device) self._pause = Pause(device) self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) self._plot = Plot(device) self._power = Power(device) self._psc = Psc(device) @@ -1405,6 +1442,7 @@ def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 self._saveonevent = Saveonevent(device) self._search = Search(device) self._searchtable = Searchtable(device) + self._select = Select(device) self._set = Set(device) self._socketserver = Socketserver(device) self._sre = Sre(device) @@ -1690,7 +1728,6 @@ def bus(self) -> Bus: Sub-properties: - ``.addnew``: The ``BUS:ADDNew`` command. - ``.b``: The ``BUS:B`` command tree. - - ``.bpsifive``: The ``BUS:BPSIFIVe`` command tree. - ``.delete``: The ``BUS:DELete`` command. - ``.list``: The ``BUS:LIST`` command. """ @@ -1788,7 +1825,8 @@ def callouts(self) -> Callouts: AssertionError if the returned value does not match ``value``. Sub-properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. """ return self._callouts @@ -1841,7 +1879,7 @@ def clear(self) -> Clear: """Return the ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. @@ -2511,6 +2549,24 @@ def header(self) -> Header: """ return self._header + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + @property def horizontal(self) -> Horizontal: """Return the ``HORizontal`` command. @@ -2756,20 +2812,6 @@ def meastable(self) -> Meastable: """ return self._meastable - @property - def measu(self) -> Measu: - """Return the ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - return self._measu - @property def measurement(self) -> Measurement: """Return the ``MEASUrement`` command. @@ -2969,6 +3011,21 @@ def peakstable(self) -> Peakstable: """ return self._peakstable + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + @property def plot(self) -> Plot: """Return the ``PLOT`` command tree. @@ -3205,6 +3262,7 @@ def save(self) -> Save: Sub-properties: - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. - ``.plotdata``: The ``SAVe:PLOTData`` command. - ``.report``: The ``SAVe:REPOrt`` command. - ``.session``: The ``SAVe:SESsion`` command. @@ -3282,6 +3340,20 @@ def searchtable(self) -> Searchtable: """ return self._searchtable + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + @property def set_(self) -> Set: """Return the ``SET`` command. @@ -3859,6 +3931,7 @@ def commands(self) -> MSO6BCommands: - ``.filesystem``: The ``FILESystem`` command. - ``.fpanel``: The ``FPAnel`` command tree. - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. - ``.horizontal``: The ``HORizontal`` command. - ``.id``: The ``ID`` command. - ``.idn``: The ``*IDN`` command. @@ -3870,7 +3943,6 @@ def commands(self) -> MSO6BCommands: - ``.math``: The ``MATH`` command tree. - ``.matharbflt``: The ``MATHArbflt`` command tree. - ``.meastable``: The ``MEASTABle`` command tree. - - ``.measu``: The ``MEASU`` command tree. - ``.measurement``: The ``MEASUrement`` command. - ``.newpass``: The ``NEWpass`` command. - ``.opc``: The ``*OPC`` command. @@ -3878,6 +3950,7 @@ def commands(self) -> MSO6BCommands: - ``.password``: The ``PASSWord`` command. - ``.pause``: The ``PAUSe`` command. - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. - ``.plot``: The ``PLOT`` command tree. - ``.power``: The ``POWer`` command tree. - ``.psc``: The ``*PSC`` command. @@ -3893,6 +3966,7 @@ def commands(self) -> MSO6BCommands: - ``.saveonevent``: The ``SAVEONEVent`` command tree. - ``.search``: The ``SEARCH`` command tree. - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. - ``.set``: The ``SET`` command. - ``.socketserver``: The ``SOCKETServer`` command tree. - ``.sre``: The ``*SRE`` command. diff --git a/src/tm_devices/commands/_mso70kc_commands.py b/src/tm_devices/commands/_mso70kc_commands.py index 8a28964b..5426fd69 100644 --- a/src/tm_devices/commands/_mso70kc_commands.py +++ b/src/tm_devices/commands/_mso70kc_commands.py @@ -3313,6 +3313,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_mso70kdx_commands.py b/src/tm_devices/commands/_mso70kdx_commands.py index 1fb06b08..2ebb01b6 100644 --- a/src/tm_devices/commands/_mso70kdx_commands.py +++ b/src/tm_devices/commands/_mso70kdx_commands.py @@ -3315,6 +3315,7 @@ def select(self) -> Select: - ``.d``: The ``SELect:D`` command. - ``.dall``: The ``SELect:DALL`` command. - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. - ``.ref``: The ``SELect:REF`` command. """ return self._select diff --git a/src/tm_devices/commands/_smu2450_commands.py b/src/tm_devices/commands/_smu2450_commands.py index dbc5a4cd..dbd42978 100644 --- a/src/tm_devices/commands/_smu2450_commands.py +++ b/src/tm_devices/commands/_smu2450_commands.py @@ -89,6 +89,10 @@ class SMU2450CommandConstants: BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" BUFFER_STYLE_COMPACT = "buffer.STYLE_COMPACT" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -162,6 +166,8 @@ class SMU2450CommandConstants: DISPLAY_STATE_LCD_50 = "display.STATE_LCD_50" DISPLAY_STATE_LCD_75 = "display.STATE_LCD_75" DISPLAY_STATE_LCD_OFF = "display.STATE_LCD_OFF" + DISPLAY_TEXT1 = "display.TEXT1" + DISPLAY_TEXT2 = "display.TEXT2" EVENTLOG_SEV_ALL = "eventlog.SEV_ALL" EVENTLOG_SEV_ERROR = "eventlog.SEV_ERROR" EVENTLOG_SEV_INFO = "eventlog.SEV_INFO" @@ -181,6 +187,9 @@ class SMU2450CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -297,13 +306,100 @@ class SMU2450CommandConstants: STATUS_STANDARD_OPC = "status.standard.OPC" STATUS_STANDARD_PON = "status.standard.PON" STATUS_STANDARD_QYE = "status.standard.QYE" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" TRIGGER_BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" TRIGGER_BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + TRIGGER_EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + TRIGGER_EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + TRIGGER_EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + TRIGGER_EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + TRIGGER_EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + TRIGGER_EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + TRIGGER_EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + TRIGGER_EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + TRIGGER_EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + TRIGGER_EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + TRIGGER_EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + TRIGGER_EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + TRIGGER_EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" TRIGGER_EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + TRIGGER_EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + TRIGGER_EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" TRIGGER_USER_DELAY_M1 = "trigger.USER_DELAY_M1" TRIGGER_USER_DELAY_M2 = "trigger.USER_DELAY_M2" TRIGGER_USER_DELAY_M3 = "trigger.USER_DELAY_M3" @@ -314,6 +410,14 @@ class SMU2450CommandConstants: TRIGGER_USER_DELAY_S3 = "trigger.USER_DELAY_S3" TRIGGER_USER_DELAY_S4 = "trigger.USER_DELAY_S4" TRIGGER_USER_DELAY_S5 = "trigger.USER_DELAY_S5" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" TSPNET_TERM_CR = "tspnet.TERM_CR" TSPNET_TERM_CRLF = "tspnet.TERM_CRLF" TSPNET_TERM_LF = "tspnet.TERM_LF" @@ -458,6 +562,11 @@ def buffer(self) -> Buffer: - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -490,6 +599,7 @@ def buffer(self) -> Buffer: - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -617,6 +727,8 @@ def display(self) -> Display: - ``.STATE_LCD_50``: Set display to 50% brightness. - ``.STATE_LCD_75``: Set display to 75% brightness. - ``.STATE_LCD_OFF``: Set display to off. + - ``.TEXT1``: display text line for Line 1. + - ``.TEXT2``: display text line for Line 2. Sub-properties/methods: - ``.activebuffer``: The ``display.activebuffer`` attribute. @@ -739,6 +851,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -979,19 +1095,162 @@ def trigger(self) -> Trigger: """Return the ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger + model executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -1007,6 +1266,9 @@ def trigger(self) -> Trigger: - ``.USER_DELAY_S3``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S4``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S5``: Delay 1 is set by smu.source.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -1028,6 +1290,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_smu2460_commands.py b/src/tm_devices/commands/_smu2460_commands.py index bae571bc..c288668d 100644 --- a/src/tm_devices/commands/_smu2460_commands.py +++ b/src/tm_devices/commands/_smu2460_commands.py @@ -113,6 +113,10 @@ class SMU2460CommandConstants: BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" BUFFER_STYLE_COMPACT = "buffer.STYLE_COMPACT" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -186,6 +190,8 @@ class SMU2460CommandConstants: DISPLAY_STATE_LCD_50 = "display.STATE_LCD_50" DISPLAY_STATE_LCD_75 = "display.STATE_LCD_75" DISPLAY_STATE_LCD_OFF = "display.STATE_LCD_OFF" + DISPLAY_TEXT1 = "display.TEXT1" + DISPLAY_TEXT2 = "display.TEXT2" EVENTLOG_SEV_ALL = "eventlog.SEV_ALL" EVENTLOG_SEV_ERROR = "eventlog.SEV_ERROR" EVENTLOG_SEV_INFO = "eventlog.SEV_INFO" @@ -205,6 +211,9 @@ class SMU2460CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -321,13 +330,100 @@ class SMU2460CommandConstants: STATUS_STANDARD_OPC = "status.standard.OPC" STATUS_STANDARD_PON = "status.standard.PON" STATUS_STANDARD_QYE = "status.standard.QYE" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" TRIGGER_BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" TRIGGER_BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + TRIGGER_EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + TRIGGER_EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + TRIGGER_EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + TRIGGER_EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + TRIGGER_EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + TRIGGER_EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + TRIGGER_EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + TRIGGER_EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + TRIGGER_EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + TRIGGER_EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + TRIGGER_EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + TRIGGER_EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + TRIGGER_EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" TRIGGER_EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + TRIGGER_EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + TRIGGER_EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" TRIGGER_USER_DELAY_M1 = "trigger.USER_DELAY_M1" TRIGGER_USER_DELAY_M2 = "trigger.USER_DELAY_M2" TRIGGER_USER_DELAY_M3 = "trigger.USER_DELAY_M3" @@ -338,6 +434,14 @@ class SMU2460CommandConstants: TRIGGER_USER_DELAY_S3 = "trigger.USER_DELAY_S3" TRIGGER_USER_DELAY_S4 = "trigger.USER_DELAY_S4" TRIGGER_USER_DELAY_S5 = "trigger.USER_DELAY_S5" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" TSPNET_TERM_CR = "tspnet.TERM_CR" TSPNET_TERM_CRLF = "tspnet.TERM_CRLF" TSPNET_TERM_LF = "tspnet.TERM_LF" @@ -515,6 +619,11 @@ def buffer(self) -> Buffer: - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -547,6 +656,7 @@ def buffer(self) -> Buffer: - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -674,6 +784,8 @@ def display(self) -> Display: - ``.STATE_LCD_50``: Set display to 50% brightness. - ``.STATE_LCD_75``: Set display to 75% brightness. - ``.STATE_LCD_OFF``: Set display to off. + - ``.TEXT1``: display text line for Line 1. + - ``.TEXT2``: display text line for Line 2. Sub-properties/methods: - ``.activebuffer``: The ``display.activebuffer`` attribute. @@ -796,6 +908,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -1036,19 +1152,162 @@ def trigger(self) -> Trigger: """Return the ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger + model executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -1064,6 +1323,9 @@ def trigger(self) -> Trigger: - ``.USER_DELAY_S3``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S4``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S5``: Delay 1 is set by smu.source.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -1085,6 +1347,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_smu2461_commands.py b/src/tm_devices/commands/_smu2461_commands.py index 6e4ffd07..fd92a8d3 100644 --- a/src/tm_devices/commands/_smu2461_commands.py +++ b/src/tm_devices/commands/_smu2461_commands.py @@ -114,6 +114,10 @@ class SMU2461CommandConstants: BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" BUFFER_STYLE_COMPACT = "buffer.STYLE_COMPACT" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -187,6 +191,8 @@ class SMU2461CommandConstants: DISPLAY_STATE_LCD_50 = "display.STATE_LCD_50" DISPLAY_STATE_LCD_75 = "display.STATE_LCD_75" DISPLAY_STATE_LCD_OFF = "display.STATE_LCD_OFF" + DISPLAY_TEXT1 = "display.TEXT1" + DISPLAY_TEXT2 = "display.TEXT2" EVENTLOG_SEV_ALL = "eventlog.SEV_ALL" EVENTLOG_SEV_ERROR = "eventlog.SEV_ERROR" EVENTLOG_SEV_INFO = "eventlog.SEV_INFO" @@ -206,6 +212,9 @@ class SMU2461CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -322,18 +331,113 @@ class SMU2461CommandConstants: STATUS_STANDARD_OPC = "status.standard.OPC" STATUS_STANDARD_PON = "status.standard.PON" STATUS_STANDARD_QYE = "status.standard.QYE" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" TRIGGER_BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" TRIGGER_BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + TRIGGER_EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + TRIGGER_EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + TRIGGER_EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + TRIGGER_EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + TRIGGER_EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + TRIGGER_EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + TRIGGER_EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + TRIGGER_EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + TRIGGER_EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + TRIGGER_EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + TRIGGER_EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + TRIGGER_EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + TRIGGER_EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" TRIGGER_EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + TRIGGER_EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + TRIGGER_EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" TRIGGER_USER_DELAY_M1 = "trigger.USER_DELAY_M1" TRIGGER_USER_DELAY_M2 = "trigger.USER_DELAY_M2" TRIGGER_USER_DELAY_M3 = "trigger.USER_DELAY_M3" TRIGGER_USER_DELAY_M4 = "trigger.USER_DELAY_M4" TRIGGER_USER_DELAY_M5 = "trigger.USER_DELAY_M5" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" TSPNET_TERM_CR = "tspnet.TERM_CR" TSPNET_TERM_CRLF = "tspnet.TERM_CRLF" TSPNET_TERM_LF = "tspnet.TERM_LF" @@ -524,6 +628,11 @@ def buffer(self) -> Buffer: - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -556,6 +665,7 @@ def buffer(self) -> Buffer: - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -683,6 +793,8 @@ def display(self) -> Display: - ``.STATE_LCD_50``: Set display to 50% brightness. - ``.STATE_LCD_75``: Set display to 75% brightness. - ``.STATE_LCD_OFF``: Set display to off. + - ``.TEXT1``: display text line for Line 1. + - ``.TEXT2``: display text line for Line 2. Sub-properties/methods: - ``.activebuffer``: The ``display.activebuffer`` attribute. @@ -805,6 +917,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -1049,19 +1165,162 @@ def trigger(self) -> Trigger: """Return the ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger + model executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -1072,6 +1331,9 @@ def trigger(self) -> Trigger: smu.measure.userdelay[N]. - ``.USER_DELAY_M5``: trigger.USER_DELAY_M5, where the user delay 5 is set by smu.measure.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -1093,6 +1355,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_smu2470_commands.py b/src/tm_devices/commands/_smu2470_commands.py index 70307ace..bbde1f5e 100644 --- a/src/tm_devices/commands/_smu2470_commands.py +++ b/src/tm_devices/commands/_smu2470_commands.py @@ -89,6 +89,10 @@ class SMU2470CommandConstants: BUFFER_STAT_START_GROUP = "buffer.STAT_START_GROUP" BUFFER_STAT_TERMINAL = "buffer.STAT_TERMINAL" BUFFER_STYLE_COMPACT = "buffer.STYLE_COMPACT" + BUFFER_STYLE_FULL = "buffer.STYLE_FULL" + BUFFER_STYLE_STANDARD = "buffer.STYLE_STANDARD" + BUFFER_STYLE_WRITABLE = "buffer.STYLE_WRITABLE" + BUFFER_STYLE_WRITABLE_FULL = "buffer.STYLE_WRITABLE_FULL" BUFFER_UNIT_AMP = "buffer.UNIT_AMP" BUFFER_UNIT_AMP_AC = "buffer.UNIT_AMP_AC" BUFFER_UNIT_CELSIUS = "buffer.UNIT_CELSIUS" @@ -162,6 +166,8 @@ class SMU2470CommandConstants: DISPLAY_STATE_LCD_50 = "display.STATE_LCD_50" DISPLAY_STATE_LCD_75 = "display.STATE_LCD_75" DISPLAY_STATE_LCD_OFF = "display.STATE_LCD_OFF" + DISPLAY_TEXT1 = "display.TEXT1" + DISPLAY_TEXT2 = "display.TEXT2" EVENTLOG_SEV_ALL = "eventlog.SEV_ALL" EVENTLOG_SEV_ERROR = "eventlog.SEV_ERROR" EVENTLOG_SEV_INFO = "eventlog.SEV_INFO" @@ -181,6 +187,9 @@ class SMU2470CommandConstants: LAN_MODE_MANUAL = "lan.MODE_MANUAL" LAN_OFF = "lan.OFF" LAN_ON = "lan.ON" + LAN_PROTOCOL_MULTICAST = "lan.PROTOCOL_MULTICAST" + LAN_PROTOCOL_TCP = "lan.PROTOCOL_TCP" + LAN_PROTOCOL_UDP = "lan.PROTOCOL_UDP" LOCALNODE_ACCESS_EXCLUSIVE = "localnode.ACCESS_EXCLUSIVE" LOCALNODE_ACCESS_FULL = "localnode.ACCESS_FULL" LOCALNODE_ACCESS_LOCKOUT = "localnode.ACCESS_LOCKOUT" @@ -297,13 +306,100 @@ class SMU2470CommandConstants: STATUS_STANDARD_OPC = "status.standard.OPC" STATUS_STANDARD_PON = "status.standard.PON" STATUS_STANDARD_QYE = "status.standard.QYE" + TRIGGER_BLOCK_BRANCH_ALWAYS = "trigger.BLOCK_BRANCH_ALWAYS" + TRIGGER_BLOCK_BRANCH_COUNTER = "trigger.BLOCK_BRANCH_COUNTER" + TRIGGER_BLOCK_BRANCH_DELTA = "trigger.BLOCK_BRANCH_DELTA" + TRIGGER_BLOCK_BRANCH_LIMIT_CONSTANT = "trigger.BLOCK_BRANCH_LIMIT_CONSTANT" + TRIGGER_BLOCK_BRANCH_LIMIT_DYNAMIC = "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC" + TRIGGER_BLOCK_BRANCH_ONCE = "trigger.BLOCK_BRANCH_ONCE" + TRIGGER_BLOCK_BRANCH_ONCE_EXCLUDED = "trigger.BLOCK_BRANCH_ONCE_EXCLUDED" + TRIGGER_BLOCK_BRANCH_ON_EVENT = "trigger.BLOCK_BRANCH_ON_EVENT" + TRIGGER_BLOCK_BUFFER_CLEAR = "trigger.BLOCK_BUFFER_CLEAR" + TRIGGER_BLOCK_CONFIG_NEXT = "trigger.BLOCK_CONFIG_NEXT" + TRIGGER_BLOCK_CONFIG_PREV = "trigger.BLOCK_CONFIG_PREV" TRIGGER_BLOCK_CONFIG_RECALL = "trigger.BLOCK_CONFIG_RECALL" + TRIGGER_BLOCK_DELAY_CONSTANT = "trigger.BLOCK_DELAY_CONSTANT" + TRIGGER_BLOCK_DELAY_DYNAMIC = "trigger.BLOCK_DELAY_DYNAMIC" + TRIGGER_BLOCK_DIGITAL_IO = "trigger.BLOCK_DIGITAL_IO" + TRIGGER_BLOCK_LOG_EVENT = "trigger.BLOCK_LOG_EVENT" + TRIGGER_BLOCK_MEASURE = "trigger.BLOCK_MEASURE" + TRIGGER_BLOCK_MEASURE_DIGITIZE = "trigger.BLOCK_MEASURE_DIGITIZE" + TRIGGER_BLOCK_NOP = "trigger.BLOCK_NOP" + TRIGGER_BLOCK_NOTIFY = "trigger.BLOCK_NOTIFY" + TRIGGER_BLOCK_RESET_BRANCH_COUNT = "trigger.BLOCK_RESET_BRANCH_COUNT" TRIGGER_BLOCK_SOURCE_OUTPUT = "trigger.BLOCK_SOURCE_OUTPUT" + TRIGGER_BLOCK_WAIT = "trigger.BLOCK_WAIT" TRIGGER_CLEAR_ENTER = "trigger.CLEAR_ENTER" TRIGGER_CLEAR_NEVER = "trigger.CLEAR_NEVER" + TRIGGER_CONT_AUTO = "trigger.CONT_AUTO" + TRIGGER_CONT_OFF = "trigger.CONT_OFF" + TRIGGER_CONT_RESTART = "trigger.CONT_RESTART" + TRIGGER_COUNT_AUTO = "trigger.COUNT_AUTO" + TRIGGER_COUNT_INFINITE = "trigger.COUNT_INFINITE" + TRIGGER_COUNT_STOP = "trigger.COUNT_STOP" + TRIGGER_EDGE_EITHER = "trigger.EDGE_EITHER" + TRIGGER_EDGE_FALLING = "trigger.EDGE_FALLING" + TRIGGER_EDGE_RISING = "trigger.EDGE_RISING" + TRIGGER_EVENT_BLENDER1 = "trigger.EVENT_BLENDER1" + TRIGGER_EVENT_BLENDER2 = "trigger.EVENT_BLENDER2" + TRIGGER_EVENT_COMMAND = "trigger.EVENT_COMMAND" + TRIGGER_EVENT_DIGIO1 = "trigger.EVENT_DIGIO1" + TRIGGER_EVENT_DIGIO2 = "trigger.EVENT_DIGIO2" + TRIGGER_EVENT_DIGIO3 = "trigger.EVENT_DIGIO3" + TRIGGER_EVENT_DIGIO4 = "trigger.EVENT_DIGIO4" + TRIGGER_EVENT_DIGIO5 = "trigger.EVENT_DIGIO5" + TRIGGER_EVENT_DIGIO6 = "trigger.EVENT_DIGIO6" + TRIGGER_EVENT_DIGION = "trigger.EVENT_DIGION" TRIGGER_EVENT_DISPLAY = "trigger.EVENT_DISPLAY" + TRIGGER_EVENT_LANN = "trigger.EVENT_LANN" + TRIGGER_EVENT_NONE = "trigger.EVENT_NONE" + TRIGGER_EVENT_NOTIFY1 = "trigger.EVENT_NOTIFY1" + TRIGGER_EVENT_NOTIFY2 = "trigger.EVENT_NOTIFY2" + TRIGGER_EVENT_NOTIFY3 = "trigger.EVENT_NOTIFY3" + TRIGGER_EVENT_NOTIFY4 = "trigger.EVENT_NOTIFY4" + TRIGGER_EVENT_NOTIFY5 = "trigger.EVENT_NOTIFY5" + TRIGGER_EVENT_NOTIFY6 = "trigger.EVENT_NOTIFY6" + TRIGGER_EVENT_NOTIFY7 = "trigger.EVENT_NOTIFY7" + TRIGGER_EVENT_NOTIFY8 = "trigger.EVENT_NOTIFY8" TRIGGER_EVENT_NOTIFYN = "trigger.EVENT_NOTIFYN" TRIGGER_EVENT_SOURCE_LIMIT = "trigger.EVENT_SOURCE_LIMIT" + TRIGGER_EVENT_TIMER1 = "trigger.EVENT_TIMER1" + TRIGGER_EVENT_TIMER2 = "trigger.EVENT_TIMER2" + TRIGGER_EVENT_TIMER3 = "trigger.EVENT_TIMER3" + TRIGGER_EVENT_TIMER4 = "trigger.EVENT_TIMER4" + TRIGGER_EVENT_TSPLINK1 = "trigger.EVENT_TSPLINK1" + TRIGGER_EVENT_TSPLINK2 = "trigger.EVENT_TSPLINK2" + TRIGGER_EVENT_TSPLINK3 = "trigger.EVENT_TSPLINK3" + TRIGGER_EVENT_TSPLINKN = "trigger.EVENT_TSPLINKN" + TRIGGER_LIMIT_ABOVE = "trigger.LIMIT_ABOVE" + TRIGGER_LIMIT_BELOW = "trigger.LIMIT_BELOW" + TRIGGER_LIMIT_INSIDE = "trigger.LIMIT_INSIDE" + TRIGGER_LIMIT_OUTSIDE = "trigger.LIMIT_OUTSIDE" + TRIGGER_LOGIC_NEGATIVE = "trigger.LOGIC_NEGATIVE" + TRIGGER_LOGIC_POSITIVE = "trigger.LOGIC_POSITIVE" + TRIGGER_LOG_ERROR1 = "trigger.LOG_ERROR1" + TRIGGER_LOG_ERROR2 = "trigger.LOG_ERROR2" + TRIGGER_LOG_ERROR3 = "trigger.LOG_ERROR3" + TRIGGER_LOG_ERROR4 = "trigger.LOG_ERROR4" + TRIGGER_LOG_INFO1 = "trigger.LOG_INFO1" + TRIGGER_LOG_INFO2 = "trigger.LOG_INFO2" + TRIGGER_LOG_INFO3 = "trigger.LOG_INFO3" + TRIGGER_LOG_INFO4 = "trigger.LOG_INFO4" + TRIGGER_LOG_WARN1 = "trigger.LOG_WARN1" + TRIGGER_LOG_WARN2 = "trigger.LOG_WARN2" + TRIGGER_LOG_WARN3 = "trigger.LOG_WARN3" + TRIGGER_LOG_WARN4 = "trigger.LOG_WARN4" + TRIGGER_LOG_WARN_ABORT = "trigger.LOG_WARN_ABORT" + TRIGGER_OFF = "trigger.OFF" + TRIGGER_ON = "trigger.ON" + TRIGGER_STATE_ABORTED = "trigger.STATE_ABORTED" + TRIGGER_STATE_ABORTING = "trigger.STATE_ABORTING" + TRIGGER_STATE_BUILDING = "trigger.STATE_BUILDING" + TRIGGER_STATE_EMPTY = "trigger.STATE_EMPTY" + TRIGGER_STATE_FAILED = "trigger.STATE_FAILED" + TRIGGER_STATE_IDLE = "trigger.STATE_IDLE" + TRIGGER_STATE_RUNNING = "trigger.STATE_RUNNING" + TRIGGER_STATE_WAITING = "trigger.STATE_WAITING" TRIGGER_USER_DELAY_M1 = "trigger.USER_DELAY_M1" TRIGGER_USER_DELAY_M2 = "trigger.USER_DELAY_M2" TRIGGER_USER_DELAY_M3 = "trigger.USER_DELAY_M3" @@ -314,6 +410,14 @@ class SMU2470CommandConstants: TRIGGER_USER_DELAY_S3 = "trigger.USER_DELAY_S3" TRIGGER_USER_DELAY_S4 = "trigger.USER_DELAY_S4" TRIGGER_USER_DELAY_S5 = "trigger.USER_DELAY_S5" + TRIGGER_WAIT_AND = "trigger.WAIT_AND" + TRIGGER_WAIT_OR = "trigger.WAIT_OR" + TSPLINK_MODE_DIGITAL_OPEN_DRAIN = "tsplink.MODE_DIGITAL_OPEN_DRAIN" + TSPLINK_MODE_SYNCHRONOUS_ACCEPTOR = "tsplink.MODE_SYNCHRONOUS_ACCEPTOR" + TSPLINK_MODE_SYNCHRONOUS_MASTER = "tsplink.MODE_SYNCHRONOUS_MASTER" + TSPLINK_MODE_TRIGGER_OPEN_DRAIN = "tsplink.MODE_TRIGGER_OPEN_DRAIN" + TSPLINK_STATE_HIGH = "tsplink.STATE_HIGH" + TSPLINK_STATE_LOW = "tsplink.STATE_LOW" TSPNET_TERM_CR = "tspnet.TERM_CR" TSPNET_TERM_CRLF = "tspnet.TERM_CRLF" TSPNET_TERM_LF = "tspnet.TERM_LF" @@ -458,6 +562,11 @@ def buffer(self) -> Buffer: - ``.STAT_TERMINAL``: Measure terminal, front is 1, rear is 0. - ``.STYLE_COMPACT``: Store readings with reduced accuracy (6.5 digits) with no formatting information, 1 μs accurate timestamp. + - ``.STYLE_FULL``: Store the same information with full accuracy with formatting, plus + additional information. + - ``.STYLE_STANDARD``: Store readings with full accuracy with formatting. + - ``.STYLE_WRITABLE``: Store external reading buffer data. + - ``.STYLE_WRITABLE_FULL``: Store external reading buffer data with two reading values. - ``.UNIT_AMP``: Set units of measure to dc current. - ``.UNIT_AMP_AC``: Set units of measure to ac current. - ``.UNIT_CELSIUS``: Set units of measure to Celsius. @@ -490,6 +599,7 @@ def buffer(self) -> Buffer: - ``.getstats()``: The ``buffer.getstats()`` function. - ``.make()``: The ``buffer.make()`` function. - ``.save()``: The ``buffer.save()`` function. + - ``.saveappend()``: The ``buffer.saveappend()`` function. - ``.write``: The ``buffer.write`` command tree. """ return self._buffer @@ -617,6 +727,8 @@ def display(self) -> Display: - ``.STATE_LCD_50``: Set display to 50% brightness. - ``.STATE_LCD_75``: Set display to 75% brightness. - ``.STATE_LCD_OFF``: Set display to off. + - ``.TEXT1``: display text line for Line 1. + - ``.TEXT2``: display text line for Line 2. Sub-properties/methods: - ``.activebuffer``: The ``display.activebuffer`` attribute. @@ -739,6 +851,10 @@ def lan(self) -> Lan: close the DST port to close all open LAN connections. By turning DST protection ON, you are protecting LAN connections from being inadvertently closed by your IT department doing a port scan across the corporate network. + - ``.PROTOCOL_MULTICAST``: Sets the LAN protocol to use for sending trigger messages to + multicast. + - ``.PROTOCOL_TCP``: Sets the LAN protocol to use for sending trigger messages to TCP. + - ``.PROTOCOL_UDP``: Sets the LAN protocol to use for sending trigger messages to UDP. Sub-properties/methods: - ``.ipconfig()``: The ``lan.ipconfig()`` function. @@ -980,19 +1096,162 @@ def trigger(self) -> Trigger: """Return the ``trigger`` command tree. Constants: + - ``.BLOCK_BRANCH_ALWAYS``: Defines a trigger model block that always goes to a specific + block. + - ``.BLOCK_BRANCH_COUNTER``: Defines a trigger model block that branches to a specified + block a specified number of times. + - ``.BLOCK_BRANCH_DELTA``: Defines a trigger model block that goes to a specified block + if the difference of two measurements meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_CONSTANT``: Defines a trigger model block that goes to a + specified block if a measurement meets preset criteria. + - ``.BLOCK_BRANCH_LIMIT_DYNAMIC``: Defines a trigger model block that goes to a + specified block in the trigger model if a measurement meets user-defined criteria. + - ``.BLOCK_BRANCH_ONCE``: Causes the trigger model to branch to a specified building + block the first time it is encountered in the trigger model. + - ``.BLOCK_BRANCH_ONCE_EXCLUDED``: Causes the trigger model to go to a specified + building block every time the trigger model encounters it, except for the first time. + - ``.BLOCK_BRANCH_ON_EVENT``: Branches to a specified block when a specified trigger + event occurs. + - ``.BLOCK_BUFFER_CLEAR``: Defines a trigger model block that clears the reading buffer. + - ``.BLOCK_CONFIG_NEXT``: Recalls the settings at the next index of a configuration + list. + - ``.BLOCK_CONFIG_PREV``: Recalls the settings stored at the previous index of a + configuration list. - ``.BLOCK_CONFIG_RECALL``: Recalls the system settings that are stored in a source or measure configuration list, or both a source and measure configuration list. + - ``.BLOCK_DELAY_CONSTANT``: Adds a constant delay to the execution of a trigger model. + - ``.BLOCK_DELAY_DYNAMIC``: Adds a user delay to the execution of the trigger model. + - ``.BLOCK_DIGITAL_IO``: Defines a trigger model block that sets the lines on the + digital I/O port high or low. + - ``.BLOCK_LOG_EVENT``: Allows you to log an event in the event log when the trigger + model is running. + - ``.BLOCK_MEASURE``: Deprecated; use trigger.BLOCK_MEASURE_DIGITIZE instead. + - ``.BLOCK_MEASURE_DIGITIZE``: defines a trigger block that makes or digitizes a + measurement. + - ``.BLOCK_NOP``: Creates a placeholder that performs no action in the trigger model. + - ``.BLOCK_NOTIFY``: Defines a trigger-model block that generates a trigger event and + immediately continues to the next block. + - ``.BLOCK_RESET_BRANCH_COUNT``: Creates a block in the trigger model that resets a + branch counter to 0. - ``.BLOCK_SOURCE_OUTPUT``: Defines a trigger block that turns the output source on or off. + - ``.BLOCK_WAIT``: Defines a trigger model block that waits for an event before allowing + the trigger model to continue. - ``.CLEAR_ENTER``: Clear previously detected trigger events when entering the wait block. - ``.CLEAR_NEVER``: Immediately act on any previously detected triggers and not clear them (default). + - ``.CONT_AUTO``: Start continuous measurements after boot. + - ``.CONT_OFF``: Do not start continuous measurements after boot. + - ``.CONT_RESTART``: Place the instrument into local control and start continuous + measurements after boot. + - ``.COUNT_AUTO``: Use most recent count value. + - ``.COUNT_INFINITE``: Infinite (run continuously until stopped). + - ``.COUNT_STOP``: Stop infinite to stop the block. + - ``.EDGE_EITHER``: Sets the selected trigger line to detect either rising-edge or + falling-edge triggers as input when the line is configured as an input or open drain. + - ``.EDGE_FALLING``: Sets the selected trigger line to detect falling-edge triggers as + input when the line is configured as an input or open drain. + - ``.EDGE_RISING``: Sets the selected trigger line to detect rising-edge triggers as + input when the line is configured as an input or open drain. + - ``.EVENT_BLENDER1``: Trigger event blender1, which combines trigger events. + - ``.EVENT_BLENDER2``: Trigger event blender2, which combines trigger events. + - ``.EVENT_COMMAND``: A command interface trigger. + - ``.EVENT_DIGIO1``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 1. + - ``.EVENT_DIGIO2``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 2. + - ``.EVENT_DIGIO3``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 3. + - ``.EVENT_DIGIO4``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 4. + - ``.EVENT_DIGIO5``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 5. + - ``.EVENT_DIGIO6``: Digital input line edge (either rising, falling, or either based on + the configuration of the line) detected on digital input line 6. + - ``.EVENT_DIGION``: Line edge (either rising, falling, or either based on the + configuration of the line) detected on digital input line N (1 to 6). - ``.EVENT_DISPLAY``: Front-panel TRIGGER key press. + - ``.EVENT_LANN``: Appropriate LXI trigger packet is received on LAN trigger object N (1 + to 8). + - ``.EVENT_NONE``: No trigger event. + - ``.EVENT_NOTIFY1``: Notify trigger block1 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY2``: Notify trigger block2 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY3``: Notify trigger block3 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY4``: Notify trigger block4 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY5``: Notify trigger block5 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY6``: Notify trigger block6 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY7``: Notify trigger block7 generates a trigger event when the trigger + model executes it. + - ``.EVENT_NOTIFY8``: Notify trigger block8 generates a trigger event when the trigger + model executes it. - ``.EVENT_NOTIFYN``: Notify trigger block N (1 to 3) generates a trigger event when the trigger model executes it. - ``.EVENT_SOURCE_LIMIT``: Before asserting a trigger on the selected digital output line, wait until a source limit condition occurs. + - ``.EVENT_TIMER1``: Trigger timer 1 expired. + - ``.EVENT_TIMER2``: Trigger timer 2 expired. + - ``.EVENT_TIMER3``: Trigger timer 3 expired. + - ``.EVENT_TIMER4``: Trigger timer 4 expired. + - ``.EVENT_TSPLINK1``: Line edge detected on TSP-Link synchronization line 1. + - ``.EVENT_TSPLINK2``: Line edge detected on TSP-Link synchronization line 2. + - ``.EVENT_TSPLINK3``: Line edge detected on TSP-Link synchronization line 3. + - ``.EVENT_TSPLINKN``: Line edge detected on TSP-Link synchronization line N (1 to 3). + - ``.LIMIT_ABOVE``: The measurement is above the value set by limit B; limit A must be + set, but is ignored when this type is selected. + - ``.LIMIT_BELOW``: The measurement is below the value set by limit A; limit B must be + set, but is ignored when this type is selected. + - ``.LIMIT_INSIDE``: The measurement is inside the values set by limits A and B; limit A + must be the low value and Limit B must be the high value. + - ``.LIMIT_OUTSIDE``: The measurement is outside the values set by limits A and B; limit + A must be the low value and Limit B must be the high value. + - ``.LOGIC_NEGATIVE``: Asserts a TTL-low pulse for the output logic of the trigger event + generator for the specified line. + - ``.LOGIC_POSITIVE``: Asserts a TTL-high pulse for the output logic of the trigger + event generator for the specified line. + - ``.LOG_ERROR1``: Log error event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR2``: Log error event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR3``: Log error event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_ERROR4``: Log error event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO1``: Log information event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO2``: Log information event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO3``: Log information event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_INFO4``: Log information event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN1``: Log warning event 1 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN2``: Log warning event 2 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN3``: Log warning event 3 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN4``: Log warning event 4 in the event log when trigger model execution + reaches this block. + - ``.LOG_WARN_ABORT``: Abort the trigger model immediately and post a warning event log + message. + - ``.OFF``: Disable the trigger timer. + - ``.ON``: Enable the trigger timer. + - ``.STATE_ABORTED``: The trigger model is stopped. + - ``.STATE_ABORTING``: The trigger model is stopping. + - ``.STATE_BUILDING``: Blocks have been added. + - ``.STATE_EMPTY``: The trigger model is selected, but no blocks are defined. + - ``.STATE_FAILED``: The trigger model is stopped because of an error. + - ``.STATE_IDLE``: The trigger model is stopped. + - ``.STATE_RUNNING``: The trigger model is running. + - ``.STATE_WAITING``: The trigger model has been in the same wait block for more than + 100 ms. - ``.USER_DELAY_M1``: trigger.USER_DELAY_M1, where the user delay 1 is set by smu.measure.userdelay[N]. - ``.USER_DELAY_M2``: trigger.USER_DELAY_M2, where the user delay 2 is set by @@ -1008,6 +1267,9 @@ def trigger(self) -> Trigger: - ``.USER_DELAY_S3``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S4``: Delay 1 is set by smu.source.userdelay[N]. - ``.USER_DELAY_S5``: Delay 1 is set by smu.source.userdelay[N]. + - ``.WAIT_AND``: Each event must occur before the trigger model continues. + - ``.WAIT_OR``: At least one of the events must occur before the trigger model + continues. Sub-properties/methods: - ``.blender``: The ``trigger.blender[N]`` command tree. @@ -1029,6 +1291,14 @@ def trigger(self) -> Trigger: def tsplink(self) -> Tsplink: """Return the ``tsplink`` command tree. + Constants: + - ``.MODE_DIGITAL_OPEN_DRAIN``: TSP-Link digital open drain line. + - ``.MODE_SYNCHRONOUS_ACCEPTOR``: TSP-Link trigger synchronous acceptor. + - ``.MODE_SYNCHRONOUS_MASTER``: TSP-Link trigger synchronous master. + - ``.MODE_TRIGGER_OPEN_DRAIN``: TSP-Link trigger open drain line. + - ``.STATE_HIGH``: High state of the synchronization line. + - ``.STATE_LOW``: Low state of the synchronization line. + Sub-properties/methods: - ``.group``: The ``tsplink.group`` attribute. - ``.initialize()``: The ``tsplink.initialize()`` function. diff --git a/src/tm_devices/commands/_smu2601b_commands.py b/src/tm_devices/commands/_smu2601b_commands.py index 198f9a6d..5e5d3952 100644 --- a/src/tm_devices/commands/_smu2601b_commands.py +++ b/src/tm_devices/commands/_smu2601b_commands.py @@ -62,7 +62,34 @@ class SMU2601BCommandConstants: DIGIO_TRIG_SYNCHRONOUS = "digio.TRIG_SYNCHRONOUS" DIGIO_TRIG_SYNCHRONOUSA = "digio.TRIG_SYNCHRONOUSA" DIGIO_TRIG_SYNCHRONOUSM = "digio.TRIG_SYNCHRONOUSM" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_MEASURE_DCAMPS = "display.MEASURE_DCAMPS" @@ -72,6 +99,9 @@ class SMU2601BCommandConstants: DISPLAY_SMUA = "display.SMUA" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -802,7 +832,43 @@ def display(self) -> Display: """Return the ``display`` command tree. Constants: + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.MEASURE_DCAMPS``: Display the current measurement function. @@ -811,6 +877,9 @@ def display(self) -> Display: - ``.MEASURE_WATTS``: Display the power measurement function. - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2601b_pulse_commands.py b/src/tm_devices/commands/_smu2601b_pulse_commands.py index 26896b85..ac9f20d8 100644 --- a/src/tm_devices/commands/_smu2601b_pulse_commands.py +++ b/src/tm_devices/commands/_smu2601b_pulse_commands.py @@ -68,10 +68,37 @@ class SMU2601BPulseCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -84,6 +111,9 @@ class SMU2601BPulseCommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -731,10 +761,46 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -746,6 +812,9 @@ def display(self) -> Display: - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.getlastkey()``: The ``display.getlastkey()`` function. diff --git a/src/tm_devices/commands/_smu2602b_commands.py b/src/tm_devices/commands/_smu2602b_commands.py index 52d7527d..10eb20fd 100644 --- a/src/tm_devices/commands/_smu2602b_commands.py +++ b/src/tm_devices/commands/_smu2602b_commands.py @@ -78,10 +78,46 @@ class SMU2602BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -96,6 +132,9 @@ class SMU2602BCommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -879,10 +918,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -896,6 +983,9 @@ def display(self) -> Display: - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2604b_commands.py b/src/tm_devices/commands/_smu2604b_commands.py index 14f1288d..e4a360ad 100644 --- a/src/tm_devices/commands/_smu2604b_commands.py +++ b/src/tm_devices/commands/_smu2604b_commands.py @@ -68,10 +68,46 @@ class SMU2604BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -84,6 +120,9 @@ class SMU2604BCommandConstants: DISPLAY_SMUB = "display.SMUB" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -689,10 +728,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -704,6 +791,9 @@ def display(self) -> Display: - ``.SMUA_SMUB``: Displays source-measure screen for SMU A and SMU B. - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2606b_commands.py b/src/tm_devices/commands/_smu2606b_commands.py index 4428eb65..4cf33597 100644 --- a/src/tm_devices/commands/_smu2606b_commands.py +++ b/src/tm_devices/commands/_smu2606b_commands.py @@ -76,10 +76,46 @@ class SMU2606BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -94,6 +130,9 @@ class SMU2606BCommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -870,10 +909,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -887,6 +974,9 @@ def display(self) -> Display: - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2611b_commands.py b/src/tm_devices/commands/_smu2611b_commands.py index 9d772c9b..08dc63f6 100644 --- a/src/tm_devices/commands/_smu2611b_commands.py +++ b/src/tm_devices/commands/_smu2611b_commands.py @@ -62,7 +62,34 @@ class SMU2611BCommandConstants: DIGIO_TRIG_SYNCHRONOUS = "digio.TRIG_SYNCHRONOUS" DIGIO_TRIG_SYNCHRONOUSA = "digio.TRIG_SYNCHRONOUSA" DIGIO_TRIG_SYNCHRONOUSM = "digio.TRIG_SYNCHRONOUSM" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_MEASURE_DCAMPS = "display.MEASURE_DCAMPS" @@ -72,6 +99,9 @@ class SMU2611BCommandConstants: DISPLAY_SMUA = "display.SMUA" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -801,7 +831,43 @@ def display(self) -> Display: """Return the ``display`` command tree. Constants: + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.MEASURE_DCAMPS``: Display the current measurement function. @@ -810,6 +876,9 @@ def display(self) -> Display: - ``.MEASURE_WATTS``: Display the power measurement function. - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2612b_commands.py b/src/tm_devices/commands/_smu2612b_commands.py index 8b4db9e9..a320492d 100644 --- a/src/tm_devices/commands/_smu2612b_commands.py +++ b/src/tm_devices/commands/_smu2612b_commands.py @@ -78,10 +78,46 @@ class SMU2612BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -96,6 +132,9 @@ class SMU2612BCommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -878,10 +917,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -895,6 +982,9 @@ def display(self) -> Display: - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2614b_commands.py b/src/tm_devices/commands/_smu2614b_commands.py index 769fdb92..e06b2320 100644 --- a/src/tm_devices/commands/_smu2614b_commands.py +++ b/src/tm_devices/commands/_smu2614b_commands.py @@ -68,10 +68,46 @@ class SMU2614BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -84,6 +120,9 @@ class SMU2614BCommandConstants: DISPLAY_SMUB = "display.SMUB" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -688,10 +727,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -703,6 +790,9 @@ def display(self) -> Display: - ``.SMUA_SMUB``: Displays source-measure screen for SMU A and SMU B. - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2634b_commands.py b/src/tm_devices/commands/_smu2634b_commands.py index f853e50c..8ca1baa1 100644 --- a/src/tm_devices/commands/_smu2634b_commands.py +++ b/src/tm_devices/commands/_smu2634b_commands.py @@ -68,10 +68,46 @@ class SMU2634BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -84,6 +120,9 @@ class SMU2634BCommandConstants: DISPLAY_SMUB = "display.SMUB" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -689,10 +728,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -704,6 +791,9 @@ def display(self) -> Display: - ``.SMUA_SMUB``: Displays source-measure screen for SMU A and SMU B. - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2635b_commands.py b/src/tm_devices/commands/_smu2635b_commands.py index 1f84d98b..6e453578 100644 --- a/src/tm_devices/commands/_smu2635b_commands.py +++ b/src/tm_devices/commands/_smu2635b_commands.py @@ -62,7 +62,34 @@ class SMU2635BCommandConstants: DIGIO_TRIG_SYNCHRONOUS = "digio.TRIG_SYNCHRONOUS" DIGIO_TRIG_SYNCHRONOUSA = "digio.TRIG_SYNCHRONOUSA" DIGIO_TRIG_SYNCHRONOUSM = "digio.TRIG_SYNCHRONOUSM" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_MEASURE_DCAMPS = "display.MEASURE_DCAMPS" @@ -72,6 +99,9 @@ class SMU2635BCommandConstants: DISPLAY_SMUA = "display.SMUA" DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -802,7 +832,43 @@ def display(self) -> Display: """Return the ``display`` command tree. Constants: + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.MEASURE_DCAMPS``: Display the current measurement function. @@ -811,6 +877,9 @@ def display(self) -> Display: - ``.MEASURE_WATTS``: Display the power measurement function. - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2636b_commands.py b/src/tm_devices/commands/_smu2636b_commands.py index b094bfc2..d151b82f 100644 --- a/src/tm_devices/commands/_smu2636b_commands.py +++ b/src/tm_devices/commands/_smu2636b_commands.py @@ -78,10 +78,46 @@ class SMU2636BCommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DIGITSB = "display.KEY_DIGITSB" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_FILTERB = "display.KEY_FILTERB" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LIMITB = "display.KEY_LIMITB" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MEASB = "display.KEY_MEASB" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" + DISPLAY_KEY_MODEB = "display.KEY_MODEB" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_OUTPUTB = "display.KEY_OUTPUTB" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RELB = "display.KEY_RELB" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SPEEDB = "display.KEY_SPEEDB" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_SRCB = "display.KEY_SRCB" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -96,6 +132,9 @@ class SMU2636BCommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -879,10 +918,58 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DIGITSB``: Represents the DIGITS (display resolution) key for Channel B. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_FILTERB``: Represents the FILTER key for Channel B. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LIMITB``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel B. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MEASB``: Represents the MEAS (Measure) key for Channel B. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. + - ``.KEY_MODEB``: Represents the MODE (meter mode) key for Channel B. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_OUTPUTB``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel B. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RELB``: Represents the REL key for Channel B. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SPEEDB``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel B. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_SRCB``: Represents the SRC (Source) key for Channel B. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -896,6 +983,9 @@ def display(self) -> Display: - ``.SMUB``: Displays source-measure and compliance screen for SMU B. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2651a_commands.py b/src/tm_devices/commands/_smu2651a_commands.py index a2ffd7ab..cef8cbe1 100644 --- a/src/tm_devices/commands/_smu2651a_commands.py +++ b/src/tm_devices/commands/_smu2651a_commands.py @@ -78,10 +78,37 @@ class SMU2651ACommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -94,6 +121,9 @@ class SMU2651ACommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -856,10 +886,46 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -871,6 +937,9 @@ def display(self) -> Display: - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_smu2657a_commands.py b/src/tm_devices/commands/_smu2657a_commands.py index 757d95a2..53e082e4 100644 --- a/src/tm_devices/commands/_smu2657a_commands.py +++ b/src/tm_devices/commands/_smu2657a_commands.py @@ -78,10 +78,37 @@ class SMU2657ACommandConstants: DISPLAY_ANNUNCIATOR_STAR = "display.ANNUNCIATOR_STAR" DISPLAY_ANNUNCIATOR_TALK = "display.ANNUNCIATOR_TALK" DISPLAY_ANNUNCIATOR_TRIGGER = "display.ANNUNCIATOR_TRIGGER" + DISPLAY_DIGITS_4_5 = "display.DIGITS_4_5" + DISPLAY_DIGITS_5_5 = "display.DIGITS_5_5" + DISPLAY_DIGITS_6_5 = "display.DIGITS_6_5" DISPLAY_DISABLE = "display.DISABLE" DISPLAY_DONT_SAVE = "display.DONT_SAVE" DISPLAY_ENABLE = "display.ENABLE" + DISPLAY_KEY_AUTO = "display.KEY_AUTO" + DISPLAY_KEY_CONFIG = "display.KEY_CONFIG" + DISPLAY_KEY_DIGITSA = "display.KEY_DIGITSA" + DISPLAY_KEY_DISPLAY = "display.KEY_DISPLAY" + DISPLAY_KEY_ENTER = "display.KEY_ENTER" + DISPLAY_KEY_EXIT = "display.KEY_EXIT" + DISPLAY_KEY_FILTERA = "display.KEY_FILTERA" + DISPLAY_KEY_LEFT = "display.KEY_LEFT" + DISPLAY_KEY_LIMITA = "display.KEY_LIMITA" + DISPLAY_KEY_LOAD = "display.KEY_LOAD" + DISPLAY_KEY_MEASA = "display.KEY_MEASA" + DISPLAY_KEY_MENU = "display.KEY_MENU" + DISPLAY_KEY_MODEA = "display.KEY_MODEA" DISPLAY_KEY_NONE = "display.KEY_NONE" + DISPLAY_KEY_OUTPUTA = "display.KEY_OUTPUTA" + DISPLAY_KEY_RANGEDOWN = "display.KEY_RANGEDOWN" + DISPLAY_KEY_RANGEUP = "display.KEY_RANGEUP" + DISPLAY_KEY_RECALL = "display.KEY_RECALL" + DISPLAY_KEY_RELA = "display.KEY_RELA" + DISPLAY_KEY_RIGHT = "display.KEY_RIGHT" + DISPLAY_KEY_RUN = "display.KEY_RUN" + DISPLAY_KEY_SPEEDA = "display.KEY_SPEEDA" + DISPLAY_KEY_SRCA = "display.KEY_SRCA" + DISPLAY_KEY_STORE = "display.KEY_STORE" + DISPLAY_KEY_TRIG = "display.KEY_TRIG" DISPLAY_LIMIT_IV = "display.LIMIT_IV" DISPLAY_LIMIT_P = "display.LIMIT_P" DISPLAY_LOCK = "display.LOCK" @@ -94,6 +121,9 @@ class SMU2657ACommandConstants: DISPLAY_TRIGGER_EVENT_ID = "display.trigger.EVENT_ID" DISPLAY_UNLOCK = "display.UNLOCK" DISPLAY_USER = "display.USER" + DISPLAY_WHEEL_ENTER = "display.WHEEL_ENTER" + DISPLAY_WHEEL_LEFT = "display.WHEEL_LEFT" + DISPLAY_WHEEL_RIGHT = "display.WHEEL_RIGHT" EVENTLOG_DISABLE = "eventlog.DISABLE" EVENTLOG_DISCARD_NEWEST = "eventlog.DISCARD_NEWEST" EVENTLOG_DISCARD_OLDEST = "eventlog.DISCARD_OLDEST" @@ -856,10 +886,46 @@ def display(self) -> Display: - ``.ANNUNCIATOR_STAR``: * (asterisk) indicator on. - ``.ANNUNCIATOR_TALK``: TALK indicator on. - ``.ANNUNCIATOR_TRIGGER``: TRIG indicator on. + - ``.DIGITS_4_5``: Set the front-panel display resolution to 4.5 digits. + - ``.DIGITS_5_5``: Set the front-panel display resolution to 5.5 digits. + - ``.DIGITS_6_5``: Set the front-panel display resolution to 6.5 digits. - ``.DISABLE``: Disable the front-panel keys for numeric entry when entering a value. - ``.DONT_SAVE``: Do not save code to nonvolatile memory. - ``.ENABLE``: Enable the front-panel keys for numeric entry when entering a value. + - ``.KEY_AUTO``: Represents the range AUTO key. + - ``.KEY_CONFIG``: Represents the CONFIG key. + - ``.KEY_DIGITSA``: Represents the DIGITS (display resolution) key. + For two-channel products, this is the DIGITS key for Channel A. + - ``.KEY_DISPLAY``: Represents the DISPLAY key. + - ``.KEY_ENTER``: Represents the ENTER key. + - ``.KEY_EXIT``: Represents the EXIT key. + - ``.KEY_FILTERA``: Represents the FILTER key. + For two-channel products, this is the FILTER key for Channel A. + - ``.KEY_LEFT``: Represents the left CURSOR key. + - ``.KEY_LIMITA``: Represents the LIMIT key. + For two-channel products, this is the LIMIT key for Channel A. + - ``.KEY_LOAD``: Represents the LOAD (load test) key. + - ``.KEY_MEASA``: Represents the MEAS (Measure) key. + For two-channel products, this is the MEAS key for Channel A. + - ``.KEY_MENU``: Represents the MENU key. + - ``.KEY_MODEA``: Represents the MODE (meter mode) key + For two-channel products, this is the MODE key for Channel A. - ``.KEY_NONE``: No key was pressed. + - ``.KEY_OUTPUTA``: Represents the OUTPUT ON/OFF key. + For two-channel products, this is the OUTPUT ON/OFF key for Channel A. + - ``.KEY_RANGEDOWN``: Represents the RANGE down key. + - ``.KEY_RANGEUP``: Represents the RANGE up key. + - ``.KEY_RECALL``: Represents the RECALL key. + - ``.KEY_RELA``: Represents the REL key. + For two-channel products, this is the REL key for Channel A. + - ``.KEY_RIGHT``: Represents the right CURSOR key. + - ``.KEY_RUN``: Represents the RUN key. + - ``.KEY_SPEEDA``: Represents the SPEED key. + For two-channel products, this is the SPEED key for Channel A. + - ``.KEY_SRCA``: Represents the SRC (Source) key. + For two-channel products, this is the SRC key for Channel A. + - ``.KEY_STORE``: Represents the STORE key. + - ``.KEY_TRIG``: Represents the TRIG key. - ``.LIMIT_IV``: Display the primary limit value. - ``.LIMIT_P``: Display the power limit value. - ``.LOCK``: Unlock the EXIT (LOCAL) key. @@ -871,6 +937,9 @@ def display(self) -> Display: - ``.SMUA``: Displays source-measure and compliance screen for SMU A. - ``.UNLOCK``: Lock out the EXIT (LOCAL) key. - ``.USER``: Displays the user screen. + - ``.WHEEL_ENTER``: Represents pressing the navigation wheel. + - ``.WHEEL_LEFT``: Represents turning the Navigation wheel left. + - ``.WHEEL_RIGHT``: Represents turning the Navigation wheel right. Sub-properties/methods: - ``.clear()``: The ``display.clear()`` function. diff --git a/src/tm_devices/commands/_ss3706a_commands.py b/src/tm_devices/commands/_ss3706a_commands.py index 48a059a1..8a8febee 100644 --- a/src/tm_devices/commands/_ss3706a_commands.py +++ b/src/tm_devices/commands/_ss3706a_commands.py @@ -367,6 +367,7 @@ def dmm(self) -> Dmm: - ``.func``: The ``dmm.func`` attribute. - ``.getconfig()``: The ``dmm.getconfig()`` function. - ``.inputdivider``: The ``dmm.inputdivider`` attribute. + - ``.limit``: The ``dmm.limit[r]`` command tree. - ``.linesync``: The ``dmm.linesync`` attribute. - ``.makebuffer()``: The ``dmm.makebuffer()`` function. - ``.math``: The ``dmm.math`` command tree. diff --git a/src/tm_devices/commands/_ujuvb_mdo/select.py b/src/tm_devices/commands/_ujuvb_mdo/select.py index 368fb277..c4310e20 100644 --- a/src/tm_devices/commands/_ujuvb_mdo/select.py +++ b/src/tm_devices/commands/_ujuvb_mdo/select.py @@ -334,9 +334,9 @@ class SelectChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): """The ``SELect:CH`` command. **Description:** - - Turns the display of the channel waveform on or off, where is the channel number, - which can be 1-4. This command also resets the acquisition. The query returns whether the - channel is on or off but does not indicate whether it is the specified waveform. + - Turns the display of the channel waveform on or off, where is the channel number. + This command also resets the acquisition. The query returns whether the channel is on or + off but does not indicate whether it is the specified waveform. **Usage:** - Using the ``.query()`` method will send the ``SELect:CH?`` query. @@ -352,9 +352,12 @@ class SelectChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): - SELect:CH? **Info:** - - ``ON`` or 1 turns on the display of the specified waveform. This waveform also becomes the + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the selected waveform. - - ``OFF`` or 0 turns off the display of the specified waveform. + - ``0`` turns off the display of the specified waveform. """ @@ -478,9 +481,8 @@ def ch(self) -> Dict[int, SelectChannel]: **Description:** - Turns the display of the channel waveform on or off, where is the channel - number, which can be 1-4. This command also resets the acquisition. The query returns - whether the channel is on or off but does not indicate whether it is the specified - waveform. + number. This command also resets the acquisition. The query returns whether the + channel is on or off but does not indicate whether it is the specified waveform. **Usage:** - Using the ``.query()`` method will send the ``SELect:CH?`` query. @@ -496,9 +498,12 @@ def ch(self) -> Dict[int, SelectChannel]: - SELect:CH? **Info:** - - ``ON`` or 1 turns on the display of the specified waveform. This waveform also becomes - the selected waveform. - - ``OFF`` or 0 turns off the display of the specified waveform. + - ``ON`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``OFF`` turns off the display of the specified waveform. + - ``1`` turns on the display of the specified waveform. This waveform also becomes the + selected waveform. + - ``0`` turns off the display of the specified waveform. """ return self._ch diff --git a/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py b/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py index 6c084d71..88b0dbf0 100644 --- a/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py +++ b/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py @@ -25,7 +25,7 @@ class Clear(SCPICmdWriteNoArguments): """The ``CLEAR`` command. **Description:** - - This command clears acquisitions, measurements, and waveforms. + - This command clears acquisitions, measurements, and waveforms. **Usage:** - Using the ``.write()`` method will send the ``CLEAR`` command. diff --git a/tests/auto_gen_cmds_list.json b/tests/auto_gen_cmds_list.json index e152526e..25d6d700 100644 --- a/tests/auto_gen_cmds_list.json +++ b/tests/auto_gen_cmds_list.json @@ -419,6 +419,7 @@ "BUS:B:I3C:CLOCk:THReshold", "BUS:B:I3C:DATa:SOUrce", "BUS:B:I3C:DATa:THReshold", + "BUS:B:I3C:VERSion", "BUS:B:LABel", "BUS:B:LABel:COLor", "BUS:B:LABel:FONT:BOLD", @@ -477,6 +478,19 @@ "BUS:B:MIPIDSIOne:LANE:SOUrce:DMINUS", "BUS:B:MIPIDSIOne:LANE:SOUrce:DPLUS", "BUS:B:MIPIDSIOne:LANE:TYPe", + "BUS:B:NFC:APPLYDEMod", + "BUS:B:NFC:BITRate", + "BUS:B:NFC:CMD:STARTINDex", + "BUS:B:NFC:CMD:THReshold", + "BUS:B:NFC:CMD:TRANsition:ZERo", + "BUS:B:NFC:COMMand:POLarity", + "BUS:B:NFC:RESPonse:POLarity", + "BUS:B:NFC:RSP:THReshold", + "BUS:B:NFC:SOUrce", + "BUS:B:NFC:START:INDex", + "BUS:B:NFC:STD", + "BUS:B:NFC:TOLerance", + "BUS:B:NFC:TRANsition:ZERo", "BUS:B:NRZ:BITOrder", "BUS:B:NRZ:BITRate", "BUS:B:NRZ:POLarity", @@ -509,7 +523,9 @@ "BUS:B:PCIE:LANE", "BUS:B:PCIE:SOUrce", "BUS:B:POSition", + "BUS:B:PSIFIVe:BITPERiod", "BUS:B:PSIFIVe:BITRate", + "BUS:B:PSIFIVe:COMM:DIRection", "BUS:B:PSIFIVe:DATAA", "BUS:B:PSIFIVe:DATAB", "BUS:B:PSIFIVe:DATAFORMat", @@ -521,6 +537,7 @@ "BUS:B:PSIFIVe:SYNCMODe", "BUS:B:PSIFIVe:SYNCTHRESHold", "BUS:B:PSIFIVe:THRESHold", + "BUS:B:RS232C:BITORDer", "BUS:B:RS232C:BITRate", "BUS:B:RS232C:BITRate:CUSTom", "BUS:B:RS232C:DATABits", @@ -633,8 +650,6 @@ "BUS:B:USB:SOUrce:DMINus", "BUS:B:USB:SOUrce:DPLUs", "BUS:B:USB:THRESHold", - "BUS:BPSIFIVe:BITPERiod", - "BUS:BPSIFIVe:COMM:DIRection", "BUS:CH:LOWTHRESHold", "BUS:CH:THRESHold", "BUS:DELete", @@ -671,6 +686,7 @@ "BWAVeform:OFFSet", "BWAVeform:RESet", "BWAVeform:SRATe", + "CALLOUTS:ADDNew", "CALLOUTS:CALLOUT", "CALLOUTS:CALLOUT:BOOKMark:SOURCE", "CALLOUTS:CALLOUT:BOOKMark:XPOS", @@ -2123,6 +2139,34 @@ "HCOPy:SDUMp[:IMMediate]", "HDR", "HEADer", + "HISTogram:ADDNew", + "HISTogram:DELETEALL", + "HISTogram:DELete", + "HISTogram:HISTogram:BOX", + "HISTogram:HISTogram:BSTate", + "HISTogram:HISTogram:DATa", + "HISTogram:HISTogram:DISPlay", + "HISTogram:HISTogram:FUNCtion", + "HISTogram:HISTogram:MEASurement:COUNt", + "HISTogram:HISTogram:MEASurement:HITS", + "HISTogram:HISTogram:MEASurement:MAX", + "HISTogram:HISTogram:MEASurement:MEAN", + "HISTogram:HISTogram:MEASurement:MEDian", + "HISTogram:HISTogram:MEASurement:MIN", + "HISTogram:HISTogram:MEASurement:MODE", + "HISTogram:HISTogram:MEASurement:ONESigma", + "HISTogram:HISTogram:MEASurement:PHITs", + "HISTogram:HISTogram:MEASurement:PK2PK", + "HISTogram:HISTogram:MEASurement:RESUlts", + "HISTogram:HISTogram:MEASurement:STDDev", + "HISTogram:HISTogram:MEASurement:THRSigma", + "HISTogram:HISTogram:MEASurement:TWOSigma", + "HISTogram:HISTogram:SAVe", + "HISTogram:HISTogram:SIZe", + "HISTogram:HISTogram:SOUrce", + "HISTogram:HISTogram:STATE", + "HISTogram:HISTogram:TRANsparency", + "HISTogram:LIST", "HIStogram", "HIStogram:BOX", "HIStogram:BOXPcnt", @@ -2157,9 +2201,9 @@ "HORizontal:FASTframe:FRAMELock", "HORizontal:FASTframe:LENgth", "HORizontal:FASTframe:MAXFRames", - "HORizontal:FASTframe:MULtipleframes:FRAMESTart:{CH|REF|D}", + "HORizontal:FASTframe:MULtipleframes:FRAMESTart:{CH|MATH|REF|D}", "HORizontal:FASTframe:MULtipleframes:MODe", - "HORizontal:FASTframe:MULtipleframes:NUMFRames:{CH|REF|D}", + "HORizontal:FASTframe:MULtipleframes:NUMFRames:{CH|MATH|REF|D}", "HORizontal:FASTframe:REF:FRAme", "HORizontal:FASTframe:REF:INCLUde", "HORizontal:FASTframe:REF:SOUrce", @@ -2175,15 +2219,15 @@ "HORizontal:FASTframe:SUMFrame", "HORizontal:FASTframe:SUMFrame:STATE", "HORizontal:FASTframe:TIMEStamp:ALL", - "HORizontal:FASTframe:TIMEStamp:ALL:{CH|REF|D}", - "HORizontal:FASTframe:TIMEStamp:BETWeen:{CH|REF|D}", + "HORizontal:FASTframe:TIMEStamp:ALL:{CH|MATH|REF|D}", + "HORizontal:FASTframe:TIMEStamp:BETWeen:{CH|MATH|REF|D}", "HORizontal:FASTframe:TIMEStamp:DELTa", - "HORizontal:FASTframe:TIMEStamp:DELTa:{CH|REF|D}", - "HORizontal:FASTframe:TIMEStamp:FRAMe:{CH|REF|D}", + "HORizontal:FASTframe:TIMEStamp:DELTa:{CH|MATH|REF|D}", + "HORizontal:FASTframe:TIMEStamp:FRAMe:{CH|MATH|REF|D}", "HORizontal:FASTframe:TIMEStamp:REF", "HORizontal:FASTframe:TIMEStamp:REFerence", "HORizontal:FASTframe:TIMEStamp:SELECTED", - "HORizontal:FASTframe:TIMEStamp:SELECTED:{CH|REF|D}", + "HORizontal:FASTframe:TIMEStamp:SELECTED:{CH|MATH|REF|D}", "HORizontal:FASTframe:TRACk", "HORizontal:FASTframe:XZEro:ALL", "HORizontal:FASTframe:XZEro:ALL:CH", @@ -2396,9 +2440,12 @@ "MASK:MASK:TESt:STATE", "MASK:MASK:TESt:STATUS", "MASK:MASK:TESt:THReshold", + "MASK:MASK:TOLerance:HABSolute", "MASK:MASK:TOLerance:HORizontal", "MASK:MASK:TOLerance:UPDatenow", + "MASK:MASK:TOLerance:VABSolute", "MASK:MASK:TOLerance:VERTical", + "MASK:MASK:TTYPe", "MASK:MASKPRE:AMPlitude", "MASK:MASKPRE:HSCAle", "MASK:MASKPRE:HTRIGPOS", @@ -2599,18 +2646,6 @@ "MCH:{MINAMPLitude|MAXAMPLitude}", "MEASTABle:ADDNew", "MEASTABle:DELETE", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation", - "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation", - "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev", "MEASUrement", "MEASUrement:ADDMEAS", "MEASUrement:ADDNew", @@ -2658,6 +2693,7 @@ "MEASUrement:CLOCKRecovery:NOMINALOFFset", "MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype", "MEASUrement:CLOCKRecovery:STAndard", + "MEASUrement:CLOCKRecovery:TDCOMPensation", "MEASUrement:DELETEALL", "MEASUrement:DELete", "MEASUrement:DIRacmodel", @@ -2749,15 +2785,18 @@ "MEASUrement:MEAS", "MEASUrement:MEAS:ABANdwidth", "MEASUrement:MEAS:ACHANnels", + "MEASUrement:MEAS:AMEThod", "MEASUrement:MEAS:BER", "MEASUrement:MEAS:BER:TARGETBER", "MEASUrement:MEAS:BIN", + "MEASUrement:MEAS:BITAbsolute", "MEASUrement:MEAS:BITCfgmode", "MEASUrement:MEAS:BITEnd", "MEASUrement:MEAS:BITPcnt", "MEASUrement:MEAS:BITSTart", "MEASUrement:MEAS:BITType", "MEASUrement:MEAS:BURSTEDGTYPe", + "MEASUrement:MEAS:BVOLTage", "MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum", "MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN", "MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum", @@ -2787,6 +2826,7 @@ "MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset", "MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype", "MEASUrement:MEAS:CLOCKRecovery:STAndard", + "MEASUrement:MEAS:CLOCKRecovery:TDCOMPensation", "MEASUrement:MEAS:COMMONMode:FILTers:STATE", "MEASUrement:MEAS:COMMONMode:SOURCEs", "MEASUrement:MEAS:COUNt", @@ -2814,6 +2854,10 @@ "MEASUrement:MEAS:EDGES:TOLevel", "MEASUrement:MEAS:EDGES:UPPERFREQuency", "MEASUrement:MEAS:EEQUal", + "MEASUrement:MEAS:EINDuctance", + "MEASUrement:MEAS:EINTerpolation", + "MEASUrement:MEAS:EXTENDuis", + "MEASUrement:MEAS:EYERender", "MEASUrement:MEAS:FAILCount", "MEASUrement:MEAS:FILTERRANGEFROM", "MEASUrement:MEAS:FILTERRANGETO", @@ -2824,6 +2868,7 @@ "MEASUrement:MEAS:FILTers:LOWPass:FREQ", "MEASUrement:MEAS:FILTers:LOWPass:SPEC", "MEASUrement:MEAS:FILTers:RAMPtime", + "MEASUrement:MEAS:FORDer", "MEASUrement:MEAS:FPARAmeter", "MEASUrement:MEAS:FREQ", "MEASUrement:MEAS:FROMEDGESEARCHDIRect", @@ -2920,6 +2965,7 @@ "MEASUrement:MEAS:PATTERNTYPe", "MEASUrement:MEAS:PCOUNt", "MEASUrement:MEAS:PERFREQ:EDGE", + "MEASUrement:MEAS:PFREquency", "MEASUrement:MEAS:POLarity", "MEASUrement:MEAS:POPUlation:GLOBal", "MEASUrement:MEAS:POPUlation:LIMIT:STATE", @@ -2927,6 +2973,8 @@ "MEASUrement:MEAS:POPower", "MEASUrement:MEAS:POWERFACtor", "MEASUrement:MEAS:PREGion", + "MEASUrement:MEAS:PRESistance", + "MEASUrement:MEAS:PTHReshold", "MEASUrement:MEAS:PWIDth", "MEASUrement:MEAS:REDGe", "MEASUrement:MEAS:REFLevel", @@ -2976,7 +3024,9 @@ "MEASUrement:MEAS:RESUlts:HISTory:PK2PK", "MEASUrement:MEAS:RESUlts:HISTory:POPUlation", "MEASUrement:MEAS:RESUlts:HISTory:STDDev", + "MEASUrement:MEAS:RFREquency", "MEASUrement:MEAS:RIPPLEFREQVal", + "MEASUrement:MEAS:RRANGE", "MEASUrement:MEAS:SEQuence", "MEASUrement:MEAS:SIGNALFREQUEncy", "MEASUrement:MEAS:SIGNALType", @@ -3001,10 +3051,23 @@ "MEASUrement:MEAS:STLTYpe", "MEASUrement:MEAS:STSDirection", "MEASUrement:MEAS:STYPe", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MAXimum", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MEAN", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:MINimum", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:PK2PK", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:POPUlation", + "MEASUrement:MEAS:SUBGROUP:RESUlts:ALLAcqs:STDDev", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MAXimum", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MEAN", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:MINimum", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:PK2PK", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:POPUlation", + "MEASUrement:MEAS:SUBGROUP:RESUlts:CURRentacq:STDDev", "MEASUrement:MEAS:SUNits", "MEASUrement:MEAS:TCKAVG", "MEASUrement:MEAS:TCONstant", "MEASUrement:MEAS:TIMINGMode", + "MEASUrement:MEAS:TLEVel", "MEASUrement:MEAS:TMEThod", "MEASUrement:MEAS:TOEDGESEARCHDIRect", "MEASUrement:MEAS:TOEdge", @@ -3017,7 +3080,20 @@ "MEASUrement:MEAS:TYPe", "MEASUrement:MEAS:UNIts", "MEASUrement:MEAS:VALue", + "MEASUrement:MEAS:VLEVel", "MEASUrement:MEAS:WAITTime", + "MEASUrement:MEAS:WBG:AFGSetup", + "MEASUrement:MEAS:WBG:AFGaddress", + "MEASUrement:MEAS:WBG:CSTatus", + "MEASUrement:MEAS:WBG:GTYPe", + "MEASUrement:MEAS:WBG:HIGH", + "MEASUrement:MEAS:WBG:LOAD", + "MEASUrement:MEAS:WBG:LOW", + "MEASUrement:MEAS:WBG:NPULs", + "MEASUrement:MEAS:WBG:PGVal", + "MEASUrement:MEAS:WBG:PWVal", + "MEASUrement:MEAS:WBG:TIMer", + "MEASUrement:MEAS:WIDTh", "MEASUrement:MEAS:WINDOWLENgth", "MEASUrement:MEAS:XUNIT", "MEASUrement:MEAS:YUNIT", @@ -3224,17 +3300,21 @@ "PICTBridge:PAPERSize", "PICTBridge:PAPERType", "PICTBridge:PRINTQual", + "PILOGger:FILEName", + "PILOGger:STATE", "PLOT:ADDNew", "PLOT:DELete", "PLOT:LIST", "PLOT:PLOT:BATHtub:BER", "PLOT:PLOT:BATHtub:XAXISUnits", "PLOT:PLOT:BITType", + "PLOT:PLOT:EINTerpolation", "PLOT:PLOT:EXPORTRaw", "PLOT:PLOT:EXTENDuis", "PLOT:PLOT:EYERender", "PLOT:PLOT:IMDA:MEAS", "PLOT:PLOT:IMDAPLOTDisplay", + "PLOT:PLOT:INTerpolate", "PLOT:PLOT:LABel:COLor", "PLOT:PLOT:LABel:FONT:BOLD", "PLOT:PLOT:LABel:FONT:ITALic", @@ -3255,6 +3335,7 @@ "PLOT:PLOT:SOUrce", "PLOT:PLOT:SPECtrum:BASE", "PLOT:PLOT:SPECtrum:DYNRange", + "PLOT:PLOT:TRESponse:RTYPe", "PLOT:PLOT:TYPe", "POWer:ADDNew", "POWer:CURRENTSOurce", @@ -3568,6 +3649,8 @@ "POWer:POWer:TURNONtime:OUTPUT7VOLTage", "POWer:POWer:TURNONtime:TYPE", "POWer:POWer:TYPe", + "POWer:POWer:WRAP:DEGrees", + "POWer:POWer:WRAP:STATE", "POWer:QUALity:APPpwr", "POWer:QUALity:DISplay:APPpwr", "POWer:QUALity:DISplay:FREQuency", @@ -4340,8 +4423,6 @@ "SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue", - "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket", - "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue", @@ -4957,7 +5038,7 @@ "SELect:RF_NORMal", "SELect:RF_PHASe", "SELect:{BUS|B}", - "SELect:{CH|REF|D}", + "SELect:{CH|MATH|REF|D}", "SELect{:MATH|:MATH1}", "SEQuence:ELEMent[n]:GOTO:INDex", "SEQuence:ELEMent[n]:GOTO:STATe", @@ -6098,6 +6179,11 @@ "TRIGger:{A|B}:TRANsition:WHEn", "TRIGger:{A|B}:TYPe", "TRIGger:{A|B}:UPPerthreshold:CH", + "TRIGger:{A|B}:VIDeo:FIELD", + "TRIGger:{A|B}:VIDeo:LINE", + "TRIGger:{A|B}:VIDeo:POLarity", + "TRIGger:{A|B}:VIDeo:SOUrce", + "TRIGger:{A|B}:VIDeo:STANdard", "TRIGger:{A|B}:WINdow:CROSSIng", "TRIGger:{A|B}:WINdow:LOGICQUALification", "TRIGger:{A|B}:WINdow:SOUrce", @@ -6356,11 +6442,11 @@ "ZOOm:ZOOM:SCROLLLock", "ZOOm:ZOOM:STATE", "ZOOm:ZOOM:TRIGPOS", - "ZOOm:ZOOM:{CH|REF|D}:DISplay", - "ZOOm:ZOOM:{CH|REF|D}:HORizontal:POSition", - "ZOOm:ZOOM:{CH|REF|D}:HORizontal:SCAle", - "ZOOm:ZOOM:{CH|REF|D}:VERTical:POSition", - "ZOOm:ZOOM:{CH|REF|D}:VERTical:SCAle", + "ZOOm:ZOOM:{CH|MATH|REF|D}:DISplay", + "ZOOm:ZOOM:{CH|MATH|REF|D}:HORizontal:POSition", + "ZOOm:ZOOM:{CH|MATH|REF|D}:HORizontal:SCAle", + "ZOOm:ZOOM:{CH|MATH|REF|D}:VERTical:POSition", + "ZOOm:ZOOM:{CH|MATH|REF|D}:VERTical:SCAle", "ZOOm{:MODe|:STATE}", "[SOURce:]FREQuency[:CW]|[:FIXed]", "[SOURce:]IQIMode", @@ -6581,6 +6667,10 @@ "buffer.STAT_START_GROUP", "buffer.STAT_TERMINAL", "buffer.STYLE_COMPACT", + "buffer.STYLE_FULL", + "buffer.STYLE_STANDARD", + "buffer.STYLE_WRITABLE", + "buffer.STYLE_WRITABLE_FULL", "buffer.UNIT_AMP", "buffer.UNIT_AMP_AC", "buffer.UNIT_CELSIUS", @@ -6612,6 +6702,8 @@ "buffer.getstats()", "buffer.make()", "buffer.save()", + "buffer.saveappend()", + "buffer.write.format()", "buffer.write.reading()", "bufferVar.appendmode", "bufferVar.basetimefractional", @@ -6822,12 +6914,48 @@ "display.BUTTON_NO", "display.BUTTON_OK", "display.BUTTON_YES", + "display.DIGITS_4_5", + "display.DIGITS_5_5", + "display.DIGITS_6_5", "display.DISABLE", "display.DONT_SAVE", "display.ENABLE", "display.FORMAT_EXPONENT", "display.FORMAT_PREFIX", + "display.KEY_AUTO", + "display.KEY_CONFIG", + "display.KEY_DIGITSA", + "display.KEY_DIGITSB", + "display.KEY_DISPLAY", + "display.KEY_ENTER", + "display.KEY_EXIT", + "display.KEY_FILTERA", + "display.KEY_FILTERB", + "display.KEY_LEFT", + "display.KEY_LIMITA", + "display.KEY_LIMITB", + "display.KEY_LOAD", + "display.KEY_MEASA", + "display.KEY_MEASB", + "display.KEY_MENU", + "display.KEY_MODEA", + "display.KEY_MODEB", "display.KEY_NONE", + "display.KEY_OUTPUTA", + "display.KEY_OUTPUTB", + "display.KEY_RANGEDOWN", + "display.KEY_RANGEUP", + "display.KEY_RECALL", + "display.KEY_RELA", + "display.KEY_RELB", + "display.KEY_RIGHT", + "display.KEY_RUN", + "display.KEY_SPEEDA", + "display.KEY_SPEEDB", + "display.KEY_SRCA", + "display.KEY_SRCB", + "display.KEY_STORE", + "display.KEY_TRIG", "display.LIMIT_IV", "display.LIMIT_P", "display.LOCK", @@ -6872,8 +7000,13 @@ "display.STATE_LCD_50", "display.STATE_LCD_75", "display.STATE_LCD_OFF", + "display.TEXT1", + "display.TEXT2", "display.UNLOCK", "display.USER", + "display.WHEEL_ENTER", + "display.WHEEL_LEFT", + "display.WHEEL_RIGHT", "display.activebuffer", "display.changescreen()", "display.clear()", @@ -7148,6 +7281,12 @@ "dmm.digitize.displaydigits", "dmm.digitize.func", "dmm.digitize.inputimpedance", + "dmm.digitize.limit[Y].audible", + "dmm.digitize.limit[Y].autoclear", + "dmm.digitize.limit[Y].enable", + "dmm.digitize.limit[Y].fail", + "dmm.digitize.limit[Y].high.value", + "dmm.digitize.limit[Y].low.value", "dmm.digitize.math.enable", "dmm.digitize.math.format", "dmm.digitize.math.mxb.bfactor", @@ -7172,6 +7311,11 @@ "dmm.func", "dmm.getconfig()", "dmm.inputdivider", + "dmm.limit[Y].autoclear", + "dmm.limit[Y].clear()", + "dmm.limit[Y].enable", + "dmm.limit[Y].high.fail", + "dmm.limit[Y].high.value", "dmm.linesync", "dmm.makebuffer()", "dmm.math.enable", @@ -7220,6 +7364,12 @@ "dmm.measure.func", "dmm.measure.getattribute()", "dmm.measure.inputimpedance", + "dmm.measure.limit[Y].audible", + "dmm.measure.limit[Y].autoclear", + "dmm.measure.limit[Y].enable", + "dmm.measure.limit[Y].fail", + "dmm.measure.limit[Y].high.value", + "dmm.measure.limit[Y].low.value", "dmm.measure.linesync", "dmm.measure.math.enable", "dmm.measure.math.format", @@ -7367,6 +7517,9 @@ "lan.MULTICAST", "lan.OFF", "lan.ON", + "lan.PROTOCOL_MULTICAST", + "lan.PROTOCOL_TCP", + "lan.PROTOCOL_UDP", "lan.TCP", "lan.TRIG_EITHER", "lan.TRIG_FALLING", @@ -7728,6 +7881,13 @@ "smu.digitize.count", "smu.digitize.displaydigits", "smu.digitize.func", + "smu.digitize.limit[Y].audible", + "smu.digitize.limit[Y].autoclear", + "smu.digitize.limit[Y].clear()", + "smu.digitize.limit[Y].enable", + "smu.digitize.limit[Y].fail", + "smu.digitize.limit[Y].high.value", + "smu.digitize.limit[Y].low.value", "smu.digitize.math.enable", "smu.digitize.math.format", "smu.digitize.math.mxb.bfactor", @@ -7767,6 +7927,13 @@ "smu.measure.filter.type", "smu.measure.func", "smu.measure.getattribute()", + "smu.measure.limit[Y].audible", + "smu.measure.limit[Y].autoclear", + "smu.measure.limit[Y].clear()", + "smu.measure.limit[Y].enable", + "smu.measure.limit[Y].fail", + "smu.measure.limit[Y].high.value", + "smu.measure.limit[Y].low.value", "smu.measure.math.enable", "smu.measure.math.format", "smu.measure.math.mxb.bfactor", @@ -8488,22 +8655,65 @@ "timer.gettime()", "timer.measure.t()", "timer.reset()", + "trigger.BLOCK_BRANCH_ALWAYS", + "trigger.BLOCK_BRANCH_COUNTER", + "trigger.BLOCK_BRANCH_DELTA", + "trigger.BLOCK_BRANCH_LIMIT_CONSTANT", + "trigger.BLOCK_BRANCH_LIMIT_DYNAMIC", + "trigger.BLOCK_BRANCH_ONCE", + "trigger.BLOCK_BRANCH_ONCE_EXCLUDED", + "trigger.BLOCK_BRANCH_ON_EVENT", + "trigger.BLOCK_BUFFER_CLEAR", + "trigger.BLOCK_CONFIG_NEXT", + "trigger.BLOCK_CONFIG_PREV", "trigger.BLOCK_CONFIG_RECALL", + "trigger.BLOCK_DELAY_CONSTANT", + "trigger.BLOCK_DELAY_DYNAMIC", + "trigger.BLOCK_DIGITAL_IO", + "trigger.BLOCK_LOG_EVENT", + "trigger.BLOCK_MEASURE", + "trigger.BLOCK_MEASURE_DIGITIZE", + "trigger.BLOCK_NOP", + "trigger.BLOCK_NOTIFY", + "trigger.BLOCK_RESET_BRANCH_COUNT", "trigger.BLOCK_SOURCE_OUTPUT", + "trigger.BLOCK_WAIT", "trigger.CLEAR_ENTER", "trigger.CLEAR_NEVER", + "trigger.CONT_AUTO", + "trigger.CONT_OFF", + "trigger.CONT_RESTART", + "trigger.COUNT_AUTO", + "trigger.COUNT_INFINITE", + "trigger.COUNT_STOP", "trigger.EDGE_EITHER", "trigger.EDGE_FALLING", "trigger.EDGE_RISING", "trigger.EVENT_ANALOGTRIGGER", + "trigger.EVENT_BLENDER1", + "trigger.EVENT_BLENDER2", "trigger.EVENT_BLENDERN", "trigger.EVENT_COMMAND", + "trigger.EVENT_DIGIO1", + "trigger.EVENT_DIGIO2", + "trigger.EVENT_DIGIO3", + "trigger.EVENT_DIGIO4", + "trigger.EVENT_DIGIO5", + "trigger.EVENT_DIGIO6", "trigger.EVENT_DIGION", "trigger.EVENT_DISPLAY", "trigger.EVENT_EXTERNAL", "trigger.EVENT_ID", "trigger.EVENT_LANN", "trigger.EVENT_NONE", + "trigger.EVENT_NOTIFY1", + "trigger.EVENT_NOTIFY2", + "trigger.EVENT_NOTIFY3", + "trigger.EVENT_NOTIFY4", + "trigger.EVENT_NOTIFY5", + "trigger.EVENT_NOTIFY6", + "trigger.EVENT_NOTIFY7", + "trigger.EVENT_NOTIFY8", "trigger.EVENT_NOTIFYN", "trigger.EVENT_SCAN_ALARM_LIMIT", "trigger.EVENT_SCAN_CHANNEL_READY", @@ -8515,10 +8725,40 @@ "trigger.EVENT_TIMER3", "trigger.EVENT_TIMER4", "trigger.EVENT_TIMERN", + "trigger.EVENT_TSPLINK1", + "trigger.EVENT_TSPLINK2", + "trigger.EVENT_TSPLINK3", "trigger.EVENT_TSPLINKN", + "trigger.LIMIT_ABOVE", + "trigger.LIMIT_BELOW", + "trigger.LIMIT_INSIDE", + "trigger.LIMIT_OUTSIDE", "trigger.LOGIC_NEGATIVE", "trigger.LOGIC_POSITIVE", + "trigger.LOG_ERROR1", + "trigger.LOG_ERROR2", + "trigger.LOG_ERROR3", + "trigger.LOG_ERROR4", + "trigger.LOG_INFO1", + "trigger.LOG_INFO2", + "trigger.LOG_INFO3", + "trigger.LOG_INFO4", + "trigger.LOG_WARN1", + "trigger.LOG_WARN2", + "trigger.LOG_WARN3", + "trigger.LOG_WARN4", + "trigger.LOG_WARN_ABORT", + "trigger.OFF", + "trigger.ON", "trigger.SCAN_ALARM_LIMIT", + "trigger.STATE_ABORTED", + "trigger.STATE_ABORTING", + "trigger.STATE_BUILDING", + "trigger.STATE_EMPTY", + "trigger.STATE_FAILED", + "trigger.STATE_IDLE", + "trigger.STATE_RUNNING", + "trigger.STATE_WAITING", "trigger.USER_DELAY_M1", "trigger.USER_DELAY_M2", "trigger.USER_DELAY_M3", @@ -8529,6 +8769,8 @@ "trigger.USER_DELAY_S3", "trigger.USER_DELAY_S4", "trigger.USER_DELAY_S5", + "trigger.WAIT_AND", + "trigger.WAIT_OR", "trigger.blender[N].EVENT_ID", "trigger.blender[N].clear()", "trigger.blender[N].orenable", @@ -8634,6 +8876,12 @@ "trigger.tsplinkout[N].release()", "trigger.tsplinkout[N].stimulus", "trigger.wait()", + "tsplink.MODE_DIGITAL_OPEN_DRAIN", + "tsplink.MODE_SYNCHRONOUS_ACCEPTOR", + "tsplink.MODE_SYNCHRONOUS_MASTER", + "tsplink.MODE_TRIGGER_OPEN_DRAIN", + "tsplink.STATE_HIGH", + "tsplink.STATE_LOW", "tsplink.TRIG_BYPASS", "tsplink.TRIG_EITHER", "tsplink.TRIG_FALLING", From 09e9e6e18a1bfeff4401a4339760e11946b87174 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Fri, 27 Oct 2023 13:10:30 -0700 Subject: [PATCH 03/50] Update version of GitHub action used to build the package (#75) * fix: Update the version of the GitHub Action used to build the package to fix an issue in that. Also update the readme with some instructions for checking on existing issues. --- .github/workflows/package-build.yml | 2 +- .github/workflows/package-release.yml | 2 +- .github/workflows/package-testpypi.yml | 5 ++--- README.rst | 6 ++++++ docs/conf.py | 3 --- docs/requirements.txt | 1 - pyproject.toml | 1 - 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index 7a57f9f4..4361e36e 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: hynek/build-and-inspect-python-package@v1.5 + - uses: hynek/build-and-inspect-python-package@v1.5.3 id: build-pkg - name: Set up Python uses: actions/setup-python@v4 diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index eae622d8..9220078d 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -65,7 +65,7 @@ jobs: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5 + uses: hynek/build-and-inspect-python-package@v1.5.3 upload-testpypi: name: Upload package to TestPyPI needs: [pypi-build] diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 1dc6af5e..3ada48e8 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -18,8 +18,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - # TODO: update to just "x", currently there appears to be a bug in hynek/build-and-inspect-python-package, where it uses an outdated version of typing_extensions. - python-version: 3.11 + python-version: x check-latest: true - name: Install workflow dependencies run: pip install poetry-core tomli tomli_w requests @@ -33,7 +32,7 @@ jobs: python scripts/project_version.py --set-version=$NEW_VERSION echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5 + uses: hynek/build-and-inspect-python-package@v1.5.3 outputs: built-version: ${{ steps.create-version.outputs.NEW_VERSION }} test-pypi-upload: diff --git a/README.rst b/README.rst index abc8f5ef..fd9da4cf 100644 --- a/README.rst +++ b/README.rst @@ -262,6 +262,12 @@ See the full documentation at ``__ Maintainers ----------- +Before reaching out to any maintainers directly, please first check if your issue or question is already +covered by any `open issues `__. If the issue or +question you have is not already covered, please +`file a new issue `__ and the +maintainers will review and respond there. + - Tektronix opensource@tektronix.com - Nicholas Felt nicholas.felt@tektronix.com diff --git a/docs/conf.py b/docs/conf.py index f127b676..2ff2f51a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,7 +6,6 @@ """ import os import shutil -import sys from importlib.metadata import metadata from typing import Any, List, Sequence @@ -52,8 +51,6 @@ "sphinx_copybutton", "sphinx_tippy", ] -if not any(x in " ".join(sys.argv) for x in ("linkcheck", "coverage", "doctest")): - extensions.append("sphinxcontrib.relative-link-corrector") # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. diff --git a/docs/requirements.txt b/docs/requirements.txt index 947730e6..07c3a9f4 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -9,5 +9,4 @@ sphinx-tippy sphinx-togglebutton sphinxcontrib-jquery sphinxcontrib-mermaid -sphinxcontrib-relative-link-corrector urllib3 diff --git a/pyproject.toml b/pyproject.toml index daddd1d8..dc51d565 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -132,7 +132,6 @@ sphinx-rtd-theme = ">=1.0.0" sphinx-tippy = ">=0.4.1" sphinx-togglebutton = ">=0.3.2" sphinxcontrib-mermaid = ">=0.7.1" -sphinxcontrib-relative-link-corrector = ">=0.0.5" toml-sort = ">=0.23.0" tox = ">=4.0" tox-gh-actions = ">=3.1.0" From 7ab18d3801184c414000daaccfdeef9482085e49 Mon Sep 17 00:00:00 2001 From: qthompso <144176741+qthompso@users.noreply.github.com> Date: Fri, 27 Oct 2023 20:35:04 -0700 Subject: [PATCH 04/50] docs: Added new workflow which can deploy the documentation to GitHub Pages (#76) --- .github/workflows/deploy-documentation.yml | 39 ++++++++++++++++++++++ README.rst | 9 +++-- pyproject.toml | 2 +- 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/deploy-documentation.yml diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml new file mode 100644 index 00000000..e2b7507b --- /dev/null +++ b/.github/workflows/deploy-documentation.yml @@ -0,0 +1,39 @@ +--- +name: Deploy Docs to Github Pages +on: + workflow_run: + branches: [main] + workflows: [Test docs] + types: [completed] +concurrency: + group: publish-docs +jobs: + publish-docs: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} && github.ref == + 'refs/heads/main' + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Download Artifact + uses: dawidd6/action-download-artifact@v2.28.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + run_id: ${{ github.event.workflow_run.id }} + workflow_conclusion: success + name: artifact_docs + - name: Unzip Documentation Results + run: | + unzip docs_results.zip + rm -r docs_results/.results_docs/html/.doctrees + - name: Upload To Pages + uses: actions/upload-pages-artifact@v2 + with: + path: docs_results/.results_docs/html + - name: Deploy To Pages + uses: actions/deploy-pages@v2 + id: deployment diff --git a/README.rst b/README.rst index fd9da4cf..38d32042 100644 --- a/README.rst +++ b/README.rst @@ -19,7 +19,7 @@ * - Package - |PyPI: Package status| |PyPI: Latest release version| |PyPI: Supported Python versions| |PyPI: Downloads| |License: Apache 2.0| |Package build status| |PyPI upload status| |TestPyPI upload status| * - Documentation - - |Documentation status| + - |GitHub Pages status| * - Code Style - |Test style: pytest| |Code style: black| |Imports: isort| |Docstring style: google| * - Linting @@ -55,9 +55,12 @@ .. |pre-commit status| image:: https://results.pre-commit.ci/badge/github/tektronix/tm_devices/main.svg :target: https://results.pre-commit.ci/latest/github/tektronix/tm_devices/main -.. |Documentation status| image:: https://readthedocs.org/projects/tm-devices/badge/?version=latest +.. |ReadTheDocs status| image:: https://readthedocs.org/projects/tm-devices/badge/?version=latest :target: https://tm-devices.readthedocs.io/en/latest/?badge=latest +.. |GitHub Pages status| image:: https://github.com/tektronix/tm_devices/actions/workflows/deploy-documentation.yml/badge.svg?branch=main + :target: https://github.com/tektronix/tm_devices/actions/workflows/deploy-documentation.yml + .. |License: Apache 2.0| image:: https://img.shields.io/pypi/l/tm_devices :target: https://tinyurl.com/tek-tm-devices/LICENSE.md @@ -257,7 +260,7 @@ Supported Connections Documentation ------------- -See the full documentation at ``__ +See the full documentation at ``__ Maintainers ----------- diff --git a/pyproject.toml b/pyproject.toml index dc51d565..4c760ba6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,7 +57,7 @@ classifiers = [ "Programming Language :: Python :: 3.12" # TODO: remove this once poetry automatically adds it ] description = "Manage connections and interactions with Test & Measurement devices." -documentation = "https://tm-devices.readthedocs.io/en/latest/" +documentation = "https://tektronix.github.io/tm_devices/" homepage = "https://pypi.org/project/tm_devices/" keywords = [ "REST API", From 554d75b4f8f429d4c7a1e0722e90518c67d695bf Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Fri, 27 Oct 2023 22:06:12 -0700 Subject: [PATCH 05/50] Update contribution guide and documentation publishing workflow (#78) * docs: Added instructions on how to set up commit signing with a note explaining that it is required. * fix: Update path for documentation publishing workflow to point to the correct folder after unzipping the artifact. --- .github/workflows/deploy-documentation.yml | 4 ++-- CONTRIBUTING.md | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml index e2b7507b..06f443c3 100644 --- a/.github/workflows/deploy-documentation.yml +++ b/.github/workflows/deploy-documentation.yml @@ -29,11 +29,11 @@ jobs: - name: Unzip Documentation Results run: | unzip docs_results.zip - rm -r docs_results/.results_docs/html/.doctrees + rm -r .results_docs/html/.doctrees - name: Upload To Pages uses: actions/upload-pages-artifact@v2 with: - path: docs_results/.results_docs/html + path: .results_docs/html - name: Deploy To Pages uses: actions/deploy-pages@v2 id: deployment diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2bb5a5a5..e9b440a7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,9 +66,16 @@ recommended IDE for package development is ### Setup steps for package development -1. Fork `tm_devices` into a new repository. +1. Set up commit signing, see [GitHub's documentation](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification) for details. -2. Set up a virtual environment and install the project with its dependencies: + ```{hint} + All commits going into the main repository are required to be signed, so make sure + to set up commit signing before starting to make changes. + ``` + +2. Fork `tm_devices` into a new repository. + +3. Set up a virtual environment and install the project with its dependencies: - Using the helper script (recommended): ```console @@ -91,15 +98,15 @@ recommended IDE for package development is pre-commit install ``` -3. Use `git` to create a branch for local development and make your changes: +4. Use `git` to create a branch for local development and make your changes: ```console git checkout -b name-of-your-bugfix-or-feature ``` -4. Update the **Unreleased** section in the [CHANGELOG](CHANGELOG.md) using the proper format. +5. Update the **Unreleased** section in the [CHANGELOG](CHANGELOG.md) using the proper format. -5. When you're done making changes, check that your changes conform to any code +6. When you're done making changes, check that your changes conform to any code formatting requirements and pass any tests. ````{note} @@ -145,7 +152,7 @@ recommended IDE for package development is - Test results: `.results_tests/results.html` ``` -6. Commit and push your changes, then open a pull request from +7. Commit and push your changes, then open a pull request from the fork back into the main repository. - Commit messages must be structured as follows: From 3dcab2cef167f9e432abbff136843ad42bad287f Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 30 Oct 2023 11:15:12 -0700 Subject: [PATCH 06/50] docs: Updated the custom styling for the badge table in the readme to make sure the badges are spaced vertically properly. (#79) --- README.rst | 1 + docs/_static/theme_overrides.css | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 38d32042..abaf3076 100644 --- a/README.rst +++ b/README.rst @@ -11,6 +11,7 @@ .. list-table:: :stub-columns: 1 + :class: custom-badge-table * - Testing - |Code testing status| |Docs testing status| |Coverage status| diff --git a/docs/_static/theme_overrides.css b/docs/_static/theme_overrides.css index 1d824525..e15ad755 100644 --- a/docs/_static/theme_overrides.css +++ b/docs/_static/theme_overrides.css @@ -31,8 +31,9 @@ div.admonition.no-icon > .admonition-title { } /** Modify class that enables auto-wrap in tables */ -.wy-table-responsive table td, .wy-table-responsive table th { +.custom-badge-table tbody td, .custom-badge-table tbody th, .custom-badge-table tbody td>p { white-space: inherit; + line-height: 1.5rem !important; } /** Fix admonition symbols */ From 608d72852865f6d1a7607e6ef6449461f88ab9a1 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 30 Oct 2023 12:21:37 -0700 Subject: [PATCH 07/50] fix: Handle non-standard software versions with alpha characters in the last part of the version. (#81) --- CHANGELOG.md | 1 + src/tm_devices/helpers/functions.py | 10 +++++++++- tests/test_helpers.py | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0681e436..cba632bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Things to be included in the next release go here. ### Fixed - Updated the auto-generated commands for a handful of models to fix various issues +- Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. ______________________________________________________________________ diff --git a/src/tm_devices/helpers/functions.py b/src/tm_devices/helpers/functions.py index f60de8d3..eceddac6 100644 --- a/src/tm_devices/helpers/functions.py +++ b/src/tm_devices/helpers/functions.py @@ -403,6 +403,7 @@ def get_version(version_string: str) -> Version: The Version object. """ version_parts = version_string.split(".") + found_alpha = False try: version = Version(version_string) except InvalidVersion: @@ -413,7 +414,14 @@ def get_version(version_string: str) -> Version: version_string.replace("." + version_parts[-1], "+" + version_parts[-1]) ) else: - raise + output_str = "" + for char in version_parts[-1]: + if char.isalpha() and not found_alpha: + output_str += "+" + char + found_alpha = True + else: + output_str += char + version = Version(version_string.replace(version_parts[-1], output_str)) return version diff --git a/tests/test_helpers.py b/tests/test_helpers.py index b4e7a561..680a6734 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -408,7 +408,9 @@ def test_detect_visa_resource_expression( ("1.2.3", Version("1.2.3")), ("1.265.301", Version("1.265.301")), ("1.2.3.abc", Version("1.2.3+abc")), + ("1.2.3.4abc", Version("1.2.3.4+abc")), ("1.20.345.abc", Version("1.20.345+abc")), + ("1.20.345.4abc123", Version("1.20.345.4+abc123")), ], ) def test_get_version(version_string: str, expected_result: Version) -> None: From e01e0995926811ad43d08e9bd557452b84263605 Mon Sep 17 00:00:00 2001 From: Tektronix Bot Date: Mon, 30 Oct 2023 21:17:46 +0000 Subject: [PATCH 08/50] 0.1.23 Automatically generated by python-semantic-release --- CHANGELOG.md | 15 +++++++++++++++ pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 13 +++++++++++++ .../.previous_release_notes_for_template.md | 3 ++- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cba632bc..da22abd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,21 @@ ______________________________________________________________________ Things to be included in the next release go here. +______________________________________________________________________ + +## v0.1.23 (2023-10-30) + +### Merged Pull Requests + +- fix: Handle non-standard software versions with alpha characters in the last part of the version. ([#81](https://github.com/tektronix/tm_devices/issues/81)) +- docs: Updated the custom styling for the badge table in the readme to make sure the badges are spaced vertically properly. ([#79](https://github.com/tektronix/tm_devices/issues/79)) +- Update contribution guide and documentation publishing workflow ([#78](https://github.com/tektronix/tm_devices/issues/78)) +- docs: Added new workflow which can deploy the documentation to GitHub Pages ([#76](https://github.com/tektronix/tm_devices/issues/76)) +- Update version of GitHub action used to build the package ([#75](https://github.com/tektronix/tm_devices/issues/75)) +- fix: Update auto-generated command API files to fix various issues. ([#72](https://github.com/tektronix/tm_devices/issues/72)) +- fix: Remove outdated comment. ([#71](https://github.com/tektronix/tm_devices/issues/71)) +- ci: Update workflow name and add Python 3.12 classifier ([#70](https://github.com/tektronix/tm_devices/issues/70)) + ### Fixed - Updated the auto-generated commands for a handful of models to fix various issues diff --git a/pyproject.toml b/pyproject.toml index 4c760ba6..372b5ae9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -75,7 +75,7 @@ maintainers = [ name = "tm_devices" readme = "README.rst" repository = "https://github.com/tektronix/tm_devices" -version = "0.1.22" +version = "0.1.23" [tool.poetry.dependencies] gpib-ctypes = ">=0.3.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md index fd33f672..cba632bc 100644 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ b/python_semantic_release_templates/.previous_changelog_for_template.md @@ -20,6 +20,19 @@ Things to be included in the next release go here. ### Fixed +- Updated the auto-generated commands for a handful of models to fix various issues +- Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. + +______________________________________________________________________ + +## v0.1.22 (2023-10-24) + +### Merged Pull Requests + +- fix: Update the version of the semantic release action used to fix a bug with the output version. ([#69](https://github.com/tektronix/tm_devices/issues/69)) + +### Fixed + - Fixed the package release workflow to use a version of the `python-semantic-release` GitHub action that doesn't have any bugs ______________________________________________________________________ diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md index f5bebfff..037dc7fb 100644 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ b/python_semantic_release_templates/.previous_release_notes_for_template.md @@ -2,4 +2,5 @@ Things to be included in the next release go here. ### Fixed -- Fixed the package release workflow to use a version of the `python-semantic-release` GitHub action that doesn't have any bugs +- Updated the auto-generated commands for a handful of models to fix various issues +- Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. From f73afa98f1ffe1ba55106bf8c39aa4a646237879 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 30 Oct 2023 16:21:44 -0700 Subject: [PATCH 09/50] fix: Build docs without parallelization to fix pop-up issues with sphinx-tippy (#80) * fix: Run the docs environment in tox without parallelization, since it seems that tippy has a bug when run in parallelization in sphinx. * ci: Set up tags to be signed as well. --- .github/workflows/package-release.yml | 1 + CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 9220078d..421ad8ec 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -41,6 +41,7 @@ jobs: run: | python scripts/check_unreleased_changelog_items.py git add python_semantic_release_templates + git config --global tag.gpgSign true - name: Python Semantic Release uses: python-semantic-release/python-semantic-release@v8.2.0 # 8.3.0 has a bug in the version output variable id: release diff --git a/CHANGELOG.md b/CHANGELOG.md index da22abd0..e885bb92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Fixed + +- Fixed the `tippy.js` pop-ups in the documentation + ______________________________________________________________________ ## v0.1.23 (2023-10-30) diff --git a/pyproject.toml b/pyproject.toml index 372b5ae9..e030e347 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -448,7 +448,7 @@ deps = commands_pre = commands = python -c "import shutil; shutil.rmtree('.results_{envname}', ignore_errors=True)" - sphinx-build -b html -a -W --keep-going -j 3 docs .results_{envname}/html + sphinx-build -b html -a -W --keep-going docs .results_{envname}/html [testenv:doctests] basepython = {env:DOC_PYTHON_VERSION} From 4897518413e92af9c5244f4071add20e6462fceb Mon Sep 17 00:00:00 2001 From: Tektronix Bot Date: Mon, 30 Oct 2023 23:25:51 +0000 Subject: [PATCH 10/50] 0.1.24 Automatically generated by python-semantic-release --- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 19 +++++++++++++++++++ .../.previous_release_notes_for_template.md | 3 +-- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e885bb92..88e0932c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,14 @@ ______________________________________________________________________ Things to be included in the next release go here. +______________________________________________________________________ + +## v0.1.24 (2023-10-30) + +### Merged Pull Requests + +- fix: Build docs without parallelization to fix pop-up issues with sphinx-tippy ([#80](https://github.com/tektronix/tm_devices/issues/80)) + ### Fixed - Fixed the `tippy.js` pop-ups in the documentation diff --git a/pyproject.toml b/pyproject.toml index e030e347..377aef3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -75,7 +75,7 @@ maintainers = [ name = "tm_devices" readme = "README.rst" repository = "https://github.com/tektronix/tm_devices" -version = "0.1.23" +version = "0.1.24" [tool.poetry.dependencies] gpib-ctypes = ">=0.3.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md index cba632bc..e885bb92 100644 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ b/python_semantic_release_templates/.previous_changelog_for_template.md @@ -20,6 +20,25 @@ Things to be included in the next release go here. ### Fixed +- Fixed the `tippy.js` pop-ups in the documentation + +______________________________________________________________________ + +## v0.1.23 (2023-10-30) + +### Merged Pull Requests + +- fix: Handle non-standard software versions with alpha characters in the last part of the version. ([#81](https://github.com/tektronix/tm_devices/issues/81)) +- docs: Updated the custom styling for the badge table in the readme to make sure the badges are spaced vertically properly. ([#79](https://github.com/tektronix/tm_devices/issues/79)) +- Update contribution guide and documentation publishing workflow ([#78](https://github.com/tektronix/tm_devices/issues/78)) +- docs: Added new workflow which can deploy the documentation to GitHub Pages ([#76](https://github.com/tektronix/tm_devices/issues/76)) +- Update version of GitHub action used to build the package ([#75](https://github.com/tektronix/tm_devices/issues/75)) +- fix: Update auto-generated command API files to fix various issues. ([#72](https://github.com/tektronix/tm_devices/issues/72)) +- fix: Remove outdated comment. ([#71](https://github.com/tektronix/tm_devices/issues/71)) +- ci: Update workflow name and add Python 3.12 classifier ([#70](https://github.com/tektronix/tm_devices/issues/70)) + +### Fixed + - Updated the auto-generated commands for a handful of models to fix various issues - Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md index 037dc7fb..470d5536 100644 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ b/python_semantic_release_templates/.previous_release_notes_for_template.md @@ -2,5 +2,4 @@ Things to be included in the next release go here. ### Fixed -- Updated the auto-generated commands for a handful of models to fix various issues -- Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. +- Fixed the `tippy.js` pop-ups in the documentation From a38bd8c3740102ff788306597ae39b6fa015dce2 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Tue, 31 Oct 2023 12:08:04 -0700 Subject: [PATCH 11/50] refactor: Removed some API files that are no longer needed (outdated/broken) (#82) * refactor: Removed some API files that are no longer needed (outdated/broken). * docs: Add favicon for the documentation. * docs: Comment out the readthedocs status badge in the readme and mark the linkcheck test as no longer expected to fail. --- CHANGELOG.md | 4 + README.rst | 4 +- docs/_static/favicon_readthedocs.png | Bin 0 -> 169 bytes docs/conf.py | 1 + .../commands/_c3g63_lpdmso/measu.py | 1096 ------ .../commands/_c69b1_lpdmso/actonevent.py | 3045 ----------------- .../commands/_c69b1_lpdmso/callouts.py | 905 ----- src/tm_devices/commands/_c69b1_lpdmso/diag.py | 541 --- src/tm_devices/commands/_c69b1_lpdmso/ref.py | 850 ----- tests/test_docs.py | 1 - 10 files changed, 7 insertions(+), 6440 deletions(-) create mode 100644 docs/_static/favicon_readthedocs.png delete mode 100644 src/tm_devices/commands/_c3g63_lpdmso/measu.py delete mode 100644 src/tm_devices/commands/_c69b1_lpdmso/actonevent.py delete mode 100644 src/tm_devices/commands/_c69b1_lpdmso/callouts.py delete mode 100644 src/tm_devices/commands/_c69b1_lpdmso/diag.py delete mode 100644 src/tm_devices/commands/_c69b1_lpdmso/ref.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 88e0932c..6b7dd4ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Removed + +- Removed some outdated and broken API files + ______________________________________________________________________ ## v0.1.24 (2023-10-30) diff --git a/README.rst b/README.rst index abaf3076..748170ba 100644 --- a/README.rst +++ b/README.rst @@ -56,8 +56,8 @@ .. |pre-commit status| image:: https://results.pre-commit.ci/badge/github/tektronix/tm_devices/main.svg :target: https://results.pre-commit.ci/latest/github/tektronix/tm_devices/main -.. |ReadTheDocs status| image:: https://readthedocs.org/projects/tm-devices/badge/?version=latest - :target: https://tm-devices.readthedocs.io/en/latest/?badge=latest +.. .. |ReadTheDocs status| image:: https://readthedocs.org/projects/tm-devices/badge/?version=latest +.. :target: https://tm-devices.readthedocs.io/en/latest/?badge=latest .. |GitHub Pages status| image:: https://github.com/tektronix/tm_devices/actions/workflows/deploy-documentation.yml/badge.svg?branch=main :target: https://github.com/tektronix/tm_devices/actions/workflows/deploy-documentation.yml diff --git a/docs/_static/favicon_readthedocs.png b/docs/_static/favicon_readthedocs.png new file mode 100644 index 0000000000000000000000000000000000000000..851df9278bc82f29298eee8a45e8e394f6220413 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W3OrpLLp(Z@OSpRy7N{mHTKV$J zh6dJiMcf?67w27Xn<{W@PUhrJLvvMa@k0`Rjx6jSE+ia~&HEtGz#QXf{-rrX;Soc9 zRV#y%u=ZgC-bEKvywbVdCTlu2sCINPEtKp1=gy+eU7tseSZv9YYVc_~A7qW0_ Rzbnvg22WQ%mvv4FO#t2qJ23zN literal 0 HcmV?d00001 diff --git a/docs/conf.py b/docs/conf.py index 2ff2f51a..54133f48 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -135,6 +135,7 @@ def prep_jinja_env(jinja_env: JinjaEnvironment) -> None: "navigation_depth": 4, "collapse_navigation": True, } +html_favicon = "_static/favicon_readthedocs.png" intersphinx_mapping = { # pylint: disable=consider-using-namedtuple-or-dataclass "python": ("https://docs.python.org/3/", None), "pyvisa": ("https://pyvisa.readthedocs.io/en/latest/", None), diff --git a/src/tm_devices/commands/_c3g63_lpdmso/measu.py b/src/tm_devices/commands/_c3g63_lpdmso/measu.py deleted file mode 100644 index d59c770f..00000000 --- a/src/tm_devices/commands/_c3g63_lpdmso/measu.py +++ /dev/null @@ -1,1096 +0,0 @@ -# pylint: disable=too-many-lines -"""The measu commands module. - -These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B - -THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. - -Please report an issue if one is found. - -Commands and Queries: - -:: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? -""" -from typing import Optional, TYPE_CHECKING - -from .._helpers import SCPICmdRead, SCPICmdReadWithArguments - -if TYPE_CHECKING: - from tm_devices.drivers.pi.pi_device import PIDevice - - -class MeasuMeas1SubgroupResultsCurrentacqStddev(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. - - **Description:** - - This query returns the standard deviation value of the measurement specified by the - string, for the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsCurrentacqPopulation(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. - - **Description:** - - This query returns the population value of the measurement specified by the string, for - the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsCurrentacqPk2pk(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. - - **Description:** - - This query returns the peak-to-peak value of the measurement specified by the string, for - the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsCurrentacqMinimum(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. - - **Description:** - - This query returns the minimum value of the measurement specified by the string, for the - current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|SPEED \|ACCELERATION \|DIRECTION - \|ANGLE \|TORQUE \|POWER \|ELECPWR \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON - \|TDOFF \|startlevel \|stoplevel \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR - \|TF \|TON \|TOFF \|IRRM \|DBYDT. - """ - - -class MeasuMeas1SubgroupResultsCurrentacqMean(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. - - **Description:** - - This query returns the mean value of the measurement specified by the string, for the - current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? - - **Info:** - - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 - \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|L2LPH1VRMS - \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr \|L2LPH1PwrFactor - \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor \|L2LPH2TruePwr - \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff \|L2LPH2VPhase - \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr \|L2LPH3AppPwr - \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS \|L2NPH1VCFactor - \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor \|L2NPH1PhaseDiff - \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr \|L2NPH2RePwr \|L2NPH2AppPwr - \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase \|L2NPH3VRMS \|L2NPH3VCFactor - \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr \|L2NPH3PwrFactor \|L2NPH3PhaseDiff - \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor \|PH2IRMS \|PH2IPhase \|PH2ICFactor - \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF - \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS \|L2LPH1Status \|L2LPH1HarmonicsNumber - \|L2LPH1Frequency \|L2LPH1MagnitudeAbs \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits - \|L2LPH1PassFail \|L2LPH1Margin \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR - \|L2LPH2RMS \|L2LPH2IRMS \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency - \|L2LPH2MagnitudeAbs \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail - \|L2LPH2Margin \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS - \|L2LPH3IRMS \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs - \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin - \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS - \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs - \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin - \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS \|L2NPH2Status - \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs \|L2NPH2MagnitudePct - \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin \|L2NPH3F1Mag \|L2NPH3F3Mag - \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS \|L2NPH3Status \|L2NPH3HarmonicsNumber - \|L2NPH3Frequency \|L2NPH3MagnitudeAbs \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits - \|L2NPH3PassFail \|L2NPH3Margin \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr - \|PH2OUTPwr \|PH2Efficiency \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS - \|PH2LRIPPK2PK \|PH3LRIPRMS \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS - \|PH2SWRIPPK2PK \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum - \|InPwrSum \|OutPwrSum \|SPEED \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER - \|ELECPWR \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel - \|stoplevel \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF - \|IRRM \|DBYDT. - """ - - -class MeasuMeas1SubgroupResultsCurrentacqMaximum(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. - - **Description:** - - This query returns the maximum value of the measurement specified by the string, for the - current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsCurrentacq(SCPICmdRead): - """The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. - - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. - - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. - - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. - - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. - - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._maximum = MeasuMeas1SubgroupResultsCurrentacqMaximum( - device, f"{self._cmd_syntax}:MAXimum" - ) - self._mean = MeasuMeas1SubgroupResultsCurrentacqMean(device, f"{self._cmd_syntax}:MEAN") - self._minimum = MeasuMeas1SubgroupResultsCurrentacqMinimum( - device, f"{self._cmd_syntax}:MINimum" - ) - self._pk2pk = MeasuMeas1SubgroupResultsCurrentacqPk2pk(device, f"{self._cmd_syntax}:PK2PK") - self._population = MeasuMeas1SubgroupResultsCurrentacqPopulation( - device, f"{self._cmd_syntax}:POPUlation" - ) - self._stddev = MeasuMeas1SubgroupResultsCurrentacqStddev( - device, f"{self._cmd_syntax}:STDDev" - ) - - @property - def maximum(self) -> MeasuMeas1SubgroupResultsCurrentacqMaximum: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. - - **Description:** - - This query returns the maximum value of the measurement specified by the string, for - the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._maximum - - @property - def mean(self) -> MeasuMeas1SubgroupResultsCurrentacqMean: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. - - **Description:** - - This query returns the mean value of the measurement specified by the string, for the - current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? - - **Info:** - - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 - \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL - \|L2LPH1VRMS \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr - \|L2LPH1PwrFactor \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor - \|L2LPH2TruePwr \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff - \|L2LPH2VPhase \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr - \|L2LPH3AppPwr \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS - \|L2NPH1VCFactor \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor - \|L2NPH1PhaseDiff \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr - \|L2NPH2RePwr \|L2NPH2AppPwr \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase - \|L2NPH3VRMS \|L2NPH3VCFactor \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr - \|L2NPH3PwrFactor \|L2NPH3PhaseDiff \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor - \|PH2IRMS \|PH2IPhase \|PH2ICFactor \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency - \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS - \|L2LPH1Status \|L2LPH1HarmonicsNumber \|L2LPH1Frequency \|L2LPH1MagnitudeAbs - \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits \|L2LPH1PassFail \|L2LPH1Margin - \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR \|L2LPH2RMS \|L2LPH2IRMS - \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency \|L2LPH2MagnitudeAbs - \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail \|L2LPH2Margin - \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS \|L2LPH3IRMS - \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs - \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin - \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS - \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs - \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin - \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS - \|L2NPH2Status \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs - \|L2NPH2MagnitudePct \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin - \|L2NPH3F1Mag \|L2NPH3F3Mag \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS - \|L2NPH3Status \|L2NPH3HarmonicsNumber \|L2NPH3Frequency \|L2NPH3MagnitudeAbs - \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits \|L2NPH3PassFail \|L2NPH3Margin - \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr \|PH2OUTPwr \|PH2Efficiency - \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS \|PH2LRIPPK2PK \|PH3LRIPRMS - \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS \|PH2SWRIPPK2PK - \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum \|InPwrSum - \|OutPwrSum \|SPEED \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER \|ELECPWR - \|MECHPWR \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel \|stoplevel - \|TRR \|QRR \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF \|IRRM - \|DBYDT. - """ - return self._mean - - @property - def minimum(self) -> MeasuMeas1SubgroupResultsCurrentacqMinimum: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. - - **Description:** - - This query returns the minimum value of the measurement specified by the string, for - the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|SPEED - \|ACCELERATION \|DIRECTION \|ANGLE \|TORQUE \|POWER \|ELECPWR \|MECHPWR - \|SYSTEMEFFICIENCY \|EON \|EOFF \|TDON \|TDOFF \|startlevel \|stoplevel \|TRR \|QRR - \|TA \|TB \|RSF \|VPEAK \|IPEAK \|TR \|ERR \|TF \|TON \|TOFF \|IRRM \|DBYDT. - """ - return self._minimum - - @property - def pk2pk(self) -> MeasuMeas1SubgroupResultsCurrentacqPk2pk: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. - - **Description:** - - This query returns the peak-to-peak value of the measurement specified by the string, - for the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._pk2pk - - @property - def population(self) -> MeasuMeas1SubgroupResultsCurrentacqPopulation: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. - - **Description:** - - This query returns the population value of the measurement specified by the string, - for the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._population - - @property - def stddev(self) -> MeasuMeas1SubgroupResultsCurrentacqStddev: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. - - **Description:** - - This query returns the standard deviation value of the measurement specified by the - string, for the current acquisition. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._stddev - - -class MeasuMeas1SubgroupResultsAllacqsStddev(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. - - **Description:** - - This query returns the standard deviation value of the measurement specified by the - string, for all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqsPopulation(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. - - **Description:** - - This query returns the population value of the measurement specified by the string, for - all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqsPk2pk(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. - - **Description:** - - This query returns the peak-to-peak value of the measurement specified by the string, for - all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an AssertionError - if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqsMinimum(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. - - **Description:** - - This query returns the minimum value of the measurement specified by the string, for all - acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqsMean(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. - - **Description:** - - This query returns the mean value of the measurement specified by the string, for all - acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an AssertionError - if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqsMaximum(SCPICmdReadWithArguments): - r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. - - **Description:** - - This query returns the maximum value of the measurement specified by the string, for all - acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| - RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS - \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY - \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS - \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY - \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT - \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - - -class MeasuMeas1SubgroupResultsAllacqs(SCPICmdRead): - """The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. - - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. - - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. - - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. - - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. - - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._maximum = MeasuMeas1SubgroupResultsAllacqsMaximum( - device, f"{self._cmd_syntax}:MAXimum" - ) - self._mean = MeasuMeas1SubgroupResultsAllacqsMean(device, f"{self._cmd_syntax}:MEAN") - self._minimum = MeasuMeas1SubgroupResultsAllacqsMinimum( - device, f"{self._cmd_syntax}:MINimum" - ) - self._pk2pk = MeasuMeas1SubgroupResultsAllacqsPk2pk(device, f"{self._cmd_syntax}:PK2PK") - self._population = MeasuMeas1SubgroupResultsAllacqsPopulation( - device, f"{self._cmd_syntax}:POPUlation" - ) - self._stddev = MeasuMeas1SubgroupResultsAllacqsStddev(device, f"{self._cmd_syntax}:STDDev") - - @property - def maximum(self) -> MeasuMeas1SubgroupResultsAllacqsMaximum: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. - - **Description:** - - This query returns the maximum value of the measurement specified by the string, for - all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._maximum - - @property - def mean(self) -> MeasuMeas1SubgroupResultsAllacqsMean: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. - - **Description:** - - This query returns the mean value of the measurement specified by the string, for all - acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._mean - - @property - def minimum(self) -> MeasuMeas1SubgroupResultsAllacqsMinimum: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. - - **Description:** - - This query returns the minimum value of the measurement specified by the string, for - all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._minimum - - @property - def pk2pk(self) -> MeasuMeas1SubgroupResultsAllacqsPk2pk: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. - - **Description:** - - This query returns the peak-to-peak value of the measurement specified by the string, - for all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._pk2pk - - @property - def population(self) -> MeasuMeas1SubgroupResultsAllacqsPopulation: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. - - **Description:** - - This query returns the population value of the measurement specified by the string, - for all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._population - - @property - def stddev(self) -> MeasuMeas1SubgroupResultsAllacqsStddev: - r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. - - **Description:** - - This query returns the standard deviation value of the measurement specified by the - string, for all acquisitions. - - **Usage:** - - Using the ``.query(argument)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. - - Using the ``.verify(argument, value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? - - **Info:** - - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| - OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK - \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL - \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK - \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL - \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT - \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. - """ - return self._stddev - - -class MeasuMeas1SubgroupResults(SCPICmdRead): - """The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.allacqs``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. - - ``.currentacq``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._allacqs = MeasuMeas1SubgroupResultsAllacqs(device, f"{self._cmd_syntax}:ALLAcqs") - self._currentacq = MeasuMeas1SubgroupResultsCurrentacq( - device, f"{self._cmd_syntax}:CURRentacq" - ) - - @property - def allacqs(self) -> MeasuMeas1SubgroupResultsAllacqs: - """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` - query. - - Using the ``.verify(value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. - - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. - - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. - - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. - - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. - - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. - """ - return self._allacqs - - @property - def currentacq(self) -> MeasuMeas1SubgroupResultsCurrentacq: - """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query. - - Using the ``.verify(value)`` method will send the - ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. - - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. - - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. - - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. - - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. - - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. - """ - return self._currentacq - - -class MeasuMeas1Subgroup(SCPICmdRead): - """The ``MEASU:MEAS1:SUBGROUP`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.results``: The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._results = MeasuMeas1SubgroupResults(device, f"{self._cmd_syntax}:RESUlts") - - @property - def results(self) -> MeasuMeas1SubgroupResults: - """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.allacqs``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. - - ``.currentacq``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. - """ - return self._results - - -class MeasuMeas1(SCPICmdRead): - """The ``MEASU:MEAS1`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.subgroup``: The ``MEASU:MEAS1:SUBGROUP`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._subgroup = MeasuMeas1Subgroup(device, f"{self._cmd_syntax}:SUBGROUP") - - @property - def subgroup(self) -> MeasuMeas1Subgroup: - """Return the ``MEASU:MEAS1:SUBGROUP`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.results``: The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. - """ - return self._subgroup - - -class Measu(SCPICmdRead): - """The ``MEASU`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.meas1``: The ``MEASU:MEAS1`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "MEASU") -> None: - super().__init__(device, cmd_syntax) - self._meas1 = MeasuMeas1(device, f"{self._cmd_syntax}:MEAS1") - - @property - def meas1(self) -> MeasuMeas1: - """Return the ``MEASU:MEAS1`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``MEASU:MEAS1?`` query. - - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.subgroup``: The ``MEASU:MEAS1:SUBGROUP`` command tree. - """ - return self._meas1 diff --git a/src/tm_devices/commands/_c69b1_lpdmso/actonevent.py b/src/tm_devices/commands/_c69b1_lpdmso/actonevent.py deleted file mode 100644 index 7c16e110..00000000 --- a/src/tm_devices/commands/_c69b1_lpdmso/actonevent.py +++ /dev/null @@ -1,3045 +0,0 @@ -# pylint: disable=too-many-lines -"""The actonevent commands module. - -These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B - -THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. - -Please report an issue if one is found. - -Commands and Queries: - -:: - - - ACTONEVent:ENable - - ACTONEVent:ENable? - - ACTONEVent:LIMITCount - - ACTONEVent:LIMITCount? - - ACTONEVent:LIMit - - ACTONEVent:LIMit? - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SRQ:STATE? - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SRQ:STATE? - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SRQ:STATE? - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SRQ:STATE? - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? - - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SRQ:STATE? - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? -""" -from typing import Optional, TYPE_CHECKING - -from .._helpers import SCPICmdRead, SCPICmdWrite - -if TYPE_CHECKING: - from tm_devices.drivers.pi.pi_device import PIDevice - - -class ActoneventTriggerActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions on a trigger event from a single sequence or sequence of N - acquisition. Each acquisition in the sequence of N will perform a save operation. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions on a trigger event feature. - - ``OFF`` disables the stop acquisitions on a trigger event feature. - - ```` is a number that enables or disables the stop acquisitions on a trigger event - feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventTriggerActionStopacq(SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventTriggerActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventTriggerActionStopacqState: - """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions on a trigger event from a single sequence or sequence - of N acquisition. Each acquisition in the sequence of N will perform a save operation. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions on a trigger event feature. - - ``OFF`` disables the stop acquisitions on a trigger event feature. - - ```` is a number that enables or disables the stop acquisitions on a trigger - event feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventTriggerActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a trigger event occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. - - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. - - ```` is a number that enables or disables the generate an SRQ event when a trigger - event occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventTriggerActionSrq(SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventTriggerActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventTriggerActionSrqState: - """Return the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a trigger event occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a trigger event occurs feature. - - ``OFF`` disables the generate an SRQ event when a trigger event occurs feature. - - ```` is a number that enables or disables the generate an SRQ event when a - trigger event occurs feature. The number zero disables the feature, all other numbers - enable the feature. - """ - return self._state - - -class ActoneventTriggerActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) on a trigger event from a single - sequence or sequence of N acquisition. Each acquisition in the sequence of N will perform - a save operation. This command replaces ``SAVEON:WAVEFORM`` (still valid command, but only - an alias for this new command). - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) on a trigger event feature. - - ``OFF`` disables the save source waveform(s) on a trigger event feature. - - ```` is a number that enables or disables the save source waveform(s) on a trigger - event feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventTriggerActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventTriggerActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventTriggerActionSavewaveformState: - """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) on a trigger event from a single - sequence or sequence of N acquisition. Each acquisition in the sequence of N will - perform a save operation. This command replaces ``SAVEON:WAVEFORM`` (still valid - command, but only an alias for this new command). - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) on a trigger event feature. - - ``OFF`` disables the save source waveform(s) on a trigger event feature. - - ```` is a number that enables or disables the save source waveform(s) on a - trigger event feature. The number zero disables the feature, all other numbers enable - the feature. - """ - return self._state - - -class ActoneventTriggerActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture on a trigger event from a single sequence or sequence - of N acquisition. Each acquisition in the sequence of N will perform a save operation. - This command replaces ``SAVE:IMAGE`` (still valid command, but only an alias for this new - command). - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture on a trigger event feature. - - ``OFF`` disables the save screen capture on a trigger event feature. - - ```` is a number that enables or disables the save screen capture on a trigger event - feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventTriggerActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventTriggerActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventTriggerActionSaveimageState: - """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture on a trigger event from a single sequence or - sequence of N acquisition. Each acquisition in the sequence of N will perform a save - operation. This command replaces ``SAVE:IMAGE`` (still valid command, but only an - alias for this new command). - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture on a trigger event feature. - - ``OFF`` disables the save screen capture on a trigger event feature. - - ```` is a number that enables or disables the save screen capture on a trigger - event feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventTriggerAction(SCPICmdRead): - """The ``ACTONEVent:TRIGger:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventTriggerActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") - self._savewaveform = ActoneventTriggerActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventTriggerActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventTriggerActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventTriggerActionSaveimage: - """Return the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventTriggerActionSavewaveform: - """Return the ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventTriggerActionSrq: - """Return the ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventTriggerActionStopacq: - """Return the ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:TRIGger:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventTrigger(SCPICmdRead): - """The ``ACTONEVent:TRIGger`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventTriggerAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventTriggerAction: - """Return the ``ACTONEVent:TRIGger:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:TRIGger:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:TRIGger:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:TRIGger:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:TRIGger:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventSearchActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a search event is found feature. - - ``OFF`` disables the stop acquisitions when a search event is found feature. - - ```` is a number that enables or disables the stop acquisitions when a search event - is found feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventSearchActionStopacq(SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventSearchActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventSearchActionStopacqState: - """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a search event is found feature. - - ``OFF`` disables the stop acquisitions when a search event is found feature. - - ```` is a number that enables or disables the stop acquisitions when a search - event is found feature. The number zero disables the feature, all other numbers enable - the feature. - """ - return self._state - - -class ActoneventSearchActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when any search event is found. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when any search event is found feature. - - ``OFF`` disables the generate an SRQ event when any search event is found feature. - - ```` is a number that enables or disables the generate an SRQ event when any search - event is found feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventSearchActionSrq(SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventSearchActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventSearchActionSrqState: - """Return the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when any search event is found. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when any search event is found feature. - - ``OFF`` disables the generate an SRQ event when any search event is found feature. - - ```` is a number that enables or disables the generate an SRQ event when any - search event is found feature. The number zero disables the feature, all other numbers - enable the feature. - """ - return self._state - - -class ActoneventSearchActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a search event is found feature. - - ``OFF`` disables the save source waveform(s) when a search event is found feature. - - ```` is a number that enables or disables the save source waveform(s) when a search - event is found feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventSearchActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventSearchActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventSearchActionSavewaveformState: - """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a search event is found feature. - - ``OFF`` disables the save source waveform(s) when a search event is found feature. - - ```` is a number that enables or disables the save source waveform(s) when a - search event is found feature. The number zero disables the feature, all other numbers - enable the feature. - """ - return self._state - - -class ActoneventSearchActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a search event is found feature. - - ``OFF`` disables the save screen capture when a search event is found feature. - - ```` is a number that enables or disables the save screen capture when a search event - is found feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventSearchActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventSearchActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventSearchActionSaveimageState: - """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a search event is found. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a search event is found feature. - - ``OFF`` disables the save screen capture when a search event is found feature. - - ```` is a number that enables or disables the save screen capture when a search - event is found feature. The number zero disables the feature, all other numbers enable - the feature. - """ - return self._state - - -class ActoneventSearchAction(SCPICmdRead): - """The ``ACTONEVent:SEARCH:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventSearchActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") - self._savewaveform = ActoneventSearchActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventSearchActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventSearchActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventSearchActionSaveimage: - """Return the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventSearchActionSavewaveform: - """Return the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventSearchActionSrq: - """Return the ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventSearchActionStopacq: - """Return the ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:SEARCH:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventSearch(SCPICmdRead): - """The ``ACTONEVent:SEARCH`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventSearchAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventSearchAction: - """Return the ``ACTONEVent:SEARCH:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:SEARCH:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:SEARCH:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:SEARCH:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:SEARCH:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventMeasurementActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when the user-set measurement limit is exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. - - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. - - ```` is a number that enables or disables the stop acquisitions when the measurement - limit is exceeded feature. The number zero disables the feature, all other numbers enable - the feature. - """ - - -class ActoneventMeasurementActionStopacq(SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMeasurementActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMeasurementActionStopacqState: - """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when the user-set measurement limit is exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when the measurement limit is exceeded feature. - - ``OFF`` disables the stop acquisitions when the measurement limit is exceeded feature. - - ```` is a number that enables or disables the stop acquisitions when the - measurement limit is exceeded feature. The number zero disables the feature, all other - numbers enable the feature. - """ - return self._state - - -class ActoneventMeasurementActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when any measurement triggers the user-defined - measurement limits. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when any measurement triggers the user-defined - measurement limits feature. - - ``OFF`` disables the generate an SRQ event when any measurement triggers the user-defined - measurement limits feature. - - ```` is a number that enables or disables the generate an SRQ event when any - measurement triggers the user-defined measurement limits feature. The number zero disables - the feature, all other numbers enable the feature. - """ - - -class ActoneventMeasurementActionSrq(SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMeasurementActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMeasurementActionSrqState: - """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when any measurement triggers the user-defined - measurement limits. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when any measurement triggers the - user-defined measurement limits feature. - - ``OFF`` disables the generate an SRQ event when any measurement triggers the - user-defined measurement limits feature. - - ```` is a number that enables or disables the generate an SRQ event when any - measurement triggers the user-defined measurement limits feature. The number zero - disables the feature, all other numbers enable the feature. - """ - return self._state - - -class ActoneventMeasurementActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when the user-set measurement limit is - exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded feature. - - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded - feature. - - ```` is a number that enables or disables the save source waveform(s) when the - measurement limit is exceeded feature. The number zero disables the feature, all other - numbers enable the feature. - """ - - -class ActoneventMeasurementActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMeasurementActionSavewaveformState( - device, f"{self._cmd_syntax}:STATE" - ) - - @property - def state(self) -> ActoneventMeasurementActionSavewaveformState: - """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when the user-set measurement limit - is exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when the measurement limit is exceeded - feature. - - ``OFF`` disables the save source waveform(s) when the measurement limit is exceeded - feature. - - ```` is a number that enables or disables the save source waveform(s) when the - measurement limit is exceeded feature. The number zero disables the feature, all other - numbers enable the feature. - """ - return self._state - - -class ActoneventMeasurementActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when the user-set measurement limit is exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. - - ``OFF`` disables the save screen capture when the measurement limit is exceeded feature. - - ```` is a number that enables or disables the save screen capture when the - measurement limit is exceeded feature. The number zero disables the feature, all other - numbers enable the feature. - """ - - -class ActoneventMeasurementActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMeasurementActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMeasurementActionSaveimageState: - """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when the user-set measurement limit is exceeded. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError - if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when the measurement limit is exceeded feature. - - ``OFF`` disables the save screen capture when the measurement limit is exceeded - feature. - - ```` is a number that enables or disables the save screen capture when the - measurement limit is exceeded feature. The number zero disables the feature, all other - numbers enable the feature. - """ - return self._state - - -class ActoneventMeasurementAction(SCPICmdRead): - """The ``ACTONEVent:MEASUrement:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventMeasurementActionSaveimage( - device, f"{self._cmd_syntax}:SAVEIMAGe" - ) - self._savewaveform = ActoneventMeasurementActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventMeasurementActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventMeasurementActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventMeasurementActionSaveimage: - """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventMeasurementActionSavewaveform: - """Return the ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventMeasurementActionSrq: - """Return the ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:SRQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:SRQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventMeasurementActionStopacq: - """Return the ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MEASUrement:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventMeasurement(SCPICmdRead): - """The ``ACTONEVent:MEASUrement`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventMeasurementAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventMeasurementAction: - """Return the ``ACTONEVent:MEASUrement:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement:ACTION?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:MEASUrement:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MEASUrement:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MEASUrement:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MEASUrement:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventMaskpassActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask test passes feature. - - ``OFF`` disables the stop acquisitions when a mask test passes feature. - - ```` is a number that enables or disables the stop acquisitions when a mask test - passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskpassActionStopacq(SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskpassActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskpassActionStopacqState: - """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask test passes feature. - - ``OFF`` disables the stop acquisitions when a mask test passes feature. - - ```` is a number that enables or disables the stop acquisitions when a mask test - passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskpassActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask passes. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask passes feature. - - ``OFF`` disables the generate an SRQ event when a mask passes feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask - passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskpassActionSrq(SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskpassActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskpassActionSrqState: - """Return the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask passes. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask passes feature. - - ``OFF`` disables the generate an SRQ event when a mask passes feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask - passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskpassActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask test passes feature. - - ``OFF`` disables the save source waveform(s) when a mask test passes feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask - test passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskpassActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskpassActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskpassActionSavewaveformState: - """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError - if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask test passes feature. - - ``OFF`` disables the save source waveform(s) when a mask test passes feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask - test passes feature. The number zero disables the feature, all other numbers enable - the feature. - """ - return self._state - - -class ActoneventMaskpassActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask test passes feature. - - ``OFF`` disables the save screen capture when a mask test passes feature. - - ```` is a number that enables or disables the save screen capture when a mask test - passes feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskpassActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskpassActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskpassActionSaveimageState: - """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask test passes. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask test passes feature. - - ``OFF`` disables the save screen capture when a mask test passes feature. - - ```` is a number that enables or disables the save screen capture when a mask - test passes feature. The number zero disables the feature, all other numbers enable - the feature. - """ - return self._state - - -class ActoneventMaskpassAction(SCPICmdRead): - """The ``ACTONEVent:MASKPass:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventMaskpassActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") - self._savewaveform = ActoneventMaskpassActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventMaskpassActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventMaskpassActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventMaskpassActionSaveimage: - """Return the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventMaskpassActionSavewaveform: - """Return the ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventMaskpassActionSrq: - """Return the ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventMaskpassActionStopacq: - """Return the ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKPass:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventMaskpass(SCPICmdRead): - """The ``ACTONEVent:MASKPass`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventMaskpassAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventMaskpassAction: - """Return the ``ACTONEVent:MASKPass:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass:ACTION?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:MASKPass:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKPass:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKPass:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKPass:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventMaskhitActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask hit occurs feature. - - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. - - ```` is a number that enables or disables the stop acquisitions when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskhitActionStopacq(SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskhitActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskhitActionStopacqState: - """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask hit occurs feature. - - ``OFF`` disables the stop acquisitions when a mask hit occurs feature. - - ```` is a number that enables or disables the stop acquisitions when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskhitActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. - - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskhitActionSrq(SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskhitActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskhitActionSrqState: - """Return the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask hit occurs feature. - - ``OFF`` disables the generate an SRQ event when a mask hit occurs feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask - hit occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskhitActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. - - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskhitActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskhitActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskhitActionSavewaveformState: - """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask hit occurs feature. - - ``OFF`` disables the save source waveform(s) when a mask hit occurs feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask - hit occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskhitActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask hit occurs feature. - - ``OFF`` disables the save screen capture when a mask hit occurs feature. - - ```` is a number that enables or disables the save screen capture when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskhitActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskhitActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskhitActionSaveimageState: - """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask hit occurs. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask hit occurs feature. - - ``OFF`` disables the save screen capture when a mask hit occurs feature. - - ```` is a number that enables or disables the save screen capture when a mask hit - occurs feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskhitAction(SCPICmdRead): - """The ``ACTONEVent:MASKHit:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventMaskhitActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") - self._savewaveform = ActoneventMaskhitActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventMaskhitActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventMaskhitActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventMaskhitActionSaveimage: - """Return the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventMaskhitActionSavewaveform: - """Return the ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventMaskhitActionSrq: - """Return the ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventMaskhitActionStopacq: - """Return the ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKHit:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventMaskhit(SCPICmdRead): - """The ``ACTONEVent:MASKHit`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventMaskhitAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventMaskhitAction: - """Return the ``ACTONEVent:MASKHit:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:MASKHit:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKHit:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKHit:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKHit:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventMaskfailActionStopacqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask test fails feature. - - ``OFF`` disables the stop acquisitions when a mask test fails feature. - - ```` is a number that enables or disables the stop acquisitions when a mask test - fails feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventMaskfailActionStopacq(SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskfailActionStopacqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskfailActionStopacqState: - """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. - - **Description:** - - This command stops acquisitions when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:STOPACQ:STATE? - - **Info:** - - ``ON`` enables the stop acquisitions when a mask test fails feature. - - ``OFF`` disables the stop acquisitions when a mask test fails feature. - - ```` is a number that enables or disables the stop acquisitions when a mask test - fails feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskfailActionSrqState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask fails. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask fails feature. - - ``OFF`` disables the generate an SRQ event when a mask fails feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask fails - feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventMaskfailActionSrq(SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskfailActionSrqState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskfailActionSrqState: - """Return the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. - - **Description:** - - This command generates an SRQ event when a mask fails. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SRQ:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SRQ:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SRQ:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SRQ:STATE? - - **Info:** - - ``ON`` enables the generate an SRQ event when a mask fails feature. - - ``OFF`` disables the generate an SRQ event when a mask fails feature. - - ```` is a number that enables or disables the generate an SRQ event when a mask - fails feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskfailActionSavewaveformState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask test fails feature. - - ``OFF`` disables the save source waveform(s) when a mask test fails feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask - test fails feature. The number zero disables the feature, all other numbers enable the - feature. - """ - - -class ActoneventMaskfailActionSavewaveform(SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskfailActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskfailActionSavewaveformState: - """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. - - **Description:** - - This command saves the user set source waveform(s) when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError - if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE? - - **Info:** - - ``ON`` enables the save source waveform(s) when a mask test fails feature. - - ``OFF`` disables the save source waveform(s) when a mask test fails feature. - - ```` is a number that enables or disables the save source waveform(s) when a mask - test fails feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskfailActionSaveimageState(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask test fails feature. - - ``OFF`` disables the save screen capture when a mask test fails feature. - - ```` is a number that enables or disables the save screen capture when a mask test - fails feature. The number zero disables the feature, all other numbers enable the feature. - """ - - -class ActoneventMaskfailActionSaveimage(SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._state = ActoneventMaskfailActionSaveimageState(device, f"{self._cmd_syntax}:STATE") - - @property - def state(self) -> ActoneventMaskfailActionSaveimageState: - """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. - - **Description:** - - This command saves a screen capture when a mask test fails. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if - the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE {ON|OFF|} - - ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE? - - **Info:** - - ``ON`` enables the save screen capture when a mask test fails feature. - - ``OFF`` disables the save screen capture when a mask test fails feature. - - ```` is a number that enables or disables the save screen capture when a mask - test fails feature. The number zero disables the feature, all other numbers enable the - feature. - """ - return self._state - - -class ActoneventMaskfailAction(SCPICmdRead): - """The ``ACTONEVent:MASKFail:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._saveimage = ActoneventMaskfailActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") - self._savewaveform = ActoneventMaskfailActionSavewaveform( - device, f"{self._cmd_syntax}:SAVEWAVEform" - ) - self._srq = ActoneventMaskfailActionSrq(device, f"{self._cmd_syntax}:SRQ") - self._stopacq = ActoneventMaskfailActionStopacq(device, f"{self._cmd_syntax}:STOPACQ") - - @property - def saveimage(self) -> ActoneventMaskfailActionSaveimage: - """Return the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe:STATE`` command. - """ - return self._saveimage - - @property - def savewaveform(self) -> ActoneventMaskfailActionSavewaveform: - """Return the ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform:STATE`` command. - """ - return self._savewaveform - - @property - def srq(self) -> ActoneventMaskfailActionSrq: - """Return the ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION:SRQ?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:SRQ:STATE`` command. - """ - return self._srq - - @property - def stopacq(self) -> ActoneventMaskfailActionStopacq: - """Return the ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` - query. - - Using the ``.verify(value)`` method will send the - ``ACTONEVent:MASKFail:ACTION:STOPACQ?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.state``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ:STATE`` command. - """ - return self._stopacq - - -class ActoneventMaskfail(SCPICmdRead): - """The ``ACTONEVent:MASKFail`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._action = ActoneventMaskfailAction(device, f"{self._cmd_syntax}:ACTION") - - @property - def action(self) -> ActoneventMaskfailAction: - """Return the ``ACTONEVent:MASKFail:ACTION`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail:ACTION?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail:ACTION?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.saveimage``: The ``ACTONEVent:MASKFail:ACTION:SAVEIMAGe`` command tree. - - ``.savewaveform``: The ``ACTONEVent:MASKFail:ACTION:SAVEWAVEform`` command tree. - - ``.srq``: The ``ACTONEVent:MASKFail:ACTION:SRQ`` command tree. - - ``.stopacq``: The ``ACTONEVent:MASKFail:ACTION:STOPACQ`` command tree. - """ - return self._action - - -class ActoneventLimit(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:LIMit`` command. - - **Description:** - - This command sets whether the act on event should limit the number of saves. This prevents - the saves from filling the hard drive. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:LIMit - - ACTONEVent:LIMit? - - **Info:** - - ```` is a number that enables or disables whether the act on event should limit the - number of saves. The number zero disables the feature and the number one enables the - feature. - """ - - -class ActoneventLimitcount(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:LIMITCount`` command. - - **Description:** - - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command must be - enabled. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:LIMITCount - - ACTONEVent:LIMITCount? - - **Info:** - - ```` sets the number of allowed saves for the act on event feature. The number must - be a positive integer. - """ - - -class ActoneventEnable(SCPICmdWrite, SCPICmdRead): - """The ``ACTONEVent:ENable`` command. - - **Description:** - - This command enables or disables actions on event (AOE). If AOE saves are limited and the - limit has been reached, this parameter will disable AOE. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:ENable - - ACTONEVent:ENable? - - **Info:** - - ```` is a number that enables or disables actions on event. The number zero disables - the feature and the number one enables the feature. - """ - - -# pylint: disable=too-many-instance-attributes -class Actonevent(SCPICmdRead): - """The ``ACTONEVent`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.enable``: The ``ACTONEVent:ENable`` command. - - ``.limitcount``: The ``ACTONEVent:LIMITCount`` command. - - ``.limit``: The ``ACTONEVent:LIMit`` command. - - ``.maskfail``: The ``ACTONEVent:MASKFail`` command tree. - - ``.maskhit``: The ``ACTONEVent:MASKHit`` command tree. - - ``.maskpass``: The ``ACTONEVent:MASKPass`` command tree. - - ``.measurement``: The ``ACTONEVent:MEASUrement`` command tree. - - ``.search``: The ``ACTONEVent:SEARCH`` command tree. - - ``.trigger``: The ``ACTONEVent:TRIGger`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "ACTONEVent") -> None: - super().__init__(device, cmd_syntax) - self._enable = ActoneventEnable(device, f"{self._cmd_syntax}:ENable") - self._limitcount = ActoneventLimitcount(device, f"{self._cmd_syntax}:LIMITCount") - self._limit = ActoneventLimit(device, f"{self._cmd_syntax}:LIMit") - self._maskfail = ActoneventMaskfail(device, f"{self._cmd_syntax}:MASKFail") - self._maskhit = ActoneventMaskhit(device, f"{self._cmd_syntax}:MASKHit") - self._maskpass = ActoneventMaskpass(device, f"{self._cmd_syntax}:MASKPass") - self._measurement = ActoneventMeasurement(device, f"{self._cmd_syntax}:MEASUrement") - self._search = ActoneventSearch(device, f"{self._cmd_syntax}:SEARCH") - self._trigger = ActoneventTrigger(device, f"{self._cmd_syntax}:TRIGger") - - @property - def enable(self) -> ActoneventEnable: - """Return the ``ACTONEVent:ENable`` command. - - **Description:** - - This command enables or disables actions on event (AOE). If AOE saves are limited and - the limit has been reached, this parameter will disable AOE. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:ENable - - ACTONEVent:ENable? - - **Info:** - - ```` is a number that enables or disables actions on event. The number zero - disables the feature and the number one enables the feature. - """ - return self._enable - - @property - def limitcount(self) -> ActoneventLimitcount: - """Return the ``ACTONEVent:LIMITCount`` command. - - **Description:** - - This command sets the limit of act on even saves. The ``ACTONEVent:LIMit`` command - must be enabled. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:LIMITCount?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMITCount?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMITCount value`` - command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:LIMITCount - - ACTONEVent:LIMITCount? - - **Info:** - - ```` sets the number of allowed saves for the act on event feature. The number - must be a positive integer. - """ - return self._limitcount - - @property - def limit(self) -> ActoneventLimit: - """Return the ``ACTONEVent:LIMit`` command. - - **Description:** - - This command sets whether the act on event should limit the number of saves. This - prevents the saves from filling the hard drive. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:LIMit?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:LIMit?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``ACTONEVent:LIMit value`` command. - - **SCPI Syntax:** - - :: - - - ACTONEVent:LIMit - - ACTONEVent:LIMit? - - **Info:** - - ```` is a number that enables or disables whether the act on event should limit - the number of saves. The number zero disables the feature and the number one enables - the feature. - """ - return self._limit - - @property - def maskfail(self) -> ActoneventMaskfail: - """Return the ``ACTONEVent:MASKFail`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKFail?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKFail?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:MASKFail:ACTION`` command tree. - """ - return self._maskfail - - @property - def maskhit(self) -> ActoneventMaskhit: - """Return the ``ACTONEVent:MASKHit`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKHit?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKHit?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:MASKHit:ACTION`` command tree. - """ - return self._maskhit - - @property - def maskpass(self) -> ActoneventMaskpass: - """Return the ``ACTONEVent:MASKPass`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MASKPass?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MASKPass?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:MASKPass:ACTION`` command tree. - """ - return self._maskpass - - @property - def measurement(self) -> ActoneventMeasurement: - """Return the ``ACTONEVent:MEASUrement`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:MEASUrement?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:MEASUrement?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:MEASUrement:ACTION`` command tree. - """ - return self._measurement - - @property - def search(self) -> ActoneventSearch: - """Return the ``ACTONEVent:SEARCH`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:SEARCH?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:SEARCH?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:SEARCH:ACTION`` command tree. - """ - return self._search - - @property - def trigger(self) -> ActoneventTrigger: - """Return the ``ACTONEVent:TRIGger`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``ACTONEVent:TRIGger?`` query. - - Using the ``.verify(value)`` method will send the ``ACTONEVent:TRIGger?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.action``: The ``ACTONEVent:TRIGger:ACTION`` command tree. - """ - return self._trigger diff --git a/src/tm_devices/commands/_c69b1_lpdmso/callouts.py b/src/tm_devices/commands/_c69b1_lpdmso/callouts.py deleted file mode 100644 index 2a85c8d3..00000000 --- a/src/tm_devices/commands/_c69b1_lpdmso/callouts.py +++ /dev/null @@ -1,905 +0,0 @@ -"""The callouts commands module. - -These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B - -THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. - -Please report an issue if one is found. - -Commands and Queries: - -:: - - - CALLOUTS:CALLOUT - - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} - - CALLOUTS:CALLOUT:BOOKMark:SOURCE? - - CALLOUTS:CALLOUT:BOOKMark:XPOS - - CALLOUTS:CALLOUT:BOOKMark:XPOS? - - CALLOUTS:CALLOUT:COLOR - - CALLOUTS:CALLOUT:COLOR? - - CALLOUTS:CALLOUT:DISPLAYPOSition:X - - CALLOUTS:CALLOUT:DISPLAYPOSition:X? - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? - - CALLOUTS:CALLOUT:FONT:BOLD {1|0} - - CALLOUTS:CALLOUT:FONT:BOLD? - - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} - - CALLOUTS:CALLOUT:FONT:ITALIC? - - CALLOUTS:CALLOUT:FONT:SIZE - - CALLOUTS:CALLOUT:FONT:SIZE? - - CALLOUTS:CALLOUT:FONT:TYPE - - CALLOUTS:CALLOUT:FONT:TYPE? - - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} - - CALLOUTS:CALLOUT:FONT:UNDERLine? - - CALLOUTS:CALLOUT:TEXT - - CALLOUTS:CALLOUT:TEXT? - - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} - - CALLOUTS:CALLOUT:TYPE? -""" -from typing import Dict, Optional, TYPE_CHECKING - -from .._helpers import ( - DefaultDictPassKeyToFactory, - SCPICmdRead, - SCPICmdWrite, - SCPICmdWriteNoArguments, - ValidatedDynamicNumberCmd, -) - -if TYPE_CHECKING: - from tm_devices.drivers.pi.pi_device import PIDevice - - -class CalloutsCalloutItemType(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:TYPE`` command. - - **Description:** - - This command sets or queries type of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} - - CALLOUTS:CALLOUT:TYPE? - - **Info:** - - ``NOTE`` specifies callout type as note. - - ``ARROW`` specifies callout type as arrow. - - ``RECTANGLE`` specifies callout type as rectangle. - - ``BOOKMARK`` specifies callout type as bookmark. - """ - - -class CalloutsCalloutItemText(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:TEXT`` command. - - **Description:** - - This command sets or queries the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:TEXT - - CALLOUTS:CALLOUT:TEXT? - - **Info:** - - ```` specifies the callout text. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class CalloutsCalloutItemFontUnderline(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. - - **Description:** - - This command sets or queries the underline state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} - - CALLOUTS:CALLOUT:FONT:UNDERLine? - - **Info:** - - ``1`` underlines the callout text. - - ``0`` does not underline the callout text. - """ - - -class CalloutsCalloutItemFontType(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. - - **Description:** - - This command sets or queries type of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:TYPE - - CALLOUTS:CALLOUT:FONT:TYPE? - - **Info:** - - ```` specifies the type of font for the callout text. The available font types - include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans - Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class CalloutsCalloutItemFontSize(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. - - **Description:** - - This command sets or queries the font size of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:SIZE - - CALLOUTS:CALLOUT:FONT:SIZE? - - **Info:** - - ```` specifies the font size in points. - """ - - -class CalloutsCalloutItemFontItalic(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. - - **Description:** - - This command sets or queries the italic state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} - - CALLOUTS:CALLOUT:FONT:ITALIC? - - **Info:** - - ``1`` specifies the callout font style as italic. - - ``0`` does not specify the font style as italic. - """ - - -class CalloutsCalloutItemFontBold(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. - - **Description:** - - This command sets or queries the bold state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:BOLD {1|0} - - CALLOUTS:CALLOUT:FONT:BOLD? - - **Info:** - - ``1`` specifies the callout font weight as bold. - - ``0`` specifies the callout font weight as normal. - """ - - -class CalloutsCalloutItemFont(SCPICmdRead): - """The ``CALLOUTS:CALLOUT:FONT`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. - - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. - - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. - - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. - - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bold = CalloutsCalloutItemFontBold(device, f"{self._cmd_syntax}:BOLD") - self._italic = CalloutsCalloutItemFontItalic(device, f"{self._cmd_syntax}:ITALIC") - self._size = CalloutsCalloutItemFontSize(device, f"{self._cmd_syntax}:SIZE") - self._type = CalloutsCalloutItemFontType(device, f"{self._cmd_syntax}:TYPE") - self._underline = CalloutsCalloutItemFontUnderline(device, f"{self._cmd_syntax}:UNDERLine") - - @property - def bold(self) -> CalloutsCalloutItemFontBold: - """Return the ``CALLOUTS:CALLOUT:FONT:BOLD`` command. - - **Description:** - - This command sets or queries the bold state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:BOLD value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:BOLD {1|0} - - CALLOUTS:CALLOUT:FONT:BOLD? - - **Info:** - - ``1`` specifies the callout font weight as bold. - - ``0`` specifies the callout font weight as normal. - """ - return self._bold - - @property - def italic(self) -> CalloutsCalloutItemFontItalic: - """Return the ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. - - **Description:** - - This command sets or queries the italic state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` - query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:ITALIC value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} - - CALLOUTS:CALLOUT:FONT:ITALIC? - - **Info:** - - ``1`` specifies the callout font style as italic. - - ``0`` does not specify the font style as italic. - """ - return self._italic - - @property - def size(self) -> CalloutsCalloutItemFontSize: - """Return the ``CALLOUTS:CALLOUT:FONT:SIZE`` command. - - **Description:** - - This command sets or queries the font size of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:SIZE value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:SIZE - - CALLOUTS:CALLOUT:FONT:SIZE? - - **Info:** - - ```` specifies the font size in points. - """ - return self._size - - @property - def type(self) -> CalloutsCalloutItemFontType: - """Return the ``CALLOUTS:CALLOUT:FONT:TYPE`` command. - - **Description:** - - This command sets or queries type of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:TYPE value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:TYPE - - CALLOUTS:CALLOUT:FONT:TYPE? - - **Info:** - - ```` specifies the type of font for the callout text. The available font - types include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, - Monospace, Sans Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. - """ - return self._type - - @property - def underline(self) -> CalloutsCalloutItemFontUnderline: - """Return the ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. - - **Description:** - - This command sets or queries the underline state of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} - - CALLOUTS:CALLOUT:FONT:UNDERLine? - - **Info:** - - ``1`` underlines the callout text. - - ``0`` does not underline the callout text. - """ - return self._underline - - -class CalloutsCalloutItemDisplaypositionY(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. - - **Description:** - - This command sets or queries vertical display position of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? - - **Info:** - - ```` specifies the callout vertical display position. - """ - - -class CalloutsCalloutItemDisplaypositionX(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. - - **Description:** - - This command sets or queries horizontal display position of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:DISPLAYPOSition:X - - CALLOUTS:CALLOUT:DISPLAYPOSition:X? - - **Info:** - - ```` specifies the callout horizontal display position. - """ - - -class CalloutsCalloutItemDisplayposition(SCPICmdRead): - """The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` - query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. - - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._x = CalloutsCalloutItemDisplaypositionX(device, f"{self._cmd_syntax}:X") - self._y = CalloutsCalloutItemDisplaypositionY(device, f"{self._cmd_syntax}:Y") - - @property - def x(self) -> CalloutsCalloutItemDisplaypositionX: - """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. - - **Description:** - - This command sets or queries horizontal display position of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:DISPLAYPOSition:X - - CALLOUTS:CALLOUT:DISPLAYPOSition:X? - - **Info:** - - ```` specifies the callout horizontal display position. - """ - return self._x - - @property - def y(self) -> CalloutsCalloutItemDisplaypositionY: - """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. - - **Description:** - - This command sets or queries vertical display position of the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y - - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? - - **Info:** - - ```` specifies the callout vertical display position. - """ - return self._y - - -class CalloutsCalloutItemColor(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:COLOR`` command. - - **Description:** - - This command sets or queries the text color of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:COLOR - - CALLOUTS:CALLOUT:COLOR? - - **Info:** - - ```` specifies the callout text color using hexadecimal color values. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class CalloutsCalloutItemBookmarkXpos(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. - - **Description:** - - This command sets or queries the X-Position of the Bookmark callout type. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:BOOKMark:XPOS - - CALLOUTS:CALLOUT:BOOKMark:XPOS? - - **Info:** - - ```` specifies the location of the bookmark linked to the source waveform in X-axis. - """ - - -class CalloutsCalloutItemBookmarkSource(SCPICmdWrite, SCPICmdRead): - """The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. - - **Description:** - - This command sets or queries the source of the Bookmark callout type. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` - query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} - - CALLOUTS:CALLOUT:BOOKMark:SOURCE? - - **Info:** - - ``CH1`` specifies the bookmark callout source as Ch1. - - ``CH2`` specifies the bookmark callout source as Ch2. - - ``CH3`` specifies the bookmark callout source as Ch3. - - ``CH4`` specifies the bookmark callout source as Ch4. - """ - - -class CalloutsCalloutItemBookmark(SCPICmdRead): - """The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. - - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._source = CalloutsCalloutItemBookmarkSource(device, f"{self._cmd_syntax}:SOURCE") - self._xpos = CalloutsCalloutItemBookmarkXpos(device, f"{self._cmd_syntax}:XPOS") - - @property - def source(self) -> CalloutsCalloutItemBookmarkSource: - """Return the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. - - **Description:** - - This command sets or queries the source of the Bookmark callout type. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} - - CALLOUTS:CALLOUT:BOOKMark:SOURCE? - - **Info:** - - ``CH1`` specifies the bookmark callout source as Ch1. - - ``CH2`` specifies the bookmark callout source as Ch2. - - ``CH3`` specifies the bookmark callout source as Ch3. - - ``CH4`` specifies the bookmark callout source as Ch4. - """ - return self._source - - @property - def xpos(self) -> CalloutsCalloutItemBookmarkXpos: - """Return the ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. - - **Description:** - - This command sets or queries the X-Position of the Bookmark callout type. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:BOOKMark:XPOS - - CALLOUTS:CALLOUT:BOOKMark:XPOS? - - **Info:** - - ```` specifies the location of the bookmark linked to the source waveform in - X-axis. - """ - return self._xpos - - -class CalloutsCalloutItem(ValidatedDynamicNumberCmd, SCPICmdWriteNoArguments, SCPICmdRead): - """The ``CALLOUTS:CALLOUT`` command. - - **Description:** - - This command creates a new note. A Note is the default callout value. The callout number - is specified by x. - - **Usage:** - - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT - - Properties: - - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. - - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. - - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. - - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. - - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. - - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bookmark = CalloutsCalloutItemBookmark(device, f"{self._cmd_syntax}:BOOKMark") - self._color = CalloutsCalloutItemColor(device, f"{self._cmd_syntax}:COLOR") - self._displayposition = CalloutsCalloutItemDisplayposition( - device, f"{self._cmd_syntax}:DISPLAYPOSition" - ) - self._font = CalloutsCalloutItemFont(device, f"{self._cmd_syntax}:FONT") - self._text = CalloutsCalloutItemText(device, f"{self._cmd_syntax}:TEXT") - self._type = CalloutsCalloutItemType(device, f"{self._cmd_syntax}:TYPE") - - @property - def bookmark(self) -> CalloutsCalloutItemBookmark: - """Return the ``CALLOUTS:CALLOUT:BOOKMark`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. - - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. - """ - return self._bookmark - - @property - def color(self) -> CalloutsCalloutItemColor: - """Return the ``CALLOUTS:CALLOUT:COLOR`` command. - - **Description:** - - This command sets or queries the text color of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:COLOR - - CALLOUTS:CALLOUT:COLOR? - - **Info:** - - ```` specifies the callout text color using hexadecimal color values. - """ - return self._color - - @property - def displayposition(self) -> CalloutsCalloutItemDisplayposition: - """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` - query. - - Using the ``.verify(value)`` method will send the - ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Sub-properties: - - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. - - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. - """ - return self._displayposition - - @property - def font(self) -> CalloutsCalloutItemFont: - """Return the ``CALLOUTS:CALLOUT:FONT`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. - - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. - - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. - - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. - - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. - """ - return self._font - - @property - def text(self) -> CalloutsCalloutItemText: - """Return the ``CALLOUTS:CALLOUT:TEXT`` command. - - **Description:** - - This command sets or queries the callout text. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:TEXT - - CALLOUTS:CALLOUT:TEXT? - - **Info:** - - ```` specifies the callout text. - """ - return self._text - - @property - def type(self) -> CalloutsCalloutItemType: - """Return the ``CALLOUTS:CALLOUT:TYPE`` command. - - **Description:** - - This command sets or queries type of the callout. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` - command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} - - CALLOUTS:CALLOUT:TYPE? - - **Info:** - - ``NOTE`` specifies callout type as note. - - ``ARROW`` specifies callout type as arrow. - - ``RECTANGLE`` specifies callout type as rectangle. - - ``BOOKMARK`` specifies callout type as bookmark. - """ - return self._type - - -class Callouts(SCPICmdRead): - """The ``CALLOUTS`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``CALLOUTS?`` query. - - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.callout``: The ``CALLOUTS:CALLOUT`` command. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "CALLOUTS") -> None: - super().__init__(device, cmd_syntax) - self._callout: Dict[int, CalloutsCalloutItem] = DefaultDictPassKeyToFactory( - lambda x: CalloutsCalloutItem(device, f"{self._cmd_syntax}:CALLOUT{x}") - ) - - @property - def callout(self) -> Dict[int, CalloutsCalloutItem]: - """Return the ``CALLOUTS:CALLOUT`` command. - - **Description:** - - This command creates a new note. A Note is the default callout value. The callout - number is specified by x. - - **Usage:** - - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. - - **SCPI Syntax:** - - :: - - - CALLOUTS:CALLOUT - - Sub-properties: - - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. - - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. - - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. - - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. - - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. - - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. - """ - return self._callout diff --git a/src/tm_devices/commands/_c69b1_lpdmso/diag.py b/src/tm_devices/commands/_c69b1_lpdmso/diag.py deleted file mode 100644 index c17b6493..00000000 --- a/src/tm_devices/commands/_c69b1_lpdmso/diag.py +++ /dev/null @@ -1,541 +0,0 @@ -"""The diag commands module. - -These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B - -THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. - -Please report an issue if one is found. - -Commands and Queries: - -:: - - - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} - - DIAg:LOOP:OPTion:NTIMes - - DIAg:LOOP:OPTion:NTIMes? - - DIAg:LOOP:OPTion? - - DIAg:LOOP:STOP - - DIAg:MODe {POST|EXTENDED|SERVICE} - - DIAg:MODe? - - DIAg:RESUlt:FLAg? - - DIAg:RESUlt:LOG? - - DIAg:RESUlt? - - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} - - DIAg:SELect? - - DIAg:STATE {EXECute|ABOrt} -""" -from typing import Optional, TYPE_CHECKING - -from .._helpers import SCPICmdRead, SCPICmdWrite, SCPICmdWriteNoArguments - -if TYPE_CHECKING: - from tm_devices.drivers.pi.pi_device import PIDevice - - -class DiagState(SCPICmdWrite): - """The ``DIAg:STATE`` command. - - **Description:** - - This command starts or aborts Self Test. Abort happens after group under test completes. - - **Usage:** - - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:STATE {EXECute|ABOrt} - - **Info:** - - ``EXECUTE`` starts execution of the diagnostics. - - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal - operating state. - """ - - -class DiagSelect(SCPICmdWrite, SCPICmdRead): - """The ``DIAg:SELect`` command. - - **Description:** - - This command selects or queries an available diagnostic area. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:SELect?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:SELect?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} - - DIAg:SELect? - - **Info:** - - ``ALL`` selects all diagnostic areas. - - ``IO`` selects the IO group. - - ``ANALOG`` selects the ANALOG diagnostic area. - - ``SYSTEM`` selects the SYSTEM diagnostic area. - - ``ASIC`` selects the ASIC diagnostic area. - - ``ACQ`` selects the ACQ diagnostic area. - - ``SIGNAL`` selects the SIGNAL diagnostic area. - - ``MEMORY`` selects the MEMORY diagnostic area. - """ - - -class DiagResultLog(SCPICmdRead): - """The ``DIAg:RESUlt:LOG`` command. - - **Description:** - - This query returns the test Pass/Fail status of each diagnostic area. It does not return - the overall status. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt:LOG? - """ - - -class DiagResultFlag(SCPICmdRead): - """The ``DIAg:RESUlt:FLAg`` command. - - **Description:** - - This query returns the status of the diagnostic test area that has been selected. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt:FLAg? - """ - - -class DiagResult(SCPICmdRead): - """The ``DIAg:RESUlt`` command. - - **Description:** - - This query returns both the overall diagnostics test results and the results of each - individual test area. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt? - - Properties: - - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. - - ``.log``: The ``DIAg:RESUlt:LOG`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._flag = DiagResultFlag(device, f"{self._cmd_syntax}:FLAg") - self._log = DiagResultLog(device, f"{self._cmd_syntax}:LOG") - - @property - def flag(self) -> DiagResultFlag: - """Return the ``DIAg:RESUlt:FLAg`` command. - - **Description:** - - This query returns the status of the diagnostic test area that has been selected. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt:FLAg?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:FLAg?`` query and - raise an AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt:FLAg? - """ - return self._flag - - @property - def log(self) -> DiagResultLog: - """Return the ``DIAg:RESUlt:LOG`` command. - - **Description:** - - This query returns the test Pass/Fail status of each diagnostic area. It does not - return the overall status. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt:LOG?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt:LOG?`` query and raise - an AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt:LOG? - """ - return self._log - - -class DiagMode(SCPICmdWrite, SCPICmdRead): - """The ``DIAg:MODe`` command. - - **Description:** - - This command sets or queries the diagnostics mode. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:MODe {POST|EXTENDED|SERVICE} - - DIAg:MODe? - - **Info:** - - ``POST`` specifies the power on self test diagnostics. - - ``EXTENDED`` specifies the extended diagnostics. - - ``SERVICE`` specifies the service diagnostics. - """ - - -class DiagLoopStop(SCPICmdWriteNoArguments): - """The ``DIAg:LOOP:STOP`` command. - - **Description:** - - Request that diagnostics stop looping. - - **Usage:** - - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:STOP - """ - - -class DiagLoopOptionNtimes(SCPICmdWrite, SCPICmdRead): - """The ``DIAg:LOOP:OPTion:NTIMes`` command. - - **Description:** - - This command sets or queries how many loops to run, if N-times is being used. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` - command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:OPTion:NTIMes - - DIAg:LOOP:OPTion:NTIMes? - - **Info:** - - ```` is how many loops to run. - """ - - -class DiagLoopOption(SCPICmdWrite, SCPICmdRead): - """The ``DIAg:LOOP:OPTion`` command. - - **Description:** - - This command sets or queries the type of looping desired. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} - - DIAg:LOOP:OPTion? - - **Info:** - - ``Fail`` - run until a failure is found, then halt. - - ``Once`` - run through one loop. - - ``Always`` - run forever. - - ``Onfail`` - run until a failure is found, then loop on it. - - ``Ntimes`` - run n number of loops. - - Properties: - - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._ntimes = DiagLoopOptionNtimes(device, f"{self._cmd_syntax}:NTIMes") - - @property - def ntimes(self) -> DiagLoopOptionNtimes: - """Return the ``DIAg:LOOP:OPTion:NTIMes`` command. - - **Description:** - - This command sets or queries how many loops to run, if N-times is being used. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion:NTIMes value`` - command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:OPTion:NTIMes - - DIAg:LOOP:OPTion:NTIMes? - - **Info:** - - ```` is how many loops to run. - """ - return self._ntimes - - -class DiagLoop(SCPICmdRead): - """The ``DIAg:LOOP`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.option``: The ``DIAg:LOOP:OPTion`` command. - - ``.stop``: The ``DIAg:LOOP:STOP`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._option = DiagLoopOption(device, f"{self._cmd_syntax}:OPTion") - self._stop = DiagLoopStop(device, f"{self._cmd_syntax}:STOP") - - @property - def option(self) -> DiagLoopOption: - """Return the ``DIAg:LOOP:OPTion`` command. - - **Description:** - - This command sets or queries the type of looping desired. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP:OPTion?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP:OPTion?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:LOOP:OPTion value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:OPTion {FAIL|ONCE|ALWAYS|ONFAIL|NTIMES} - - DIAg:LOOP:OPTion? - - **Info:** - - ``Fail`` - run until a failure is found, then halt. - - ``Once`` - run through one loop. - - ``Always`` - run forever. - - ``Onfail`` - run until a failure is found, then loop on it. - - ``Ntimes`` - run n number of loops. - - Sub-properties: - - ``.ntimes``: The ``DIAg:LOOP:OPTion:NTIMes`` command. - """ - return self._option - - @property - def stop(self) -> DiagLoopStop: - """Return the ``DIAg:LOOP:STOP`` command. - - **Description:** - - Request that diagnostics stop looping. - - **Usage:** - - Using the ``.write()`` method will send the ``DIAg:LOOP:STOP`` command. - - **SCPI Syntax:** - - :: - - - DIAg:LOOP:STOP - """ - return self._stop - - -class Diag(SCPICmdRead): - """The ``DIAg`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.loop``: The ``DIAg:LOOP`` command tree. - - ``.mode``: The ``DIAg:MODe`` command. - - ``.result``: The ``DIAg:RESUlt`` command. - - ``.select``: The ``DIAg:SELect`` command. - - ``.state``: The ``DIAg:STATE`` command. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "DIAg") -> None: - super().__init__(device, cmd_syntax) - self._loop = DiagLoop(device, f"{self._cmd_syntax}:LOOP") - self._mode = DiagMode(device, f"{self._cmd_syntax}:MODe") - self._result = DiagResult(device, f"{self._cmd_syntax}:RESUlt") - self._select = DiagSelect(device, f"{self._cmd_syntax}:SELect") - self._state = DiagState(device, f"{self._cmd_syntax}:STATE") - - @property - def loop(self) -> DiagLoop: - """Return the ``DIAg:LOOP`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:LOOP?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:LOOP?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.option``: The ``DIAg:LOOP:OPTion`` command. - - ``.stop``: The ``DIAg:LOOP:STOP`` command. - """ - return self._loop - - @property - def mode(self) -> DiagMode: - """Return the ``DIAg:MODe`` command. - - **Description:** - - This command sets or queries the diagnostics mode. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:MODe?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:MODe?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:MODe value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:MODe {POST|EXTENDED|SERVICE} - - DIAg:MODe? - - **Info:** - - ``POST`` specifies the power on self test diagnostics. - - ``EXTENDED`` specifies the extended diagnostics. - - ``SERVICE`` specifies the service diagnostics. - """ - return self._mode - - @property - def result(self) -> DiagResult: - """Return the ``DIAg:RESUlt`` command. - - **Description:** - - This query returns both the overall diagnostics test results and the results of each - individual test area. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:RESUlt?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:RESUlt?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - DIAg:RESUlt? - - Sub-properties: - - ``.flag``: The ``DIAg:RESUlt:FLAg`` command. - - ``.log``: The ``DIAg:RESUlt:LOG`` command. - """ - return self._result - - @property - def select(self) -> DiagSelect: - """Return the ``DIAg:SELect`` command. - - **Description:** - - This command selects or queries an available diagnostic area. - - **Usage:** - - Using the ``.query()`` method will send the ``DIAg:SELect?`` query. - - Using the ``.verify(value)`` method will send the ``DIAg:SELect?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``DIAg:SELect value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:SELect {ALL|IO|ANALOG|SYSTEM|ASIC|ACQ|SIGNAL|MEMORY} - - DIAg:SELect? - - **Info:** - - ``ALL`` selects all diagnostic areas. - - ``IO`` selects the IO group. - - ``ANALOG`` selects the ANALOG diagnostic area. - - ``SYSTEM`` selects the SYSTEM diagnostic area. - - ``ASIC`` selects the ASIC diagnostic area. - - ``ACQ`` selects the ACQ diagnostic area. - - ``SIGNAL`` selects the SIGNAL diagnostic area. - - ``MEMORY`` selects the MEMORY diagnostic area. - """ - return self._select - - @property - def state(self) -> DiagState: - """Return the ``DIAg:STATE`` command. - - **Description:** - - This command starts or aborts Self Test. Abort happens after group under test - completes. - - **Usage:** - - Using the ``.write(value)`` method will send the ``DIAg:STATE value`` command. - - **SCPI Syntax:** - - :: - - - DIAg:STATE {EXECute|ABOrt} - - **Info:** - - ``EXECUTE`` starts execution of the diagnostics. - - ``ABOrt`` disables diagnostics capabilities and returns the instrument to a normal - operating state. - """ - return self._state diff --git a/src/tm_devices/commands/_c69b1_lpdmso/ref.py b/src/tm_devices/commands/_c69b1_lpdmso/ref.py deleted file mode 100644 index 17f196f4..00000000 --- a/src/tm_devices/commands/_c69b1_lpdmso/ref.py +++ /dev/null @@ -1,850 +0,0 @@ -"""The ref commands module. - -These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B - -THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. - -Please report an issue if one is found. - -Commands and Queries: - -:: - - - REF:ADDNew - - REF:DELete - - REF:LIST? - - REF:REF:DESKew - - REF:REF:LABel:COLor - - REF:REF:LABel:FONT:BOLD {|OFF|ON} - - REF:REF:LABel:FONT:ITALic {|OFF|ON} - - REF:REF:LABel:FONT:SIZE - - REF:REF:LABel:FONT:TYPE - - REF:REF:LABel:FONT:UNDERline {|OFF|ON} - - REF:REF:LABel:NAMe - - REF:REF:LABel:NAMe? - - REF:REF:LABel:XPOS - - REF:REF:LABel:XPOS? - - REF:REF:LABel:YPOS - - REF:REF:LABel:YPOS? - - REF:REF:SOUrce -""" -from typing import Dict, Optional, TYPE_CHECKING - -from .._helpers import ( - DefaultDictPassKeyToFactory, - SCPICmdRead, - SCPICmdWrite, - ValidatedDynamicNumberCmd, -) - -if TYPE_CHECKING: - from tm_devices.drivers.pi.pi_device import PIDevice - - -class RefRefItemSource(SCPICmdWrite): - """The ``REF:REF:SOUrce`` command. - - **Description:** - - This command sets or queries the filename used by the given reference. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:SOUrce - - **Info:** - - ```` is the reference file name. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefRefItemLabelYpos(SCPICmdWrite, SCPICmdRead): - """The ``REF:REF:LABel:YPOS`` command. - - **Description:** - - This command sets or queries the Y-position of the label (attached to the displayed - waveform of the specified reference), relative to the baseline of the waveform. The - reference waveform is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:YPOS - - REF:REF:LABel:YPOS? - - **Info:** - - ```` is the location where the waveform label for the selected reference is - displayed, relative to the baseline of the waveform. - """ - - -class RefRefItemLabelXpos(SCPICmdWrite, SCPICmdRead): - """The ``REF:REF:LABel:XPOS`` command. - - **Description:** - - This command sets or queries the X-position at which the label (attached to the displayed - waveform of the specified reference) is displayed, relative to the left edge of the - waveview. The reference waveform is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:XPOS - - REF:REF:LABel:XPOS? - - **Info:** - - ```` is the location (control in divisions) where the waveform label for the selected - reference is displayed, relative to the left edge of the screen. - """ - - -class RefRefItemLabelName(SCPICmdWrite, SCPICmdRead): - """The ``REF:REF:LABel:NAMe`` command. - - **Description:** - - This command sets or queries the label of the specified reference. The reference waveform - is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:NAMe - - REF:REF:LABel:NAMe? - - **Info:** - - ```` is the character string that will be used for the reference waveform label - name. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefRefItemLabelFontUnderline(SCPICmdWrite): - """The ``REF:REF:LABel:FONT:UNDERline`` command. - - **Description:** - - This command sets or queries the underline state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:UNDERline {|OFF|ON} - - **Info:** - - ```` = 0 disables underline font; any other value turns this feature on. - - ``OFF`` disables underline font. - - ``ON`` enables underline font. - """ - - -class RefRefItemLabelFontType(SCPICmdWrite): - """The ``REF:REF:LABel:FONT:TYPE`` command. - - **Description:** - - This command sets or queries the font type of the specified reference label, such as Arial - or Times New Roman. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:TYPE - - **Info:** - - ```` is the font type. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefRefItemLabelFontSize(SCPICmdWrite): - """The ``REF:REF:LABel:FONT:SIZE`` command. - - **Description:** - - This command sets or queries the font size of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:SIZE - - **Info:** - - ```` is the font size of the label. - """ - - -class RefRefItemLabelFontItalic(SCPICmdWrite): - """The ``REF:REF:LABel:FONT:ITALic`` command. - - **Description:** - - This command sets or queries the italic state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:ITALic value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:ITALic {|OFF|ON} - - **Info:** - - ```` = 0 disables italic font; any other value turns this feature on. - - ``OFF`` disables italic font. - - ``ON`` enables italic font. - """ - - -class RefRefItemLabelFontBold(SCPICmdWrite): - """The ``REF:REF:LABel:FONT:BOLD`` command. - - **Description:** - - This command sets or queries the bold state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:BOLD {|OFF|ON} - - **Info:** - - ```` = 0 disables bold font; any other value turns this feature on. - - ``OFF`` disables bold font. - - ``ON`` enables bold font. - """ - - -class RefRefItemLabelFont(SCPICmdRead): - """The ``REF:REF:LABel:FONT`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bold = RefRefItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") - self._italic = RefRefItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") - self._size = RefRefItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") - self._type = RefRefItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") - self._underline = RefRefItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") - - @property - def bold(self) -> RefRefItemLabelFontBold: - """Return the ``REF:REF:LABel:FONT:BOLD`` command. - - **Description:** - - This command sets or queries the bold state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:BOLD {|OFF|ON} - - **Info:** - - ```` = 0 disables bold font; any other value turns this feature on. - - ``OFF`` disables bold font. - - ``ON`` enables bold font. - """ - return self._bold - - @property - def italic(self) -> RefRefItemLabelFontItalic: - """Return the ``REF:REF:LABel:FONT:ITALic`` command. - - **Description:** - - This command sets or queries the italic state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the - ``REF:REF:LABel:FONT:ITALic value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:ITALic {|OFF|ON} - - **Info:** - - ```` = 0 disables italic font; any other value turns this feature on. - - ``OFF`` disables italic font. - - ``ON`` enables italic font. - """ - return self._italic - - @property - def size(self) -> RefRefItemLabelFontSize: - """Return the ``REF:REF:LABel:FONT:SIZE`` command. - - **Description:** - - This command sets or queries the font size of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:SIZE - - **Info:** - - ```` is the font size of the label. - """ - return self._size - - @property - def type(self) -> RefRefItemLabelFontType: - """Return the ``REF:REF:LABel:FONT:TYPE`` command. - - **Description:** - - This command sets or queries the font type of the specified reference label, such as - Arial or Times New Roman. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:TYPE - - **Info:** - - ```` is the font type. - """ - return self._type - - @property - def underline(self) -> RefRefItemLabelFontUnderline: - """Return the ``REF:REF:LABel:FONT:UNDERline`` command. - - **Description:** - - This command sets or queries the underline state of the specified reference label. - - **Usage:** - - Using the ``.write(value)`` method will send the - ``REF:REF:LABel:FONT:UNDERline value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:FONT:UNDERline {|OFF|ON} - - **Info:** - - ```` = 0 disables underline font; any other value turns this feature on. - - ``OFF`` disables underline font. - - ``ON`` enables underline font. - """ - return self._underline - - -class RefRefItemLabelColor(SCPICmdWrite): - """The ``REF:REF:LABel:COLor`` command. - - **Description:** - - This command sets or queries the color of the specified ref label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:COLor - - **Info:** - - ```` is the label. To return the color to the default color, send an empty string - as in this example: ``:REF:REF1:LABEL:COLOR`` ''. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefRefItemLabel(SCPICmdRead): - """The ``REF:REF:LABel`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.color``: The ``REF:REF:LABel:COLor`` command. - - ``.font``: The ``REF:REF:LABel:FONT`` command tree. - - ``.name``: The ``REF:REF:LABel:NAMe`` command. - - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. - - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._color = RefRefItemLabelColor(device, f"{self._cmd_syntax}:COLor") - self._font = RefRefItemLabelFont(device, f"{self._cmd_syntax}:FONT") - self._name = RefRefItemLabelName(device, f"{self._cmd_syntax}:NAMe") - self._xpos = RefRefItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") - self._ypos = RefRefItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") - - @property - def color(self) -> RefRefItemLabelColor: - """Return the ``REF:REF:LABel:COLor`` command. - - **Description:** - - This command sets or queries the color of the specified ref label. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:COLor - - **Info:** - - ```` is the label. To return the color to the default color, send an empty - string as in this example: ``:REF:REF1:LABEL:COLOR`` ''. - """ - return self._color - - @property - def font(self) -> RefRefItemLabelFont: - """Return the ``REF:REF:LABel:FONT`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. - """ - return self._font - - @property - def name(self) -> RefRefItemLabelName: - """Return the ``REF:REF:LABel:NAMe`` command. - - **Description:** - - This command sets or queries the label of the specified reference. The reference - waveform is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:NAMe - - REF:REF:LABel:NAMe? - - **Info:** - - ```` is the character string that will be used for the reference waveform - label name. - """ - return self._name - - @property - def xpos(self) -> RefRefItemLabelXpos: - """Return the ``REF:REF:LABel:XPOS`` command. - - **Description:** - - This command sets or queries the X-position at which the label (attached to the - displayed waveform of the specified reference) is displayed, relative to the left edge - of the waveview. The reference waveform is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:XPOS - - REF:REF:LABel:XPOS? - - **Info:** - - ```` is the location (control in divisions) where the waveform label for the - selected reference is displayed, relative to the left edge of the screen. - """ - return self._xpos - - @property - def ypos(self) -> RefRefItemLabelYpos: - """Return the ``REF:REF:LABel:YPOS`` command. - - **Description:** - - This command sets or queries the Y-position of the label (attached to the displayed - waveform of the specified reference), relative to the baseline of the waveform. The - reference waveform is specified by x. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` - command. - - **SCPI Syntax:** - - :: - - - REF:REF:LABel:YPOS - - REF:REF:LABel:YPOS? - - **Info:** - - ```` is the location where the waveform label for the selected reference is - displayed, relative to the baseline of the waveform. - """ - return self._ypos - - -class RefRefItemDeskew(SCPICmdWrite): - """The ``REF:REF:DESKew`` command. - - **Description:** - - This command sets or queries the deskew value used for the specified reference. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:DESKew - - **Info:** - - ```` is the deskew value used for the specified reference. - """ - - -class RefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): - """The ``REF:REF`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.deskew``: The ``REF:REF:DESKew`` command. - - ``.label``: The ``REF:REF:LABel`` command tree. - - ``.source``: The ``REF:REF:SOUrce`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._deskew = RefRefItemDeskew(device, f"{self._cmd_syntax}:DESKew") - self._label = RefRefItemLabel(device, f"{self._cmd_syntax}:LABel") - self._source = RefRefItemSource(device, f"{self._cmd_syntax}:SOUrce") - - @property - def deskew(self) -> RefRefItemDeskew: - """Return the ``REF:REF:DESKew`` command. - - **Description:** - - This command sets or queries the deskew value used for the specified reference. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:DESKew - - **Info:** - - ```` is the deskew value used for the specified reference. - """ - return self._deskew - - @property - def label(self) -> RefRefItemLabel: - """Return the ``REF:REF:LABel`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.color``: The ``REF:REF:LABel:COLor`` command. - - ``.font``: The ``REF:REF:LABel:FONT`` command tree. - - ``.name``: The ``REF:REF:LABel:NAMe`` command. - - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. - - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. - """ - return self._label - - @property - def source(self) -> RefRefItemSource: - """Return the ``REF:REF:SOUrce`` command. - - **Description:** - - This command sets or queries the filename used by the given reference. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. - - **SCPI Syntax:** - - :: - - - REF:REF:SOUrce - - **Info:** - - ```` is the reference file name. - """ - return self._source - - -class RefList(SCPICmdRead): - """The ``REF:LIST`` command. - - **Description:** - - This command returns a comma separated list of all currently defined references. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:LIST?`` query. - - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - REF:LIST? - """ - - -class RefDelete(SCPICmdWrite): - """The ``REF:DELete`` command. - - **Description:** - - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. - - **SCPI Syntax:** - - :: - - - REF:DELete - - **Info:** - - ```` is the specified reference. Argument is of the form 'REF', where NR1 ≥ - 1. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefAddnew(SCPICmdWrite): - """The ``REF:ADDNew`` command. - - **Description:** - - This command adds the specified reference. Argument is of the form 'REF ', where NR1 - ≥ 1. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. - - **SCPI Syntax:** - - :: - - - REF:ADDNew - - **Info:** - - ```` is the specified reference. Argument is of the form 'REF ', where NR1 ≥ - 1. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class Ref(SCPICmdRead): - """The ``REF`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF?`` query. - - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.addnew``: The ``REF:ADDNew`` command. - - ``.delete``: The ``REF:DELete`` command. - - ``.list``: The ``REF:LIST`` command. - - ``.ref``: The ``REF:REF`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: - super().__init__(device, cmd_syntax) - self._addnew = RefAddnew(device, f"{self._cmd_syntax}:ADDNew") - self._delete = RefDelete(device, f"{self._cmd_syntax}:DELete") - self._list = RefList(device, f"{self._cmd_syntax}:LIST") - self._ref: Dict[int, RefRefItem] = DefaultDictPassKeyToFactory( - lambda x: RefRefItem(device, f"{self._cmd_syntax}:REF{x}") - ) - - @property - def addnew(self) -> RefAddnew: - """Return the ``REF:ADDNew`` command. - - **Description:** - - This command adds the specified reference. Argument is of the form 'REF ', where - NR1 ≥ 1. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. - - **SCPI Syntax:** - - :: - - - REF:ADDNew - - **Info:** - - ```` is the specified reference. Argument is of the form 'REF ', where - NR1 ≥ 1. - """ - return self._addnew - - @property - def delete(self) -> RefDelete: - """Return the ``REF:DELete`` command. - - **Description:** - - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. - - **Usage:** - - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. - - **SCPI Syntax:** - - :: - - - REF:DELete - - **Info:** - - ```` is the specified reference. Argument is of the form 'REF', where - NR1 ≥ 1. - """ - return self._delete - - @property - def list(self) -> RefList: - """Return the ``REF:LIST`` command. - - **Description:** - - This command returns a comma separated list of all currently defined references. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:LIST?`` query. - - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an - AssertionError if the returned value does not match ``value``. - - **SCPI Syntax:** - - :: - - - REF:LIST? - """ - return self._list - - @property - def ref(self) -> Dict[int, RefRefItem]: - """Return the ``REF:REF`` command tree. - - **Usage:** - - Using the ``.query()`` method will send the ``REF:REF?`` query. - - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.deskew``: The ``REF:REF:DESKew`` command. - - ``.label``: The ``REF:REF:LABel`` command tree. - - ``.source``: The ``REF:REF:SOUrce`` command. - """ - return self._ref diff --git a/tests/test_docs.py b/tests/test_docs.py index 9e5a29a5..e3f8de70 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -41,7 +41,6 @@ def test_docs_html(self) -> None: """Test creating html documentation.""" subprocess.check_call(shlex.split("make html")) # noqa: S603 - @pytest.mark.xfail(reason="package is not yet on pypi.org") @pytest.mark.order(2) def test_docs_linkcheck(self) -> None: """Run the linkcheck test for the documentation.""" From bd97781b1fe5a904db06e5c0bc3c4aa008d588f2 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Fri, 3 Nov 2023 11:36:21 -0700 Subject: [PATCH 12/50] docs: Update basic usage with better wording for examples. (#83) --- docs/basic_usage.md | 16 ++++++++++++---- .../driver_mixins/class_extension_mixin.py | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/basic_usage.md b/docs/basic_usage.md index fcfaf591..cc89f6c5 100644 --- a/docs/basic_usage.md +++ b/docs/basic_usage.md @@ -17,6 +17,13 @@ This will print the available VISA devices to the console when run from a shell ## Adding devices +Configure device connections as needed using the +[config file](configuration.md#config-file), an +[environment variable](configuration.md#environment-variable), or +via [Python code](configuration.md#python-code) (shown here). See the +[Configuration guide](configuration.md) for more information on how to +configure devices to connect with. + ```{literalinclude} ../examples/miscellaneous/adding_devices.py --- language: python @@ -35,9 +42,10 @@ language: python ## Adding devices with environment variables -Configure device environment variables as needed using the config file or -[Python](#adding-devices). See the [Configuration guide](configuration.md) for -more information on how to do that. +Device configuration information can be defined in an +[environment variable](configuration.md#environment-variable), usually done +outside the Python code for ease of automation +(shown inside the Python code here for demonstration purposes). ```{literalinclude} ../examples/miscellaneous/adding_devices_with_env_var.py --- @@ -148,6 +156,6 @@ In order to do this a few things will need to be created: ```{literalinclude} ../examples/miscellaneous/custom_device_driver_support.py --- language: python -emphasize-lines: 9-14,21-23,26 +emphasize-lines: 7-12,19-21,28-30 --- ``` diff --git a/src/tm_devices/driver_mixins/class_extension_mixin.py b/src/tm_devices/driver_mixins/class_extension_mixin.py index 894c2c0c..d8550506 100644 --- a/src/tm_devices/driver_mixins/class_extension_mixin.py +++ b/src/tm_devices/driver_mixins/class_extension_mixin.py @@ -114,7 +114,7 @@ def wrap(function: Callable[[_EM], _T]) -> None: # Handle being called as @add_property() with parens. if method is None: - return wrap + return wrap # pyright: ignore[reportUnknownVariableType] # called as @add_property without parens. return wrap(method) From 24ccf204885d293fd00c477f94506de5f1f42ddf Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 6 Nov 2023 10:58:28 -0800 Subject: [PATCH 13/50] Update the basic usage docs and Readme (#84) * docs: Add new examples to the basic usage guide. Also updated some package development dependencies. * docs: Added a new table showing the support levels for software solutions. Also updated the support levels for all the devices. --- .pre-commit-config.yaml | 8 +- CHANGELOG.md | 10 +++ README.rst | 86 +++++++++++-------- docs/basic_usage.md | 32 +++++++ docs/glossary.md | 3 + .../visa_connection_selectivity.py | 18 ++++ .../scopes/tekscope/get_acquisition_data.py | 48 +++++++++++ .../dpojet/adding_dpojet_measurements.py | 51 +++++++++++ pyproject.toml | 4 +- 9 files changed, 219 insertions(+), 41 deletions(-) create mode 100644 examples/miscellaneous/visa_connection_selectivity.py create mode 100644 examples/scopes/tekscope/get_acquisition_data.py create mode 100644 examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0447f5ba..c7750715 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: remove-tabs - id: forbid-tabs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.27.0 + rev: 0.27.1 hooks: - id: check-readthedocs - id: check-dependabot @@ -50,7 +50,7 @@ repos: hooks: - id: blacken-docs - repo: https://github.com/lyz-code/yamlfix/ - rev: 1.13.0 + rev: 1.15.0 hooks: - id: yamlfix - repo: https://github.com/executablebooks/mdformat @@ -122,12 +122,12 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: v0.1.1 + rev: v0.1.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - repo: https://github.com/psf/black - rev: 23.10.0 + rev: 23.10.1 hooks: - id: black - repo: https://github.com/PyCQA/docformatter diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7dd4ed..7d1babbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,16 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Added + +- New examples added to the basic usage guide showing how to use the commands for some scope drivers +- Added an example showing how to change the VISA backend that is used for connecting to devices +- Added a new support table in the Readme showing the API support for Software Solutions + +### Changed + +- Updated the support level tables in the Readme + ### Removed - Removed some outdated and broken API files diff --git a/README.rst b/README.rst index 748170ba..468ed1de 100644 --- a/README.rst +++ b/README.rst @@ -164,8 +164,8 @@ Basic Script print(scope) -Supported Devices -~~~~~~~~~~~~~~~~~ +Supported Devices & Software Solutions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. admonition:: Legend :class: hint @@ -194,33 +194,33 @@ Supported Devices | Control", "| Python API | Validation | Status" - :term:`AFGs `, **AFG3000**, :term:`PI`, ✅, 🚧 + :term:`AFGs `, **AFG3000**, :term:`PI`, ✅, , **AFG31xxx**, :term:`PI`, ✅, - :term:`AWGs `, **AWG5000**, :term:`PI`, ✅, 🚧 - , **AWG5200**, :term:`PI`, ✅, 🚧 - , **AWG7000**, :term:`PI`, ✅, 🚧 - , **AWG70000**, :term:`PI`, ✅, 🚧 - :term:`Scopes `, **2 Series MSO**, :term:`PI`, ✅, 🚧 - , **3 Series MDO**, :term:`PI`, ✅, 🚧 - , **4 Series MSO**, :term:`PI`, ✅, 🚧 - , **5 Series MSO**, :term:`PI`, ✅, 🚧 - , **5 Series B MSO**, :term:`PI`, ✅, 🚧 - , **5 Series MSO (LP)**, :term:`PI`, ✅, 🚧 - , **6 Series MSO**, :term:`PI`, ✅, 🚧 - , **6 Series B MSO**, :term:`PI`, ✅, 🚧 - , **6 Series LPD**, :term:`PI`, ✅, 🚧 - , **MSO2000/B**, :term:`PI`, ✅, 🚧 - , **DPO2000/B**, :term:`PI`, ✅, 🚧 - , **MDO3000**, :term:`PI`, ✅, 🚧 - , **MDO4000/B/C**, :term:`PI`, ✅, 🚧 - , **MSO4000/B**, :term:`PI`, ✅, 🚧 - , **DPO4000/B**, :term:`PI`, ✅, 🚧 - , **MSO5000/B**, :term:`PI`, ✅, 🚧 - , **DPO5000/B**, :term:`PI`, ✅, 🚧 - , **DPO7000/C**, :term:`PI`, ✅, 🚧 + :term:`AWGs `, **AWG5000**, :term:`PI`, ✅, + , **AWG5200**, :term:`PI`, ✅, + , **AWG7000**, :term:`PI`, ✅, + , **AWG70000**, :term:`PI`, ✅, + :term:`Scopes `, **2 Series MSO**, :term:`PI`, ✅, ✅ + , **3 Series MDO**, :term:`PI`, ✅, + , **4 Series MSO**, :term:`PI`, ✅, ✅ + , **5 Series MSO**, :term:`PI`, ✅, ✅ + , **5 Series B MSO**, :term:`PI`, ✅, ✅ + , **5 Series MSO (LP)**, :term:`PI`, ✅, ✅ + , **6 Series MSO**, :term:`PI`, ✅, ✅ + , **6 Series B MSO**, :term:`PI`, ✅, ✅ + , **6 Series LPD**, :term:`PI`, ✅, ✅ + , **MSO2000/B**, :term:`PI`, ✅, + , **DPO2000/B**, :term:`PI`, ✅, + , **MDO3000**, :term:`PI`, ✅, + , **MDO4000/B/C**, :term:`PI`, ✅, + , **MSO4000/B**, :term:`PI`, ✅, + , **DPO4000/B**, :term:`PI`, ✅, + , **MSO5000/B**, :term:`PI`, ✅, + , **DPO5000/B**, :term:`PI`, ✅, ✅ + , **DPO7000/C**, :term:`PI`, ✅, ✅ , **DPO70000/C/D/DX/SX**, :term:`PI`, ✅, 🚧 , **DSA70000/C/D**, :term:`PI`, ✅, 🚧 - , **MSO70000/C/DX**, :term:`PI`, ✅, 🚧 + , **MSO70000/C/DX**, :term:`PI`, ✅, ✅ , **TSOVu**, :term:`PI`, ✅, , **TekScope**, :term:`PI`, ✅, :term:`PSUs `, **2200**, :term:`PI`, ✅, @@ -230,21 +230,37 @@ Supported Devices , **2280S**, :term:`PI`, ✅, , **2281S**, :term:`PI`, ✅, :term:`SMUs `, **24xx Standard**, :term:`PI`, ✅, - , **24xx Interactive**, :term:`TSP`, ✅, 🚧 - , **26xxB**, :term:`TSP`, ✅, 🚧 - , **Model 2601B-PULSE**, :term:`TSP`, ✅, 🚧 + , **24xx Interactive**, :term:`TSP`, ✅, ✅ + , **26xxB**, :term:`TSP`, ✅, ✅ + , **Model 2601B-PULSE**, :term:`TSP`, ✅, , **Model 2606B**, :term:`TSP`, ✅, 🚧 - , **2651A**, :term:`TSP`, ✅, 🚧 - , **2657A**, :term:`TSP`, ✅, 🚧 + , **2651A**, :term:`TSP`, ✅, + , **2657A**, :term:`TSP`, ✅, , **6430 (electrometer)**, :term:`PI`, ✅, , **6514 (electrometer)**, :term:`PI`, ✅, , **6517B (electrometer)**, :term:`PI`, ✅, :term:`MTs `, **TMT4**, :term:`API`, ✅, - :term:`DMMs `, **DMM6500**, :term:`TSP`, ✅, 🚧 - , **DMM7510**, :term:`TSP`, ✅, 🚧 + :term:`DMMs `, **DMM6500**, :term:`TSP`, ✅, + , **DMM7510**, :term:`TSP`, ✅, , **DMM7512**, :term:`TSP`, ✅, - :term:`DAQs `, **DAQ6510**, :term:`TSP`, ✅, 🚧 - :term:`SSs `, **3706A**, :term:`TSP`, ✅, 🚧 + :term:`DAQs `, **DAQ6510**, :term:`TSP`, ✅, + :term:`SSs `, **3706A**, :term:`TSP`, ✅, + +.. csv-table:: Software Solution Support Levels + :name: software-solution-support-table + :align: center + :header-rows: 1 + :widths: auto + :stub-columns: 1 + :class: custom-table-center-cells device-support-table + + "| Software + | Solution", "| Command + | Type", "| Basic + | Control", "| Python API + | Validation + | Status" + :term:`DPOJET`, :term:`PI`, ✅, ✅ Supported Connections ~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/basic_usage.md b/docs/basic_usage.md index cc89f6c5..18357612 100644 --- a/docs/basic_usage.md +++ b/docs/basic_usage.md @@ -30,6 +30,16 @@ language: python --- ``` +## VISA backend selection + +The `DeviceManager` can be configured to use VISA backends from different VISA implementations. + +```{literalinclude} ../examples/miscellaneous/visa_connection_selectivity.py +--- +language: python +--- +``` + ## Alias usage Devices can be given custom alias names and can be referenced by that alias. @@ -105,6 +115,28 @@ language: python --- ``` +## Configuring a measurement on a single sequence + +A scope can be configured for a measurement on a single acquisition by setting the appropriate acquisition parameters +and adding the desired measurement on the selected channel. + +```{literalinclude} ../examples/scopes/tekscope/get_acquisition_data.py +--- +language: python +--- +``` + +## Adding DPOJET measurements and plots + +DPOJET measurements and plots can be added on a DPO70KSX/C/7KC/DPO5KB scope. +Measurements report can be saved in a `.pdf` format. + +```{literalinclude} ../examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py +--- +language: python +--- +``` + ## Directly accessing the PyVISA resource object The [PyVISA](https://pyvisa.readthedocs.io/en/latest/) resource object can be directly diff --git a/docs/glossary.md b/docs/glossary.md index 3e88e876..f48099da 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -18,6 +18,9 @@ DAQ DMM : Digital Multimeter +DPOJET +: A jitter, noise, timing, and eye diagram analysis tool for Tektronix Performance Digital Oscilloscopes + LP : Low Profile diff --git a/examples/miscellaneous/visa_connection_selectivity.py b/examples/miscellaneous/visa_connection_selectivity.py new file mode 100644 index 00000000..389c6d8e --- /dev/null +++ b/examples/miscellaneous/visa_connection_selectivity.py @@ -0,0 +1,18 @@ +"""An example script to choose visa from different visa resources.""" +from tm_devices import DeviceManager +from tm_devices.helpers import PYVISA_PY_BACKEND, SYSTEM_DEFAULT_VISA_BACKEND + +with DeviceManager(verbose=True) as device_manager: + # Explicitly specify to use the system VISA backend, this is the default, + # **this code is not required** to use the system default. + device_manager.visa_library = SYSTEM_DEFAULT_VISA_BACKEND + # The above code can also be replaced by: + device_manager.visa_library = "@ivi" + + # To use the PyVISA-py backend + device_manager.visa_library = PYVISA_PY_BACKEND + # The above code can also be replaced by: + device_manager.visa_library = "@py" + + scope = device_manager.add_scope("127.0.0.1") + print(scope) # This prints basic information of the connected scope. diff --git a/examples/scopes/tekscope/get_acquisition_data.py b/examples/scopes/tekscope/get_acquisition_data.py new file mode 100644 index 00000000..9bd6f32e --- /dev/null +++ b/examples/scopes/tekscope/get_acquisition_data.py @@ -0,0 +1,48 @@ +"""An example script for connecting and configuring scope for acquisition.""" +from tm_devices import DeviceManager +from tm_devices.drivers import MSO6B +from tm_devices.helpers import PYVISA_PY_BACKEND + +with DeviceManager(verbose=True) as device_manager: + # Enable resetting the devices when connecting and closing + device_manager.setup_cleanup_enabled = True + device_manager.teardown_cleanup_enabled = True + + # Use the PyVISA-py backend + device_manager.visa_library = PYVISA_PY_BACKEND + + # Creating Scope driver object by providing ip address. + scope: MSO6B = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportGeneralTypeIssues] + + # Make channel 1 ON + scope.commands.display.waveview1.ch[1].state.write("ON") + + # Set channel 1 vertical scale to 10mV + scope.commands.ch[1].scale.write(10e-3) + + # Set horizontal record length to 20000 + scope.commands.horizontal.recordlength.write(20000) + + # Set horizontal position to 100 + scope.commands.horizontal.position.write(10) + + # Set trigger type to Edge + scope.commands.trigger.a.type.write("EDGE") + + # Acquisition setup + scope.commands.acquire.state.write("OFF") + scope.commands.acquire.mode.write("Sample") + scope.commands.acquire.stopafter.write("Sequence") + + # Adding measurements + scope.commands.measurement.addmeas.write("AMPLitude") + scope.commands.measurement.addmeas.write("PK2PK") + scope.commands.measurement.meas[1].source.write("CH1") + scope.commands.measurement.meas[2].source.write("CH1") + + # Get the measurements values + scope.commands.acquire.state.write("ON") + + if int(scope.commands.opc.query()) == 1: + scope.commands.measurement.meas[1].results.currentacq.mean.query() + scope.commands.measurement.meas[2].results.currentacq.maximum.query() diff --git a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py new file mode 100644 index 00000000..6342dd61 --- /dev/null +++ b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py @@ -0,0 +1,51 @@ +"""An example of adding dpojet measurements and plots.""" + +from tm_devices import DeviceManager +from tm_devices.drivers import MSO70KDX +from tm_devices.helpers import PYVISA_PY_BACKEND + +with DeviceManager(verbose=True) as device_manager: + # Enable resetting the devices when connecting and closing + device_manager.setup_cleanup_enabled = True + device_manager.teardown_cleanup_enabled = True + + # Use the PyVISA-py backend + device_manager.visa_library = PYVISA_PY_BACKEND + + # Creating one 7K/70K/SX Scope driver object by providing ip address. + scope: MSO70KDX = device_manager.add_scope( + "127.0.0.1" + ) # pyright: ignore[reportGeneralTypeIssues] + + # Starting DPOJET + scope.commands.dpojet.activate.write() + scope.commands.dpojet.version.query() + + # CLear all measurements + scope.commands.dpojet.clearallmeas.write() + + # Add few DPOJET measurements + scope.commands.dpojet.addmeas.write("Period") + scope.commands.dpojet.addmeas.write("Pduty") + scope.commands.dpojet.addmeas.write("RiseTime") + scope.commands.dpojet.addmeas.write("acrms") + + # Add few DPOJET plots for these measurements + scope.commands.dpojet.addplot.write("spectrum, MEAS1") + scope.commands.dpojet.addplot.write("dataarray, MEAS2") + scope.commands.dpojet.addplot.write("TimeTrend, MEAS3") + scope.commands.dpojet.addplot.write("histogram, MEAS4") + + # Start a measurement + scope.commands.dpojet.state.write("single") + + # Get the measurement values for the current acquisition data + scope.commands.dpojet.meas[1].results.currentacq.max.query() + scope.commands.dpojet.meas[1].results.currentacq.population.query() + + # Save all plots + scope.commands.dpojet.saveallplots.write() + + # Save the report + scope.commands.dpojet.report.savewaveforms.write("1") + scope.commands.dpojet.report.write("EXECUTE") diff --git a/pyproject.toml b/pyproject.toml index 377aef3e..514c8bea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -116,7 +116,7 @@ pip = ">=22.0" poetry = ">=1.5.1" pre-commit = ">=2.20.0" pylint = {extras = ["spelling"], version = ">=3.0"} -pyright = ">=1.1.329" +pyright = ">=1.1.334" pyroma = ">=4.2" pytest = ">=7.1.2" pytest-cov = ">=3.0.0" @@ -124,7 +124,7 @@ pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" python-semantic-release = ">=8.0" -ruff = ">=0.0.292" +ruff = ">=0.1.4" safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" sphinx-copybutton = ">=0.5.1" From 3ad85477804274de05d7f7f5a44632ebfac3cc55 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 6 Nov 2023 13:13:58 -0800 Subject: [PATCH 14/50] fix: Update a few comments to have better wording. (#85) * fix: Update a few comments to have better wording. * ci: Update the dependabot config to group all package updates into a single PR. --- .github/dependabot.yml | 10 ++++++++-- examples/scopes/tekscope/get_acquisition_data.py | 6 +++--- .../tekscope_70k/dpojet/adding_dpojet_measurements.py | 5 ++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 65980731..9b86a0bd 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,7 +4,10 @@ updates: - package-ecosystem: github-actions directory: / schedule: - interval: monthly + interval: weekly + groups: + gh-actions-dependencies: + patterns: ['*'] labels: [gh-actions, dependencies] commit-message: prefix: gh-actions @@ -12,7 +15,10 @@ updates: - package-ecosystem: pip directory: / schedule: - interval: monthly + interval: weekly + groups: + python-dependencies: + patterns: ['*'] labels: [python, dependencies] commit-message: prefix: python-deps diff --git a/examples/scopes/tekscope/get_acquisition_data.py b/examples/scopes/tekscope/get_acquisition_data.py index 9bd6f32e..e91ce6d5 100644 --- a/examples/scopes/tekscope/get_acquisition_data.py +++ b/examples/scopes/tekscope/get_acquisition_data.py @@ -14,7 +14,7 @@ # Creating Scope driver object by providing ip address. scope: MSO6B = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportGeneralTypeIssues] - # Make channel 1 ON + # Turn on channel 1 scope.commands.display.waveview1.ch[1].state.write("ON") # Set channel 1 vertical scale to 10mV @@ -26,7 +26,7 @@ # Set horizontal position to 100 scope.commands.horizontal.position.write(10) - # Set trigger type to Edge + # Set trigger type to Edge scope.commands.trigger.a.type.write("EDGE") # Acquisition setup @@ -40,7 +40,7 @@ scope.commands.measurement.meas[1].source.write("CH1") scope.commands.measurement.meas[2].source.write("CH1") - # Get the measurements values + # Get the measurement values scope.commands.acquire.state.write("ON") if int(scope.commands.opc.query()) == 1: diff --git a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py index 6342dd61..75dca12b 100644 --- a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py +++ b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py @@ -1,5 +1,4 @@ """An example of adding dpojet measurements and plots.""" - from tm_devices import DeviceManager from tm_devices.drivers import MSO70KDX from tm_devices.helpers import PYVISA_PY_BACKEND @@ -24,13 +23,13 @@ # CLear all measurements scope.commands.dpojet.clearallmeas.write() - # Add few DPOJET measurements + # Add a few DPOJET measurements scope.commands.dpojet.addmeas.write("Period") scope.commands.dpojet.addmeas.write("Pduty") scope.commands.dpojet.addmeas.write("RiseTime") scope.commands.dpojet.addmeas.write("acrms") - # Add few DPOJET plots for these measurements + # Add a few DPOJET plots for the measurements scope.commands.dpojet.addplot.write("spectrum, MEAS1") scope.commands.dpojet.addplot.write("dataarray, MEAS2") scope.commands.dpojet.addplot.write("TimeTrend, MEAS3") From a103e13f317b9fda80edd6623afc628052c3da04 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 6 Nov 2023 14:40:39 -0800 Subject: [PATCH 15/50] ci: Added a workflow to scan for security issues in dependencies on all PRs. (#91) * ci: Added a workflow to scan for security issues in dependencies on all PRs. --- .github/workflows/dependency-review.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/dependency-review.yml diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 00000000..4f8ec0b7 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,17 @@ +--- +name: Pull Request Dependency Review +on: + pull_request: + branches: [main] +permissions: + contents: read + pull-requests: write +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/dependency-review-action@v3 + with: + fail-on-severity: low + comment-summary-in-pr: on-failure From 8da46f2cfae6dcc591b5adde580055e7d081e552 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 23:55:16 +0000 Subject: [PATCH 16/50] gh-actions(deps): Bump the gh-actions-dependencies group with 5 updates (#93) Bumps the gh-actions-dependencies group with 5 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `3` | `4` | | [hynek/build-and-inspect-python-package](https://github.com/hynek/build-and-inspect-python-package) | `1.5.3` | `1.5.4` | | [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) | `1.8.8` | `1.8.10` | | [actions/setup-node](https://github.com/actions/setup-node) | `3` | `4` | | [thedoctor0/zip-release](https://github.com/thedoctor0/zip-release) | `0.7.1` | `0.7.6` | Updates `actions/checkout` from 3 to 4 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) Updates `hynek/build-and-inspect-python-package` from 1.5.3 to 1.5.4 - [Release notes](https://github.com/hynek/build-and-inspect-python-package/releases) - [Changelog](https://github.com/hynek/build-and-inspect-python-package/blob/main/CHANGELOG.md) - [Commits](https://github.com/hynek/build-and-inspect-python-package/compare/v1.5.3...v1.5.4) Updates `pypa/gh-action-pypi-publish` from 1.8.8 to 1.8.10 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.8...v1.8.10) Updates `actions/setup-node` from 3 to 4 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) Updates `thedoctor0/zip-release` from 0.7.1 to 0.7.6 - [Release notes](https://github.com/thedoctor0/zip-release/releases) - [Commits](https://github.com/thedoctor0/zip-release/compare/0.7.1...0.7.6) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: hynek/build-and-inspect-python-package dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: thedoctor0/zip-release dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/package-build.yml | 4 ++-- .github/workflows/package-release.yml | 12 ++++++------ .github/workflows/package-testpypi.yml | 6 +++--- .github/workflows/tek-repo-lint.yml | 10 +++++----- .github/workflows/test-code.yml | 4 ++-- .github/workflows/test-docs.yml | 6 +++--- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b0b54d1c..75a2fae0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -22,7 +22,7 @@ jobs: language: [python] steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index 4361e36e..90cead88 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -13,10 +13,10 @@ jobs: runs-on: ubuntu-latest environment: package-build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: hynek/build-and-inspect-python-package@v1.5.3 + - uses: hynek/build-and-inspect-python-package@v1.5.4 id: build-pkg - name: Set up Python uses: actions/setup-python@v4 diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 421ad8ec..8420775f 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -28,7 +28,7 @@ jobs: id-token: write contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} @@ -61,12 +61,12 @@ jobs: if: github.repository == 'tektronix/tm_devices' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5.3 + uses: hynek/build-and-inspect-python-package@v1.5.4 upload-testpypi: name: Upload package to TestPyPI needs: [pypi-build] @@ -82,7 +82,7 @@ jobs: name: Packages path: dist - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.8.8 + uses: pypa/gh-action-pypi-publish@v1.8.10 with: repository-url: https://test.pypi.org/legacy/ upload-pypi: @@ -100,7 +100,7 @@ jobs: name: Packages path: dist - name: Upload package to PyPI - uses: pypa/gh-action-pypi-publish@v1.8.8 + uses: pypa/gh-action-pypi-publish@v1.8.10 upload-github: name: Upload package to GitHub Release needs: [upload-pypi] @@ -110,7 +110,7 @@ jobs: id-token: write contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 3ada48e8..1f147950 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -12,7 +12,7 @@ jobs: if: github.repository == 'tektronix/tm_devices' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python @@ -32,7 +32,7 @@ jobs: python scripts/project_version.py --set-version=$NEW_VERSION echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5.3 + uses: hynek/build-and-inspect-python-package@v1.5.4 outputs: built-version: ${{ steps.create-version.outputs.NEW_VERSION }} test-pypi-upload: @@ -50,7 +50,7 @@ jobs: name: Packages path: dist - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.8.8 + uses: pypa/gh-action-pypi-publish@v1.8.10 with: repository-url: https://test.pypi.org/legacy/ test-pypi-install: diff --git a/.github/workflows/tek-repo-lint.yml b/.github/workflows/tek-repo-lint.yml index 31b3e909..6f5b4e10 100644 --- a/.github/workflows/tek-repo-lint.yml +++ b/.github/workflows/tek-repo-lint.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check for CODEOWNERS id: codeowners_file uses: initialstate/file-check-action@v1 @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check for README id: readme_file uses: initialstate/file-check-action@v1 @@ -48,7 +48,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check for LICENSE id: license_file uses: initialstate/file-check-action@v1 @@ -66,7 +66,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check for dependabot.yml id: dependabot_file uses: initialstate/file-check-action@v1 @@ -84,7 +84,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check for codeql-analysis.yml id: codeql-analysis_file uses: initialstate/file-check-action@v1 diff --git a/.github/workflows/test-code.yml b/.github/workflows/test-code.yml index 18733a1d..f5200eaf 100644 --- a/.github/workflows/test-code.yml +++ b/.github/workflows/test-code.yml @@ -20,7 +20,7 @@ jobs: platform: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: @@ -47,7 +47,7 @@ jobs: matrix: os_name: [ubuntu, windows, macos] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 2528762b..b99b9107 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -19,8 +19,8 @@ jobs: matrix: tox_env: [docs, doctests] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: 18 # The node version needs to stay in sync with .readthedocs.yml - run: npm install -g @mermaid-js/mermaid-cli @@ -35,7 +35,7 @@ jobs: python -m pip install --upgrade tox - name: Test run: tox -ve ${{ matrix.tox_env }} - - uses: thedoctor0/zip-release@0.7.1 + - uses: thedoctor0/zip-release@0.7.6 if: ${{ !cancelled() }} with: type: zip From a64fe56987999431737b503841c110aa1be56e73 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 6 Nov 2023 17:22:49 -0800 Subject: [PATCH 17/50] ci: Update how the changelog generation macro selects PR numbers. (#95) --- python_semantic_release_templates/.macros.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_semantic_release_templates/.macros.j2 b/python_semantic_release_templates/.macros.j2 index be277d6c..5d5fa1dd 100644 --- a/python_semantic_release_templates/.macros.j2 +++ b/python_semantic_release_templates/.macros.j2 @@ -5,7 +5,7 @@ {%- set recently_merged_prs = {} %} {%- for type_, commits in latest_release_dict_entry[1]["elements"] | dictsort %} {%- for commit in commits %} - {%- set pr_num = commit.commit.message.rstrip().rsplit("(#", 1)[-1].rsplit(")", 1)[0]|int %} + {%- set pr_num = commit.commit.message.rstrip().rsplit("(#", 1)[-1].split(")", 1)[0]|int %} {%- if pr_num %} {{- recently_merged_prs.update({commit.commit.message.split("\n")[0].rsplit("(#", 1)[0]|safe: pr_num})|replace("None", "") }} {%- endif %} From 78e0ed7832615bca7f0f5bd9d4569cae4658dc62 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Wed, 8 Nov 2023 10:21:00 -0800 Subject: [PATCH 18/50] Add new options for REST API devices (#96) * feat(rest_api_device): Added the options to bypass SSL verification and allow URL redirects for RESTAPI devices. Co-authored-by: Collin Charvat * docs: Updated the Maintainers section of the Readme. Co-authored-by: Shashank P --------- Co-authored-by: Collin Charvat Co-authored-by: Shashank P --- CHANGELOG.md | 2 + README.rst | 7 +- .../drivers/api/rest_api/rest_api_device.py | 87 +++++++++++++++++-- .../drivers/pi/scopes/tekscope/tekscope.py | 2 +- .../helpers/constants_and_dataclasses.py | 3 +- tests/test_margin_testers.py | 4 +- tests/test_scopes.py | 2 +- 7 files changed, 90 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d1babbf..22d90af5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,8 @@ Things to be included in the next release go here. - New examples added to the basic usage guide showing how to use the commands for some scope drivers - Added an example showing how to change the VISA backend that is used for connecting to devices - Added a new support table in the Readme showing the API support for Software Solutions +- Added an option to bypass SSL certificate verification for RESTful API devices +- Added an option to allow URL redirects for RESTful API devices ### Changed diff --git a/README.rst b/README.rst index 468ed1de..4fc7fccc 100644 --- a/README.rst +++ b/README.rst @@ -285,11 +285,12 @@ Maintainers Before reaching out to any maintainers directly, please first check if your issue or question is already covered by any `open issues `__. If the issue or question you have is not already covered, please -`file a new issue `__ and the +`file a new issue `__ or +start a `discussion `__ and the maintainers will review and respond there. -- Tektronix opensource@tektronix.com -- Nicholas Felt nicholas.felt@tektronix.com +- tmdevicessupport@tektronix.com - For technical support and questions. +- opensource@tektronix.com - For open-source policy and license questions. Contributing ------------ diff --git a/src/tm_devices/drivers/api/rest_api/rest_api_device.py b/src/tm_devices/drivers/api/rest_api/rest_api_device.py index 0f583bb0..f3125f7d 100644 --- a/src/tm_devices/drivers/api/rest_api/rest_api_device.py +++ b/src/tm_devices/drivers/api/rest_api/rest_api_device.py @@ -50,6 +50,7 @@ def base_url(self) -> str: ################################################################################################ # Public Methods ################################################################################################ + # pylint: disable=too-many-arguments def delete( # noqa: PLR0913 self, url: str, @@ -58,6 +59,8 @@ def delete( # noqa: PLR0913 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a DELETE request with the given url and headers. @@ -69,6 +72,8 @@ def delete( # noqa: PLR0913 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -83,9 +88,12 @@ def delete( # noqa: PLR0913 timeout=timeout, return_bytes=return_bytes, allow_errors=allow_errors, + verify_ssl=verify_ssl, + allow_redirects=allow_redirects, verbose=verbose, ) + # pylint: disable=too-many-arguments def get( # noqa: PLR0913 self, url: str, @@ -94,6 +102,8 @@ def get( # noqa: PLR0913 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a GET request with the given url and headers. @@ -105,6 +115,8 @@ def get( # noqa: PLR0913 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -119,9 +131,12 @@ def get( # noqa: PLR0913 timeout=timeout, return_bytes=return_bytes, allow_errors=allow_errors, + verify_ssl=verify_ssl, + allow_redirects=allow_redirects, verbose=verbose, ) + # pylint: disable=too-many-arguments def patch( # noqa: PLR0913 self, url: str, @@ -131,6 +146,8 @@ def patch( # noqa: PLR0913 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a PATCH request with the given url and headers. @@ -143,6 +160,8 @@ def patch( # noqa: PLR0913 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -158,9 +177,12 @@ def patch( # noqa: PLR0913 timeout=timeout, return_bytes=return_bytes, allow_errors=allow_errors, + verify_ssl=verify_ssl, + allow_redirects=allow_redirects, verbose=verbose, ) + # pylint: disable=too-many-arguments def post( # noqa: PLR0913 self, url: str, @@ -170,6 +192,8 @@ def post( # noqa: PLR0913 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a POST request with the given url and headers. @@ -182,6 +206,8 @@ def post( # noqa: PLR0913 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -197,9 +223,12 @@ def post( # noqa: PLR0913 timeout=timeout, return_bytes=return_bytes, allow_errors=allow_errors, + verify_ssl=verify_ssl, + allow_redirects=allow_redirects, verbose=verbose, ) + # pylint: disable=too-many-arguments def put( # noqa: PLR0913 self, url: str, @@ -209,6 +238,8 @@ def put( # noqa: PLR0913 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a PUT request with the given url and headers. @@ -221,6 +252,8 @@ def put( # noqa: PLR0913 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -236,6 +269,8 @@ def put( # noqa: PLR0913 timeout=timeout, return_bytes=return_bytes, allow_errors=allow_errors, + verify_ssl=verify_ssl, + allow_redirects=allow_redirects, verbose=verbose, ) @@ -281,7 +316,7 @@ def wait_for_api_connection( start_time = time.perf_counter() while (time.perf_counter() - start_time) <= wait_time: if api_connection := self._check_api_connection(): - # pylint: disable=compare-to-zero + # pylint: disable=use-implicit-booleaness-not-comparison-to-zero if attempt_num != 0 or accept_immediate_connection: break msg = ( @@ -321,7 +356,7 @@ def _check_api_connection(self) -> bool: """ raise NotImplementedError - # pylint: disable=too-many-branches + # pylint: disable=too-many-branches,too-many-arguments,too-many-locals def _send_request( # noqa: PLR0913,PLR0912,C901 self, request_type: SupportedRequestTypes, @@ -332,6 +367,8 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 timeout: Optional[float] = None, return_bytes: bool = False, allow_errors: bool = False, + verify_ssl: bool = True, + allow_redirects: bool = False, verbose: bool = True, ) -> Tuple[bool, Union[Dict[str, Any], bytes], int, Optional[requests.RequestException]]: """Perform a request with the given url and headers. @@ -345,6 +382,8 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 timeout: How many seconds to wait for the server to send data before giving up. return_bytes: A boolean indicating if the response content should be returned instead of the response json. + verify_ssl: A bool that indicates if the SSL certificate should be verified. + allow_redirects: A bool that indicates if URL redirects should be allowed. allow_errors: A boolean indicating if errors are allowed. verbose: Set this to False in order to disable printouts. @@ -362,7 +401,6 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 url = self._base_url + url else: url = self._api_url + url - response = cast(requests.Response, None) retval: Union[Dict[str, Any], bytes] = {} if self._verbose and verbose: @@ -372,23 +410,54 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 if json_body: print(f", {json_body=}", end="") print("") - try: if request_type == SupportedRequestTypes.DELETE: - response = requests.delete(url, headers=headers, auth=auth, timeout=timeout) + response = requests.delete( + url, + headers=headers, + auth=auth, + timeout=timeout, + verify=verify_ssl, + allow_redirects=allow_redirects, + ) elif request_type == SupportedRequestTypes.GET: - response = requests.get(url, headers=headers, auth=auth, timeout=timeout) + response = requests.get( + url, + headers=headers, + auth=auth, + timeout=timeout, + verify=verify_ssl, + allow_redirects=allow_redirects, + ) elif request_type == SupportedRequestTypes.PATCH: response = requests.patch( - url, headers=headers, auth=auth, json=json_body, timeout=timeout + url, + headers=headers, + auth=auth, + json=json_body, + timeout=timeout, + verify=verify_ssl, + allow_redirects=allow_redirects, ) elif request_type == SupportedRequestTypes.POST: response = requests.post( - url, headers=headers, auth=auth, json=json_body, timeout=timeout + url, + headers=headers, + auth=auth, + json=json_body, + timeout=timeout, + verify=verify_ssl, + allow_redirects=allow_redirects, ) elif request_type == SupportedRequestTypes.PUT: response = requests.put( - url, headers=headers, auth=auth, json=json_body, timeout=timeout + url, + headers=headers, + auth=auth, + json=json_body, + timeout=timeout, + verify=verify_ssl, + allow_redirects=allow_redirects, ) else: msg = f"{request_type} is an unsupported request type." diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py index d437b1d0..e07a33fa 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py @@ -168,7 +168,7 @@ def channel(self) -> "MappingProxyType[str, TekScopeChannel]": # Set scope PI verbosity back to previous value self.set_and_check(":VERBose", old_pi_verbosity) - return MappingProxyType(channel_map) # pyright: ignore[reportUnknownVariableType] + return MappingProxyType(channel_map) @property def commands( diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index 92d6a99c..2ee45d41 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -110,7 +110,8 @@ class SerialConfig(AsDictionaryUseEnumNameUseCustEnumStrValueMixin, _ConfigEntry flow_control: Optional[FlowControl] = None """Optional[FlowControl]: Control for pausing/resuming data stream between slower devices. - One of ``SerialConfig.FlowControl.[none|xon_xoff|dtr_dsr|rts_cts]``.""" + One of ``SerialConfig.FlowControl.[none|xon_xoff|dtr_dsr|rts_cts]``. + """ parity: Optional[Parity] = None """Optional[Parity]: Parity adds a checksum bit to each data character. Checksum bit enables the target device to determine whether the data was received correctly. diff --git a/tests/test_margin_testers.py b/tests/test_margin_testers.py index 71a81275..722f5127 100644 --- a/tests/test_margin_testers.py +++ b/tests/test_margin_testers.py @@ -69,8 +69,8 @@ def test_margin_tester(tmt4: MarginTester, device_manager: DeviceManager) -> Non del tmt4.fpga_version # should be same as mocked version assert tmt4.sw_version == Version("1.0.0.0") - assert tmt4.fw_version == Version("1.0.0.1") - assert tmt4.fpga_version == Version("1") + assert tmt4.fw_version == Version("1.0.0.1") # pyright: ignore[reportUnknownMemberType] + assert tmt4.fpga_version == Version("1") # pyright: ignore[reportUnknownMemberType] assert tmt4.manufacturer == "UNIT_TEST manufacturer" assert tmt4.model == "UNIT_TEST model" assert tmt4.serial == "UNIT_TEST serialNumber" diff --git a/tests/test_scopes.py b/tests/test_scopes.py index eec81df7..367088d0 100644 --- a/tests/test_scopes.py +++ b/tests/test_scopes.py @@ -44,7 +44,7 @@ def test_tekscope(device_manager: DeviceManager) -> None: # noqa: PLR0915 del scope.hostname # Assert 5 series device was added and aliased properly (USB) - assert scope.hostname == "MSO56" + assert scope.hostname == "MSO56" # pyright: ignore[reportUnknownMemberType] assert id(device_manager.get_scope(number_or_alias="mso56")) == id(scope) assert id(device_manager.get_scope(number_or_alias=scope.device_number)) == id(scope) assert scope.all_channel_names_list == ("CH1", "CH2", "CH3", "CH4", "CH5", "CH6") From c0e133cc70e43a3c000a83a68b2d4af07f0e9042 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Wed, 8 Nov 2023 16:31:06 -0800 Subject: [PATCH 19/50] feat: Add USBTMC support for the 3706A device. (#97) Co-authored-by: Collin Charvat --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 1 + src/tm_devices/helpers/constants_and_dataclasses.py | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c7750715..d6e370cb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -127,7 +127,7 @@ repos: - id: ruff args: [--fix, --exit-non-zero-on-fix] - repo: https://github.com/psf/black - rev: 23.10.1 + rev: 23.11.0 hooks: - id: black - repo: https://github.com/PyCQA/docformatter diff --git a/CHANGELOG.md b/CHANGELOG.md index 22d90af5..eb77c7a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Things to be included in the next release go here. - Added a new support table in the Readme showing the API support for Software Solutions - Added an option to bypass SSL certificate verification for RESTful API devices - Added an option to allow URL redirects for RESTful API devices +- Added the 3706a to the list of supported usb devices ### Changed diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index 2ee45d41..317c13ec 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -637,6 +637,9 @@ def __str__(self) -> str: SupportedModels.AWG70KB.value: USBTMCConfiguration( vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" ), + SupportedModels.SS3706A.value: USBTMCConfiguration( + vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x3706" + ), } ) """Dict[str, tm_devices.helpers.USBTMCConfiguration]: Mapping of model USBTMC info.""" From 808bfb4067c153081d2b6132fb2df31f922c3087 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Thu, 9 Nov 2023 13:22:05 -0800 Subject: [PATCH 20/50] ci: Increase timeout when installing tm_devices from pypi servers to avoid issues caused by long wheel build times for packages that tm_devices depends on (such as zeroconf). (#98) --- .github/workflows/package-release.yml | 2 +- .github/workflows/package-testpypi.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 8420775f..67036d49 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -150,7 +150,7 @@ jobs: # A retry is used to allow for some downtime before the package is installable uses: nick-fields/retry@v2 with: - timeout_minutes: 2 + timeout_minutes: 10 max_attempts: 5 retry_wait_seconds: 30 warning_on_retry: false diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 1f147950..e579c5d4 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -68,7 +68,7 @@ jobs: # A retry is used to allow for some downtime before the package is installable uses: nick-fields/retry@v2 with: - timeout_minutes: 2 + timeout_minutes: 10 max_attempts: 5 retry_wait_seconds: 30 warning_on_retry: false From 2b244f5844660460f602ad31a9f900ee32a484c6 Mon Sep 17 00:00:00 2001 From: Shashank P <142999380+u625355@users.noreply.github.com> Date: Fri, 10 Nov 2023 12:10:16 +0530 Subject: [PATCH 21/50] Update the Readme (#100) docs: Updated the validation status in the support levels for the devices. --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 4fc7fccc..5cb9692c 100644 --- a/README.rst +++ b/README.rst @@ -216,10 +216,10 @@ Supported Devices & Software Solutions , **MSO4000/B**, :term:`PI`, ✅, , **DPO4000/B**, :term:`PI`, ✅, , **MSO5000/B**, :term:`PI`, ✅, - , **DPO5000/B**, :term:`PI`, ✅, ✅ - , **DPO7000/C**, :term:`PI`, ✅, ✅ - , **DPO70000/C/D/DX/SX**, :term:`PI`, ✅, 🚧 - , **DSA70000/C/D**, :term:`PI`, ✅, 🚧 + , **DPO5000/B**, :term:`PI`, ✅, 🚧 + , **DPO7000/C**, :term:`PI`, ✅, 🚧 + , **DPO70000/C/D/DX/SX**, :term:`PI`, ✅, ✅ + , **DSA70000/C/D**, :term:`PI`, ✅, ✅ , **MSO70000/C/DX**, :term:`PI`, ✅, ✅ , **TSOVu**, :term:`PI`, ✅, , **TekScope**, :term:`PI`, ✅, From bd2b38fa46ce361bf9f24edd43ad64cf54d0b7a5 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Fri, 10 Nov 2023 10:24:02 -0800 Subject: [PATCH 22/50] docs: Remove the TestPyPI badge from the readme, it is not important. (#105) --- README.rst | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 5cb9692c..18eb1bea 100644 --- a/README.rst +++ b/README.rst @@ -18,7 +18,7 @@ * - Code Quality - |CodeQL status| |CodeFactor grade| |pre-commit status| * - Package - - |PyPI: Package status| |PyPI: Latest release version| |PyPI: Supported Python versions| |PyPI: Downloads| |License: Apache 2.0| |Package build status| |PyPI upload status| |TestPyPI upload status| + - |PyPI: Package status| |PyPI: Latest release version| |PyPI: Supported Python versions| |PyPI: Downloads| |License: Apache 2.0| |Package build status| |PyPI upload status| * - Documentation - |GitHub Pages status| * - Code Style @@ -38,9 +38,6 @@ .. |PyPI upload status| image:: https://github.com/tektronix/tm_devices/actions/workflows/package-release.yml/badge.svg?branch=main :target: https://github.com/tektronix/tm_devices/actions/workflows/package-release.yml -.. |TestPyPI upload status| image:: https://github.com/tektronix/tm_devices/actions/workflows/package-testpypi.yml/badge.svg?branch=main - :target: https://github.com/tektronix/tm_devices/actions/workflows/package-testpypi.yml - .. |Coverage status| image:: https://codecov.io/gh/tektronix/tm_devices/branch/main/graph/badge.svg :target: https://codecov.io/gh/tektronix/tm_devices From c7b99d5957922554b363a652de5f5a07a74fb547 Mon Sep 17 00:00:00 2001 From: Tektronix Bot Date: Mon, 13 Nov 2023 17:11:01 +0000 Subject: [PATCH 23/50] 1.0.0 Automatically generated by python-semantic-release --- CHANGELOG.md | 19 ++++++++++++++ pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 25 +++++++++++++++++++ .../.previous_release_notes_for_template.md | 17 +++++++++++-- 4 files changed, 60 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb77c7a3..e2bc2194 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,25 @@ ______________________________________________________________________ Things to be included in the next release go here. +______________________________________________________________________ + +## v1.0.0 (2023-11-13) + +### Merged Pull Requests + +- docs: Remove the TestPyPI badge from the readme, it is not important. ([#105](https://github.com/tektronix/tm_devices/issues/105)) +- Update the Readme ([#100](https://github.com/tektronix/tm_devices/issues/100)) +- ci: Increase timeout when installing tm_devices from pypi servers to avoid issues caused by long wheel build times for packages that tm_devices depends on (such as zeroconf). ([#98](https://github.com/tektronix/tm_devices/issues/98)) +- feat: Add USBTMC support for the 3706A device. ([#97](https://github.com/tektronix/tm_devices/issues/97)) +- Add new options for REST API devices ([#96](https://github.com/tektronix/tm_devices/issues/96)) +- ci: Update how the changelog generation macro selects PR numbers. ([#95](https://github.com/tektronix/tm_devices/issues/95)) +- gh-actions(deps): Bump the gh-actions-dependencies group with 5 updates ([#93](https://github.com/tektronix/tm_devices/issues/93)) +- ci: Added a workflow to scan for security issues in dependencies on all PRs. ([#91](https://github.com/tektronix/tm_devices/issues/91)) +- fix: Update a few comments to have better wording. ([#85](https://github.com/tektronix/tm_devices/issues/85)) +- Update the basic usage docs and Readme ([#84](https://github.com/tektronix/tm_devices/issues/84)) +- docs: Update basic usage with better wording for examples. ([#83](https://github.com/tektronix/tm_devices/issues/83)) +- refactor: Removed some API files that are no longer needed (outdated/broken) ([#82](https://github.com/tektronix/tm_devices/issues/82)) + ### Added - New examples added to the basic usage guide showing how to use the commands for some scope drivers diff --git a/pyproject.toml b/pyproject.toml index 514c8bea..fbaa6330 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -75,7 +75,7 @@ maintainers = [ name = "tm_devices" readme = "README.rst" repository = "https://github.com/tektronix/tm_devices" -version = "0.1.24" +version = "1.0.0" [tool.poetry.dependencies] gpib-ctypes = ">=0.3.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md index e885bb92..eb77c7a3 100644 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ b/python_semantic_release_templates/.previous_changelog_for_template.md @@ -18,6 +18,31 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Added + +- New examples added to the basic usage guide showing how to use the commands for some scope drivers +- Added an example showing how to change the VISA backend that is used for connecting to devices +- Added a new support table in the Readme showing the API support for Software Solutions +- Added an option to bypass SSL certificate verification for RESTful API devices +- Added an option to allow URL redirects for RESTful API devices +- Added the 3706a to the list of supported usb devices + +### Changed + +- Updated the support level tables in the Readme + +### Removed + +- Removed some outdated and broken API files + +______________________________________________________________________ + +## v0.1.24 (2023-10-30) + +### Merged Pull Requests + +- fix: Build docs without parallelization to fix pop-up issues with sphinx-tippy ([#80](https://github.com/tektronix/tm_devices/issues/80)) + ### Fixed - Fixed the `tippy.js` pop-ups in the documentation diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md index 470d5536..20a4ec25 100644 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ b/python_semantic_release_templates/.previous_release_notes_for_template.md @@ -1,5 +1,18 @@ Things to be included in the next release go here. -### Fixed +### Added -- Fixed the `tippy.js` pop-ups in the documentation +- New examples added to the basic usage guide showing how to use the commands for some scope drivers +- Added an example showing how to change the VISA backend that is used for connecting to devices +- Added a new support table in the Readme showing the API support for Software Solutions +- Added an option to bypass SSL certificate verification for RESTful API devices +- Added an option to allow URL redirects for RESTful API devices +- Added the 3706a to the list of supported usb devices + +### Changed + +- Updated the support level tables in the Readme + +### Removed + +- Removed some outdated and broken API files From b0fd52433be552974e9cf1a6bc999648f2eccace Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 13 Nov 2023 11:51:21 -0800 Subject: [PATCH 24/50] build: Update package classifiers. (#106) Updated development status to production/stable and removed the Python 3.12 classifier since poetry automatically adds it. --- CHANGELOG.md | 4 ++++ pyproject.toml | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2bc2194..4348b681 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Changed + +- Updated the package classifiers for PyPI + ______________________________________________________________________ ## v1.0.0 (2023-11-13) diff --git a/pyproject.toml b/pyproject.toml index fbaa6330..ed19924d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,14 +47,13 @@ authors = [ "Nicholas Felt " ] classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator", "Topic :: Scientific/Engineering", - "Topic :: System :: Hardware :: Hardware Drivers", - "Programming Language :: Python :: 3.12" # TODO: remove this once poetry automatically adds it + "Topic :: System :: Hardware :: Hardware Drivers" ] description = "Manage connections and interactions with Test & Measurement devices." documentation = "https://tektronix.github.io/tm_devices/" From a0e9f4337147eb93f0f0aba344a62cbadaa0ff7f Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Tue, 14 Nov 2023 17:25:46 -0800 Subject: [PATCH 25/50] feat(rest_api_device): Enable sending raw data for restful api devices. (#107) Co-authored-by: Collin Charvat <91292030+c3charvat@users.noreply.github.com> --- CHANGELOG.md | 4 ++ .../drivers/api/rest_api/rest_api_device.py | 38 ++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4348b681..41bf5089 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Added + +- Added an option to send raw data for RESTful API devices + ### Changed - Updated the package classifiers for PyPI diff --git a/src/tm_devices/drivers/api/rest_api/rest_api_device.py b/src/tm_devices/drivers/api/rest_api/rest_api_device.py index f3125f7d..fc6609d8 100644 --- a/src/tm_devices/drivers/api/rest_api/rest_api_device.py +++ b/src/tm_devices/drivers/api/rest_api/rest_api_device.py @@ -140,7 +140,8 @@ def get( # noqa: PLR0913 def patch( # noqa: PLR0913 self, url: str, - json_body: Dict[str, Any], + json_body: Optional[Dict[str, Any]] = None, + data_body: Optional[str] = None, headers: Optional[Mapping[str, str]] = None, auth: Optional[Tuple[str, str]] = None, timeout: Optional[float] = None, @@ -154,7 +155,11 @@ def patch( # noqa: PLR0913 Args: url: The url to PATCH. - json_body: Any data to send to the url. + json_body: Any data to serialize and send to the url. + The "Content-Type" header is set to "application/json". + data_body: Any raw data to send to the url. "Content-Type" must be set manually. + The data is not serialized. WARNING: IF DATA IS PASSED USING THIS ARGUMENT + THEN ANY DATA PASSED USING THE ``json_body`` ARGUMENT WILL BE IGNORED. headers: The headers to use during the request. auth: A tuple containing the username and password to use in the request. timeout: How many seconds to wait for the server to send data before giving up. @@ -172,6 +177,7 @@ def patch( # noqa: PLR0913 SupportedRequestTypes.PATCH, url, json_body=json_body, + data_body=data_body, headers=headers, auth=auth, timeout=timeout, @@ -187,6 +193,7 @@ def post( # noqa: PLR0913 self, url: str, json_body: Optional[Dict[str, Any]] = None, + data_body: Optional[str] = None, headers: Optional[Mapping[str, str]] = None, auth: Optional[Tuple[str, str]] = None, timeout: Optional[float] = None, @@ -200,7 +207,11 @@ def post( # noqa: PLR0913 Args: url: The url to POST. - json_body: Any data to send to the url. + json_body: Any data to serialize and send to the url. + The "Content-Type" header is set to "application/json". + data_body: Any raw data to send to the url. "Content-Type" must be set manually. + The data is not serialized. WARNING: IF DATA IS PASSED USING THIS ARGUMENT + THEN ANY DATA PASSED USING THE ``json_body`` ARGUMENT WILL BE IGNORED. headers: The headers to use during the request. auth: A tuple containing the username and password to use in the request. timeout: How many seconds to wait for the server to send data before giving up. @@ -218,6 +229,7 @@ def post( # noqa: PLR0913 SupportedRequestTypes.POST, url, json_body=json_body, + data_body=data_body, headers=headers, auth=auth, timeout=timeout, @@ -232,7 +244,8 @@ def post( # noqa: PLR0913 def put( # noqa: PLR0913 self, url: str, - json_body: Dict[str, Any], + json_body: Optional[Dict[str, Any]] = None, + data_body: Optional[str] = None, headers: Optional[Mapping[str, str]] = None, auth: Optional[Tuple[str, str]] = None, timeout: Optional[float] = None, @@ -246,7 +259,11 @@ def put( # noqa: PLR0913 Args: url: The url to PUT. - json_body: Any data to send to the url. + json_body: Any data to serialize and send to the url. + The "Content-Type" header is set to "application/json". + data_body: Any raw data to send to the url. "Content-Type" must be set manually. + The data is not serialized. WARNING: IF DATA IS PASSED USING THIS ARGUMENT + THEN ANY DATA PASSED USING THE ``json_body`` ARGUMENT WILL BE IGNORED. headers: The headers to use during the request. auth: A tuple containing the username and password to use in the request. timeout: How many seconds to wait for the server to send data before giving up. @@ -264,6 +281,7 @@ def put( # noqa: PLR0913 SupportedRequestTypes.PUT, url, json_body=json_body, + data_body=data_body, headers=headers, auth=auth, timeout=timeout, @@ -362,6 +380,7 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 request_type: SupportedRequestTypes, url: str, json_body: Optional[Dict[str, Any]] = None, + data_body: Optional[str] = None, headers: Optional[Mapping[str, str]] = None, auth: Optional[Tuple[str, str]] = None, timeout: Optional[float] = None, @@ -376,7 +395,11 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 Args: request_type: The type of request to send. url: The url to use. - json_body: Any data to send to the url. + json_body: Any data to serialize and send to the url. + The "Content-Type" header is set to "application/json". + data_body: Any raw data to send to the url. "Content-Type" must be set manually. + The data is not serialized. WARNING: IF DATA IS PASSED USING THIS ARGUMENT + THEN ANY DATA PASSED USING THE ``json_body`` ARGUMENT WILL BE IGNORED. headers: The headers to use during the request. auth: A tuple containing the username and password to use in the request. timeout: How many seconds to wait for the server to send data before giving up. @@ -435,6 +458,7 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 headers=headers, auth=auth, json=json_body, + data=data_body, timeout=timeout, verify=verify_ssl, allow_redirects=allow_redirects, @@ -445,6 +469,7 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 headers=headers, auth=auth, json=json_body, + data=data_body, timeout=timeout, verify=verify_ssl, allow_redirects=allow_redirects, @@ -455,6 +480,7 @@ def _send_request( # noqa: PLR0913,PLR0912,C901 headers=headers, auth=auth, json=json_body, + data=data_body, timeout=timeout, verify=verify_ssl, allow_redirects=allow_redirects, From edd32da3079fe978d6451b43d3034767ac436bc6 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Wed, 29 Nov 2023 18:20:22 -0800 Subject: [PATCH 26/50] Fix import error on mac with system integrity protection (#109) * fix: Update helper functions to account for System Integrity Protection on macOS which can cause errors when tm_devices is imported. * ci: Update pre-commit versions. * test: Update test to properly run tests from all three supported operating systems. --- .pre-commit-config.yaml | 6 +- CHANGELOG.md | 4 ++ .../commands/_helpers/generic_commands.py | 2 +- src/tm_devices/components/dm_config_parser.py | 2 +- src/tm_devices/drivers/pi/pi_device.py | 21 ++----- .../drivers/pi/scopes/tekscope/tekscope.py | 4 +- src/tm_devices/helpers/functions.py | 26 +++++++- tests/test_helpers.py | 61 ++++++++++++++----- 8 files changed, 87 insertions(+), 39 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d6e370cb..57eddf04 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: remove-tabs - id: forbid-tabs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.27.1 + rev: 0.27.2 hooks: - id: check-readthedocs - id: check-dependabot @@ -50,7 +50,7 @@ repos: hooks: - id: blacken-docs - repo: https://github.com/lyz-code/yamlfix/ - rev: 1.15.0 + rev: 1.16.0 hooks: - id: yamlfix - repo: https://github.com/executablebooks/mdformat @@ -122,7 +122,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: v0.1.4 + rev: v0.1.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/CHANGELOG.md b/CHANGELOG.md index 41bf5089..811e1b71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,10 @@ Things to be included in the next release go here. - Updated the package classifiers for PyPI +### Fixed + +- Fixed a crash observed on macOS when importing `tm_devices`, issue [#108](https://github.com/tektronix/tm_devices/issues/108) + ______________________________________________________________________ ## v1.0.0 (2023-11-13) diff --git a/src/tm_devices/commands/_helpers/generic_commands.py b/src/tm_devices/commands/_helpers/generic_commands.py index 0e55f84a..ebfa8005 100644 --- a/src/tm_devices/commands/_helpers/generic_commands.py +++ b/src/tm_devices/commands/_helpers/generic_commands.py @@ -53,7 +53,7 @@ def __missing__(self, key: Any) -> Any: # noinspection PyArgumentList # pylint: disable=not-callable dict.__setitem__(self, key, self.default_factory(key)) # type: ignore return cast(Any, self[key]) - return cast(Any, super().__missing__(key)) # pyright: ignore [reportUnknownMemberType] + return cast(Any, super().__missing__(key)) @total_ordering # If comparisons are slowing down the code, implementing the rest would speed it up diff --git a/src/tm_devices/components/dm_config_parser.py b/src/tm_devices/components/dm_config_parser.py index 35f05d27..377e213f 100644 --- a/src/tm_devices/components/dm_config_parser.py +++ b/src/tm_devices/components/dm_config_parser.py @@ -339,7 +339,7 @@ def __parse_env_devices(self) -> List[Dict[str, Any]]: retval: List[Dict[str, Any]] = [] msg: List[str] = [] for dev_entry in devices_str_list: - temp_dict = {} + temp_dict: Dict[str, Any] = {} for dev_arg in dev_entry.split(","): try: dev_key, dev_val = dev_arg.split("=", 1) diff --git a/src/tm_devices/drivers/pi/pi_device.py b/src/tm_devices/drivers/pi/pi_device.py index ccbe8282..705ad38f 100644 --- a/src/tm_devices/drivers/pi/pi_device.py +++ b/src/tm_devices/drivers/pi/pi_device.py @@ -30,7 +30,7 @@ from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT -# pylint: disable=too-many-instance-attributes,too-many-public-methods +# pylint: disable=too-many-public-methods class PIDevice(Device, ABC): """Base Programmable Interface (PI) device driver.""" @@ -64,7 +64,6 @@ def __init__( elif self._visa_library_path.endswith(".yaml"): # pragma: no cover # Mark this as a simulated VISA backend self._visa_library_path += "@sim" - self._visa_backend = self._get_visa_backend() # Use a default timeout of 30 seconds, if running unit tests use a smaller amount. self._default_visa_timeout = ( 30000 @@ -159,11 +158,6 @@ def resource_expression(self) -> str: """Return the VISA resource expression.""" return self._resource_expression - @property - def visa_backend(self) -> str: - """Return the VISA backend in use.""" - return self._visa_backend - @property def visa_timeout(self) -> float: """Return the current VISA timeout of the device in milliseconds.""" @@ -237,6 +231,11 @@ def series(self) -> str: """ return get_model_series(self.model) + @cached_property + def visa_backend(self) -> str: + """Return the VISA backend in use.""" + return get_visa_backend(self._visa_resource.visalib.library_path.path) + ################################################################################################ # Context Manager Methods ################################################################################################ @@ -819,14 +818,6 @@ def _close(self) -> None: self._visa_resource = None # type: ignore self._is_open = False - def _get_visa_backend(self) -> str: - """Determine what the VISA backend is for this device. - - Returns: - A string containing the VISA backend. - """ - return get_visa_backend(self._visa_resource.visalib.library_path.path) - def _has_errors(self) -> bool: """Check if the device has any errors. diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py index e07a33fa..03af9b22 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py @@ -6,7 +6,7 @@ from dataclasses import dataclass from functools import cached_property from types import MappingProxyType -from typing import Any, cast, List, Literal, Optional, Tuple, Type, Union +from typing import Any, cast, Dict, List, Literal, Optional, Tuple, Type, Union import pyvisa as visa @@ -125,7 +125,7 @@ def __init__( def channel(self) -> "MappingProxyType[str, TekScopeChannel]": """Mapping of channel names to any detectable properties, attributes, and settings.""" # TODO: overwrite in MSO2 driver, would remove need for try-except - channel_map = {} + channel_map: Dict[str, TekScopeChannel] = {} with self.temporary_verbose(False) and self.temporary_visa_timeout( 500 if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) else UNIT_TEST_TIMEOUT diff --git a/src/tm_devices/helpers/functions.py b/src/tm_devices/helpers/functions.py index eceddac6..3a3e1676 100644 --- a/src/tm_devices/helpers/functions.py +++ b/src/tm_devices/helpers/functions.py @@ -12,6 +12,7 @@ import warnings from enum import EnumMeta +from functools import lru_cache from typing import Any, Dict, Optional, Tuple, Type import requests @@ -42,7 +43,6 @@ #################################################################################################### # Private Constants #################################################################################################### -_VISA_SYSTEM_DETAILS: Dict[str, Any] = pyvisa_util.get_system_details() _KEITHLEY_2_CHAR_MODEL_LOOKUP = { "24": "SMU", "26": "SMU", @@ -436,7 +436,7 @@ def get_visa_backend(visa_lib_path: str) -> str: """ visa_name = "" - system_visa_info = _VISA_SYSTEM_DETAILS + system_visa_info = _get_system_visa_info() # noinspection PyTypeChecker visa_backends: Dict[str, Any] = system_visa_info["backends"] @@ -603,3 +603,25 @@ def _configure_visa_object( setattr(serial_config, name, getattr(visa_object, name)) return visa_object + + +@lru_cache(maxsize=None) +def _get_system_visa_info() -> Dict[str, Any]: + """Get the VISA information for the current system. + + Returns: + A dictionary with the VISA info for the system. + """ + fetch_backend_info = True + + if platform.system().lower() == "darwin": + try: + output = subprocess.check_output(shlex.split("csrutil status")).decode( # noqa: S603 + "utf-8" + ) + except subprocess.SubprocessError: + output = "" + if "System Integrity Protection status: enabled" in output: + fetch_backend_info = False + + return pyvisa_util.get_system_details(backends=fetch_backend_info) diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 680a6734..68e61956 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -5,9 +5,8 @@ from collections import OrderedDict from contextlib import redirect_stdout -from copy import deepcopy from io import StringIO -from subprocess import CalledProcessError +from subprocess import CalledProcessError, SubprocessError from typing import Any, Dict, Optional, Tuple from unittest import mock @@ -309,9 +308,9 @@ def test_check_for_update(capsys: pytest.CaptureFixture[str]) -> None: def test_get_visa_backend() -> None: """Verify that the VISA backend can be determined properly.""" - import tm_devices.helpers.functions # pylint: disable=import-outside-toplevel - - old_system_details = deepcopy(tm_devices.helpers.functions._VISA_SYSTEM_DETAILS) # noqa: SLF001 + from tm_devices.helpers.functions import ( # pylint: disable=import-outside-toplevel + _get_system_visa_info, + ) testing_system_details: Dict[Any, Any] = { "pyvisa": "1.12.0", @@ -363,18 +362,50 @@ def test_get_visa_backend() -> None: ), } - # Modify the constant for testing purposes - tm_devices.helpers.functions._VISA_SYSTEM_DETAILS = testing_system_details # noqa: SLF001 - try: - assert get_visa_backend("tests/sim_devices/devices.yaml") == "PyVISA-sim" - assert get_visa_backend("py") == "PyVISA-py" - assert get_visa_backend("C:\\WINDOWS\\system32\\visa32.dll") == "NI-VISA" - assert get_visa_backend("C:\\WINDOWS\\system32\\visa.dll") == "Custom Vendor VISA" - assert get_visa_backend("nothing") == "" + _get_system_visa_info.cache_clear() + with mock.patch( + "pyvisa.util.get_system_details", + mock.MagicMock(return_value=testing_system_details), + ), mock.patch( + "platform.system", + mock.MagicMock(return_value="windows"), + ): + assert get_visa_backend("tests/sim_devices/devices.yaml") == "PyVISA-sim" + assert get_visa_backend("py") == "PyVISA-py" + assert get_visa_backend("C:\\WINDOWS\\system32\\visa32.dll") == "NI-VISA" + assert get_visa_backend("C:\\WINDOWS\\system32\\visa.dll") == "Custom Vendor VISA" + assert get_visa_backend("nothing") == "" + + with mock.patch( + "platform.system", + mock.MagicMock(return_value="darwin"), + ): + _get_system_visa_info.cache_clear() + with mock.patch( + "subprocess.check_output", + mock.MagicMock(return_value=b"System Integrity Protection status: enabled."), + ): + assert get_visa_backend("tests/sim_devices/devices.yaml") == "" + assert get_visa_backend("py") == "PyVISA-py" + + _get_system_visa_info.cache_clear() + with mock.patch( + "subprocess.check_output", + mock.MagicMock(return_value=b"System Integrity Protection status: disabled."), + ): + assert get_visa_backend("tests/sim_devices/devices.yaml") == "PyVISA-sim" + assert get_visa_backend("py") == "PyVISA-py" + + _get_system_visa_info.cache_clear() + with mock.patch( + "subprocess.check_output", + mock.MagicMock(side_effect=SubprocessError()), + ): + assert get_visa_backend("tests/sim_devices/devices.yaml") == "PyVISA-sim" + assert get_visa_backend("py") == "PyVISA-py" finally: - # Reset the constant - tm_devices.helpers.functions._VISA_SYSTEM_DETAILS = old_system_details # noqa: SLF001 + _get_system_visa_info.cache_clear() @pytest.mark.parametrize( From a18cc9fc88522b08b60750f1728a813633047cb4 Mon Sep 17 00:00:00 2001 From: Tektronix Bot Date: Fri, 1 Dec 2023 18:42:41 +0000 Subject: [PATCH 27/50] 1.0.1 Automatically generated by python-semantic-release --- CHANGELOG.md | 10 ++++++ pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 31 +++++++++++++++++++ .../.previous_release_notes_for_template.md | 13 +++----- 4 files changed, 46 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 811e1b71..5c25955a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,16 @@ ______________________________________________________________________ Things to be included in the next release go here. +______________________________________________________________________ + +## v1.0.1 (2023-12-01) + +### Merged Pull Requests + +- Fix import error on mac with system integrity protection ([#109](https://github.com/tektronix/tm_devices/issues/109)) +- feat(rest_api_device): Enable sending raw data for restful api devices. ([#107](https://github.com/tektronix/tm_devices/issues/107)) +- build: Update package classifiers. ([#106](https://github.com/tektronix/tm_devices/issues/106)) + ### Added - Added an option to send raw data for RESTful API devices diff --git a/pyproject.toml b/pyproject.toml index ed19924d..25256222 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,7 @@ maintainers = [ name = "tm_devices" readme = "README.rst" repository = "https://github.com/tektronix/tm_devices" -version = "1.0.0" +version = "1.0.1" [tool.poetry.dependencies] gpib-ctypes = ">=0.3.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md index eb77c7a3..811e1b71 100644 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ b/python_semantic_release_templates/.previous_changelog_for_template.md @@ -20,6 +20,37 @@ Things to be included in the next release go here. ### Added +- Added an option to send raw data for RESTful API devices + +### Changed + +- Updated the package classifiers for PyPI + +### Fixed + +- Fixed a crash observed on macOS when importing `tm_devices`, issue [#108](https://github.com/tektronix/tm_devices/issues/108) + +______________________________________________________________________ + +## v1.0.0 (2023-11-13) + +### Merged Pull Requests + +- docs: Remove the TestPyPI badge from the readme, it is not important. ([#105](https://github.com/tektronix/tm_devices/issues/105)) +- Update the Readme ([#100](https://github.com/tektronix/tm_devices/issues/100)) +- ci: Increase timeout when installing tm_devices from pypi servers to avoid issues caused by long wheel build times for packages that tm_devices depends on (such as zeroconf). ([#98](https://github.com/tektronix/tm_devices/issues/98)) +- feat: Add USBTMC support for the 3706A device. ([#97](https://github.com/tektronix/tm_devices/issues/97)) +- Add new options for REST API devices ([#96](https://github.com/tektronix/tm_devices/issues/96)) +- ci: Update how the changelog generation macro selects PR numbers. ([#95](https://github.com/tektronix/tm_devices/issues/95)) +- gh-actions(deps): Bump the gh-actions-dependencies group with 5 updates ([#93](https://github.com/tektronix/tm_devices/issues/93)) +- ci: Added a workflow to scan for security issues in dependencies on all PRs. ([#91](https://github.com/tektronix/tm_devices/issues/91)) +- fix: Update a few comments to have better wording. ([#85](https://github.com/tektronix/tm_devices/issues/85)) +- Update the basic usage docs and Readme ([#84](https://github.com/tektronix/tm_devices/issues/84)) +- docs: Update basic usage with better wording for examples. ([#83](https://github.com/tektronix/tm_devices/issues/83)) +- refactor: Removed some API files that are no longer needed (outdated/broken) ([#82](https://github.com/tektronix/tm_devices/issues/82)) + +### Added + - New examples added to the basic usage guide showing how to use the commands for some scope drivers - Added an example showing how to change the VISA backend that is used for connecting to devices - Added a new support table in the Readme showing the API support for Software Solutions diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md index 20a4ec25..e2479df8 100644 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ b/python_semantic_release_templates/.previous_release_notes_for_template.md @@ -2,17 +2,12 @@ Things to be included in the next release go here. ### Added -- New examples added to the basic usage guide showing how to use the commands for some scope drivers -- Added an example showing how to change the VISA backend that is used for connecting to devices -- Added a new support table in the Readme showing the API support for Software Solutions -- Added an option to bypass SSL certificate verification for RESTful API devices -- Added an option to allow URL redirects for RESTful API devices -- Added the 3706a to the list of supported usb devices +- Added an option to send raw data for RESTful API devices ### Changed -- Updated the support level tables in the Readme +- Updated the package classifiers for PyPI -### Removed +### Fixed -- Removed some outdated and broken API files +- Fixed a crash observed on macOS when importing `tm_devices`, issue [#108](https://github.com/tektronix/tm_devices/issues/108) From 9deab779965aed9c25765c82db66e0705b4dcaf3 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 4 Dec 2023 11:55:20 -0800 Subject: [PATCH 28/50] Update config docs and release workflow (#111) * ci: Bump commitizen pre-commit version. * ci: Add new job to the official release workflow that will add a summary with the release level input to make reviewing a deployment easier. * ci: Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11. * docs: Add a code example of passing in config options in a dataclass via a keyword argument when initializing the `DeviceManager`. * docs: Add email address to security policy. --- .github/workflows/package-release.yml | 12 ++++++++++-- .github/workflows/package-testpypi.yml | 2 +- .pre-commit-config.yaml | 2 +- SECURITY.md | 2 +- examples/miscellaneous/adding_devices.py | 21 +++++++++++++++++++-- 5 files changed, 32 insertions(+), 7 deletions(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 67036d49..79ac86fc 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -15,12 +15,20 @@ on: concurrency: group: pypi jobs: + print-inputs: + runs-on: ubuntu-latest + steps: + - name: Create summary of workflow inputs + run: | + echo "### inputs" >> $GITHUB_STEP_SUMMARY + echo "- release_level: ${{ inputs.release_level }}" >> $GITHUB_STEP_SUMMARY # This job requires a Personal Access Token (Classic) with # the public_repo permission. It also needs a private/public # ssh key pair that can be used for signing. The public key must # be attached to the account as an SSH signing key. pypi-version: name: Update package version + needs: [print-inputs] if: github.repository == 'tektronix/tm_devices' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest environment: package-release-gate @@ -82,7 +90,7 @@ jobs: name: Packages path: dist - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.8.11 with: repository-url: https://test.pypi.org/legacy/ upload-pypi: @@ -100,7 +108,7 @@ jobs: name: Packages path: dist - name: Upload package to PyPI - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.8.11 upload-github: name: Upload package to GitHub Release needs: [upload-pypi] diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index e579c5d4..7f28ab86 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -50,7 +50,7 @@ jobs: name: Packages path: dist - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.8.11 with: repository-url: https://test.pypi.org/legacy/ test-pypi-install: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 57eddf04..e7a982f9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: - id: check-github-actions - id: check-github-workflows - repo: https://github.com/commitizen-tools/commitizen - rev: 3.12.0 + rev: v3.13.0 hooks: - id: commitizen stages: [commit-msg] diff --git a/SECURITY.md b/SECURITY.md index 4479e53c..684ea158 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -8,5 +8,5 @@ ## Reporting a Vulnerability -Please reach out directly to the maintainers to report a +Please reach out directly to the maintainers at tmdevicessupport@tektronix.com to report a potential vulnerability. **Do not file a public issue.** diff --git a/examples/miscellaneous/adding_devices.py b/examples/miscellaneous/adding_devices.py index 0a718673..29f0108f 100644 --- a/examples/miscellaneous/adding_devices.py +++ b/examples/miscellaneous/adding_devices.py @@ -1,8 +1,25 @@ """An example of adding devices via Python code.""" from tm_devices import DeviceManager -from tm_devices.helpers import PYVISA_PY_BACKEND, SerialConfig, SYSTEM_DEFAULT_VISA_BACKEND +from tm_devices.helpers import ( + DMConfigOptions, + PYVISA_PY_BACKEND, + SerialConfig, + SYSTEM_DEFAULT_VISA_BACKEND, +) -with DeviceManager(verbose=True) as device_manager: +# Specific config options can optionally be passed in when creating +# the DeviceManager via a dataclass, they are used to update any existing +# configuration options from a config file. +CONFIG_OPTIONS = DMConfigOptions( + setup_cleanup=True, # update the value for this option, all other options will remain untouched +) + + +# Create the DeviceManager, turning on verbosity and passing in some specific configuration values. +with DeviceManager( + verbose=True, # optional argument + config_options=CONFIG_OPTIONS, # optional argument +) as device_manager: # Explicitly specify to use the system VISA backend, this is the default, # **this code is not required** to use the system default. device_manager.visa_library = SYSTEM_DEFAULT_VISA_BACKEND From 24a128b0afb65eebfdd045d20144584e458aa611 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 4 Dec 2023 13:16:21 -0800 Subject: [PATCH 29/50] ci: Add the admin team as reviewers to all Pull Requests. (#113) --- .github/workflows/assign-reviewers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/assign-reviewers.yml b/.github/workflows/assign-reviewers.yml index fbaa9b8c..af66b89e 100644 --- a/.github/workflows/assign-reviewers.yml +++ b/.github/workflows/assign-reviewers.yml @@ -15,4 +15,4 @@ jobs: # public_repo and read:org permissions. It also needs to be from an account that is # part of the tektronix GitHub organization. repo-token: ${{ secrets.ASSIGN_REVIEWERS_TOKEN }} - teams: tm-devices-maintainers + teams: tm-devices-maintainers,tm-devices-admin From e9d929d69f84e31d1df372cd1e5dc067f26738a5 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 4 Dec 2023 15:16:26 -0800 Subject: [PATCH 30/50] test: Update tests to try to eliminate false failures when running tests on macOS. (#114) --- tests/test_afgs.py | 1 - tests/test_smu.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_afgs.py b/tests/test_afgs.py index 70a1e6b9..d6917974 100644 --- a/tests/test_afgs.py +++ b/tests/test_afgs.py @@ -30,7 +30,6 @@ def test_afg3kc(device_manager: DeviceManager) -> None: assert afg3kc.idn_string == "TEKTRONIX,AFG3252C,SERIAL1,SCPI:99.0 FV:3.2.3" assert afg3kc.sw_version == Version("3.2.3") assert afg3kc.all_channel_names_list == ("SOURCE1", "SOURCE2") - assert afg3kc.visa_backend == "PyVISA-sim" assert afg3kc.source_device_constants == AFGSourceDeviceConstants( memory_page_size=2, memory_max_record_length=128 * 1024, diff --git a/tests/test_smu.py b/tests/test_smu.py index 22cb0dc8..7e2f4f66 100644 --- a/tests/test_smu.py +++ b/tests/test_smu.py @@ -150,7 +150,7 @@ def test_smu( # noqa: PLR0915 sw_version= total_channels=1 verbose=True - visa_backend='PyVISA-sim' + visa_backend='{smu.visa_backend}' visa_resource=<'TCPIPInstrument'('TCPIP0::SMU2601B-HOSTNAME::inst0::INSTR')> visa_timeout={UNIT_TEST_TIMEOUT} {'=' * (97 + (1 if smu.device_number >= 10 else 0))} From ef03bbf7228450af2aa44276e41172bf0c2c19b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 01:15:05 +0000 Subject: [PATCH 31/50] gh-actions(deps): Bump the gh-actions-dependencies group with 1 update (#112) Bumps the gh-actions-dependencies group with 1 update: [actions/deploy-pages](https://github.com/actions/deploy-pages). - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy-documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml index 06f443c3..66606872 100644 --- a/.github/workflows/deploy-documentation.yml +++ b/.github/workflows/deploy-documentation.yml @@ -35,5 +35,5 @@ jobs: with: path: .results_docs/html - name: Deploy To Pages - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v3 id: deployment From 930d9a41652583c749eee742edda5e607b9aa5ea Mon Sep 17 00:00:00 2001 From: Shashank P <142999380+u625355@users.noreply.github.com> Date: Thu, 7 Dec 2023 05:12:34 +0530 Subject: [PATCH 32/50] feat: Added support for MSO4B device (#115) Simulation device is also added and updated in the API Validation status column in README.rst. --- .github/auto_assign.yml | 2 - CHANGELOG.md | 4 + README.rst | 3 +- src/tm_devices/commands/__init__.py | 4 + src/tm_devices/commands/_afg3k_commands.py | 8 +- src/tm_devices/commands/_afg3kb_commands.py | 8 +- src/tm_devices/commands/_afg3kc_commands.py | 8 +- src/tm_devices/commands/_awg5200_commands.py | 10 +- src/tm_devices/commands/_awg5k_commands.py | 10 +- src/tm_devices/commands/_awg5kc_commands.py | 10 +- src/tm_devices/commands/_awg70ka_commands.py | 10 +- src/tm_devices/commands/_awg70kb_commands.py | 10 +- src/tm_devices/commands/_awg7k_commands.py | 10 +- src/tm_devices/commands/_awg7kc_commands.py | 10 +- src/tm_devices/commands/_dpo2k_commands.py | 46 +- src/tm_devices/commands/_dpo2kb_commands.py | 46 +- src/tm_devices/commands/_dpo4k_commands.py | 52 +- src/tm_devices/commands/_dpo4kb_commands.py | 52 +- src/tm_devices/commands/_dpo5kb_commands.py | 54 +- src/tm_devices/commands/_dpo70kc_commands.py | 54 +- src/tm_devices/commands/_dpo70kd_commands.py | 54 +- src/tm_devices/commands/_dpo70kdx_commands.py | 54 +- src/tm_devices/commands/_dpo70ksx_commands.py | 54 +- src/tm_devices/commands/_dpo7kc_commands.py | 54 +- src/tm_devices/commands/_dsa70kc_commands.py | 54 +- src/tm_devices/commands/_dsa70kd_commands.py | 54 +- .../__init__.py | 0 .../allev.py | 4 +- .../busy.py | 4 +- .../dese.py | 4 +- .../event.py | 4 +- .../evmsg.py | 4 +- .../evqty.py | 4 +- .../factory.py | 4 +- .../id.py | 4 +- .../miscellaneous.py | 4 +- .../newpass.py | 4 +- .../password.py | 4 +- .../rem.py | 4 +- .../set.py | 4 +- .../status_and_error.py | 4 +- .../teksecure.py | 4 +- .../wavfrm.py | 4 +- .../__init__.py | 0 .../acquire.py | 2 +- .../actonevent.py | 2 +- .../application.py | 2 +- .../auxout.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/bus.py | 2 +- .../callouts.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/ch.py | 2 +- .../customtable.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/data.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/diag.py | 2 +- .../diggrp.py | 2 +- .../display.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/dvm.py | 2 +- .../eyemask.py | 2 +- .../fpanel.py | 2 +- .../histogram.py | 2 +- .../horizontal.py | 2 +- .../license.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/mask.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/math.py | 2 +- .../matharbflt.py | 2 +- .../measurement.py | 2 +- .../peakstable.py | 2 +- .../pilogger.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/plot.py | 2 +- .../power.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/ref.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/save.py | 2 +- .../saveon.py | 2 +- .../saveonevent.py | 2 +- .../search.py | 2 +- .../searchtable.py | 2 +- .../select.py | 2 +- .../{_c3g63_lpdmso => _e3e9uu_lpdmso}/sv.py | 2 +- .../touchscreen.py | 2 +- .../trigger.py | 2 +- .../tstamptable.py | 2 +- .../visual.py | 2 +- .../__init__.py | 0 .../{_c69b1_lpdmso => _e3h2zs_lpdmso}/afg.py | 2 +- .../autosavepitimeout.py | 2 +- .../autosaveuitimeout.py | 2 +- .../autoset.py | 2 +- .../bustable.py | 2 +- .../calibrate.py | 2 +- .../configuration.py | 2 +- .../connected.py | 2 +- .../curve.py | 2 +- .../curvestream.py | 2 +- .../{_c69b1_lpdmso => _e3h2zs_lpdmso}/date.py | 2 +- .../ethernet.py | 2 +- .../filesystem.py | 2 +- .../mainwindow.py | 2 +- .../meastable.py | 2 +- .../recall.py | 2 +- .../socketserver.py | 2 +- .../{_c69b1_lpdmso => _e3h2zs_lpdmso}/time.py | 2 +- .../{_c69b1_lpdmso => _e3h2zs_lpdmso}/undo.py | 2 +- .../usbdevice.py | 2 +- .../vertical.py | 2 +- .../wfmoutpre.py | 2 +- .../__init__.py | 0 .../clear.py | 2 +- .../__init__.py | 0 .../alias.py | 4 +- .../header.py | 4 +- .../status_and_error.py | 4 +- .../verbose.py | 4 +- .../__init__.py | 0 .../lock.py | 4 +- .../unlock.py | 4 +- .../__init__.py | 0 .../pause.py | 4 +- .../rosc.py | 4 +- .../__init__.py | 0 .../totaluptime.py | 2 +- .../__init__.py | 0 .../status_and_error.py | 2 +- .../__init__.py | 0 .../calibration.py | 4 +- .../miscellaneous.py | 4 +- .../status_and_error.py | 4 +- .../__init__.py | 0 .../status_and_error.py | 4 +- .../commands/_helpers/generic_commands.py | 2 +- src/tm_devices/commands/_lpd6_commands.py | 182 +- src/tm_devices/commands/_mdo3_commands.py | 50 +- src/tm_devices/commands/_mdo3k_commands.py | 52 +- src/tm_devices/commands/_mdo4k_commands.py | 52 +- src/tm_devices/commands/_mdo4kb_commands.py | 52 +- src/tm_devices/commands/_mdo4kc_commands.py | 52 +- src/tm_devices/commands/_mso2_commands.py | 106 +- src/tm_devices/commands/_mso2k_commands.py | 46 +- src/tm_devices/commands/_mso2kb_commands.py | 46 +- src/tm_devices/commands/_mso4_commands.py | 182 +- src/tm_devices/commands/_mso4b_commands.py | 3993 +++++++++++++++++ src/tm_devices/commands/_mso4k_commands.py | 52 +- src/tm_devices/commands/_mso4kb_commands.py | 52 +- src/tm_devices/commands/_mso5_commands.py | 182 +- src/tm_devices/commands/_mso5b_commands.py | 182 +- src/tm_devices/commands/_mso5kb_commands.py | 54 +- src/tm_devices/commands/_mso5lp_commands.py | 182 +- src/tm_devices/commands/_mso6_commands.py | 182 +- src/tm_devices/commands/_mso6b_commands.py | 182 +- src/tm_devices/commands/_mso70kc_commands.py | 54 +- src/tm_devices/commands/_mso70kdx_commands.py | 54 +- src/tm_devices/device_manager.py | 2 + src/tm_devices/drivers/__init__.py | 3 + .../drivers/pi/scopes/tekscope/__init__.py | 2 + .../drivers/pi/scopes/tekscope/mso4b.py | 7 + .../helpers/constants_and_dataclasses.py | 3 + src/tm_devices/helpers/enums.py | 1 + tests/sim_devices/devices.yaml | 6 + tests/sim_devices/scope/mso4b.yaml | 52 + tests/test_all_device_drivers.py | 1 + tests/test_helpers.py | 3 +- tests/test_margin_testers.py | 4 +- tests/test_scopes.py | 2 +- 162 files changed, 5564 insertions(+), 1486 deletions(-) rename src/tm_devices/commands/{_1mn7uh_lpdmsomdodpo => _e3bgpz_lpdmsodpomdodsa}/__init__.py (100%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/allev.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/busy.py (92%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/dese.py (95%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/event.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/evmsg.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/evqty.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/factory.py (94%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/id.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/miscellaneous.py (96%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/newpass.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/password.py (94%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/rem.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/set.py (94%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/status_and_error.py (94%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/teksecure.py (93%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e3bgpz_lpdmsodpomdodsa}/wavfrm.py (93%) rename src/tm_devices/commands/{_1nrybj_lpdmsodpomdo => _e3e9uu_lpdmso}/__init__.py (100%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/acquire.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/actonevent.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/application.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/auxout.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/bus.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/callouts.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/ch.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/customtable.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/data.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/diag.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/diggrp.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/display.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/dvm.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/eyemask.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/fpanel.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/histogram.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/horizontal.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/license.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/mask.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/math.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/matharbflt.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/measurement.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/peakstable.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/pilogger.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/plot.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/power.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/ref.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/save.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/saveon.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/saveonevent.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/search.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/searchtable.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/select.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/sv.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/touchscreen.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/trigger.py (99%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/tstamptable.py (98%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e3e9uu_lpdmso}/visual.py (99%) rename src/tm_devices/commands/{_5v6218_lpdmsodpomdodsa => _e3h2zs_lpdmso}/__init__.py (100%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/afg.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/autosavepitimeout.py (95%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/autosaveuitimeout.py (95%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/autoset.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/bustable.py (98%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/calibrate.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/configuration.py (98%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/connected.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/curve.py (98%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/curvestream.py (97%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/date.py (94%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/ethernet.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/filesystem.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/mainwindow.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/meastable.py (98%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/recall.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/socketserver.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/time.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/undo.py (93%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/usbdevice.py (98%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/vertical.py (99%) rename src/tm_devices/commands/{_c69b1_lpdmso => _e3h2zs_lpdmso}/wfmoutpre.py (99%) rename src/tm_devices/commands/{_5vppzt_lpdmsodpomdodsa => _e4de2d_lpdmsomdo}/__init__.py (100%) rename src/tm_devices/commands/{_uph56_lpdmsomdo => _e4de2d_lpdmsomdo}/clear.py (92%) rename src/tm_devices/commands/{_5y3emz_lpdmsodpodsa => _e5nqsy_lpdmsodpodsa}/__init__.py (100%) rename src/tm_devices/commands/{_5y3emz_lpdmsodpodsa => _e5nqsy_lpdmsodpodsa}/alias.py (99%) rename src/tm_devices/commands/{_5y3emz_lpdmsodpodsa => _e5nqsy_lpdmsodpodsa}/header.py (95%) rename src/tm_devices/commands/{_5y3emz_lpdmsodpodsa => _e5nqsy_lpdmsodpodsa}/status_and_error.py (96%) rename src/tm_devices/commands/{_5y3emz_lpdmsodpodsa => _e5nqsy_lpdmsodpodsa}/verbose.py (93%) rename src/tm_devices/commands/{_5y90wz_lpdmsomdodpoafgawgdsa => _e5td2t_lpdmsodpomdodsa}/__init__.py (100%) rename src/tm_devices/commands/{_5v6218_lpdmsodpomdodsa => _e5td2t_lpdmsodpomdodsa}/lock.py (96%) rename src/tm_devices/commands/{_5v6218_lpdmsodpomdodsa => _e5td2t_lpdmsodpomdodsa}/unlock.py (93%) rename src/tm_devices/commands/{_5ylo0x_lpdmsodpomdoawgdsa => _e6606z_lpdmsomdodpo}/__init__.py (100%) rename src/tm_devices/commands/{_1mn7uh_lpdmsomdodpo => _e6606z_lpdmsomdodpo}/pause.py (95%) rename src/tm_devices/commands/{_1mn7uh_lpdmsomdodpo => _e6606z_lpdmsomdodpo}/rosc.py (98%) rename src/tm_devices/commands/{_5z14a1_lpdmsodpomdoafgawgdsa => _e6lgg1_lpdmsodpomdo}/__init__.py (100%) rename src/tm_devices/commands/{_1nrybj_lpdmsodpomdo => _e6lgg1_lpdmsodpomdo}/totaluptime.py (95%) rename src/tm_devices/commands/{_c3g63_lpdmso => _e9znur_lpdmsomdodpoafgawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_5y90wz_lpdmsomdodpoafgawgdsa => _e9znur_lpdmsomdodpoafgawgdsa}/status_and_error.py (93%) rename src/tm_devices/commands/{_c69b1_lpdmso => _ea3vk0_lpdmsodpomdoafgawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_5z14a1_lpdmsodpomdoafgawgdsa => _ea3vk0_lpdmsodpomdoafgawgdsa}/calibration.py (89%) rename src/tm_devices/commands/{_5z14a1_lpdmsodpomdoafgawgdsa => _ea3vk0_lpdmsodpomdoafgawgdsa}/miscellaneous.py (94%) rename src/tm_devices/commands/{_5z14a1_lpdmsodpomdoafgawgdsa => _ea3vk0_lpdmsodpomdoafgawgdsa}/status_and_error.py (98%) rename src/tm_devices/commands/{_uph56_lpdmsomdo => _ecer2i_lpdmsodpomdoawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_5ylo0x_lpdmsodpomdoawgdsa => _ecer2i_lpdmsodpomdoawgdsa}/status_and_error.py (96%) create mode 100644 src/tm_devices/commands/_mso4b_commands.py create mode 100644 src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py create mode 100644 tests/sim_devices/scope/mso4b.yaml diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index 2bed33c2..a1fd978f 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -1,4 +1,2 @@ --- -addReviewers: true addAssignees: author -reviewers: [tektronix/tm-devices-maintainers] diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c25955a..e752d2dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Added + +- Added support for MSO4B device. + ______________________________________________________________________ ## v1.0.1 (2023-12-01) diff --git a/README.rst b/README.rst index 18eb1bea..8e356170 100644 --- a/README.rst +++ b/README.rst @@ -200,6 +200,7 @@ Supported Devices & Software Solutions :term:`Scopes `, **2 Series MSO**, :term:`PI`, ✅, ✅ , **3 Series MDO**, :term:`PI`, ✅, , **4 Series MSO**, :term:`PI`, ✅, ✅ + , **4 Series B MSO**, :term:`PI`, ✅, ✅ , **5 Series MSO**, :term:`PI`, ✅, ✅ , **5 Series B MSO**, :term:`PI`, ✅, ✅ , **5 Series MSO (LP)**, :term:`PI`, ✅, ✅ @@ -228,7 +229,7 @@ Supported Devices & Software Solutions , **2281S**, :term:`PI`, ✅, :term:`SMUs `, **24xx Standard**, :term:`PI`, ✅, , **24xx Interactive**, :term:`TSP`, ✅, ✅ - , **26xxB**, :term:`TSP`, ✅, ✅ + , **26xxB**, :term:`TSP`, ✅, 🚧 , **Model 2601B-PULSE**, :term:`TSP`, ✅, , **Model 2606B**, :term:`TSP`, ✅, 🚧 , **2651A**, :term:`TSP`, ✅, diff --git a/src/tm_devices/commands/__init__.py b/src/tm_devices/commands/__init__.py index d3b4a721..8b680010 100644 --- a/src/tm_devices/commands/__init__.py +++ b/src/tm_devices/commands/__init__.py @@ -40,6 +40,7 @@ from ._mso2k_commands import MSO2KCommandConstants, MSO2KCommands, MSO2KMixin from ._mso2kb_commands import MSO2KBCommandConstants, MSO2KBCommands, MSO2KBMixin from ._mso4_commands import MSO4CommandConstants, MSO4Commands, MSO4Mixin +from ._mso4b_commands import MSO4BCommandConstants, MSO4BCommands, MSO4BMixin from ._mso4k_commands import MSO4KCommandConstants, MSO4KCommands, MSO4KMixin from ._mso4kb_commands import MSO4KBCommandConstants, MSO4KBCommands, MSO4KBMixin from ._mso5_commands import MSO5CommandConstants, MSO5Commands, MSO5Mixin @@ -176,6 +177,9 @@ "MSO2KCommands", "MSO2KMixin", "MSO2Mixin", + "MSO4BCommandConstants", + "MSO4BCommands", + "MSO4BMixin", "MSO4CommandConstants", "MSO4Commands", "MSO4KBCommandConstants", diff --git a/src/tm_devices/commands/_afg3k_commands.py b/src/tm_devices/commands/_afg3k_commands.py index ced5022d..9a1024a0 100644 --- a/src/tm_devices/commands/_afg3k_commands.py +++ b/src/tm_devices/commands/_afg3k_commands.py @@ -8,10 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._22daqs_afg.afgcontrol import Afgcontrol from ._22daqs_afg.data import Data from ._22daqs_afg.diagnostic import Diagnostic @@ -32,6 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_afg3kb_commands.py b/src/tm_devices/commands/_afg3kb_commands.py index 4af9f9a7..02d005c6 100644 --- a/src/tm_devices/commands/_afg3kb_commands.py +++ b/src/tm_devices/commands/_afg3kb_commands.py @@ -8,10 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._22daqs_afg.afgcontrol import Afgcontrol from ._22daqs_afg.data import Data from ._22daqs_afg.diagnostic import Diagnostic @@ -32,6 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_afg3kc_commands.py b/src/tm_devices/commands/_afg3kc_commands.py index 5f517380..8629a9bf 100644 --- a/src/tm_devices/commands/_afg3kc_commands.py +++ b/src/tm_devices/commands/_afg3kc_commands.py @@ -8,10 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._22daqs_afg.afgcontrol import Afgcontrol from ._22daqs_afg.data import Data from ._22daqs_afg.diagnostic import Diagnostic @@ -32,6 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_awg5200_commands.py b/src/tm_devices/commands/_awg5200_commands.py index 8f50042b..37ad2081 100644 --- a/src/tm_devices/commands/_awg5200_commands.py +++ b/src/tm_devices/commands/_awg5200_commands.py @@ -31,11 +31,11 @@ from ._3n9auv_awg.slist import Slist from ._3n9auv_awg.status import Status from ._3n9auv_awg.wplugin import Wplugin -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg5k_commands.py b/src/tm_devices/commands/_awg5k_commands.py index 46a3ec61..6c674d90 100644 --- a/src/tm_devices/commands/_awg5k_commands.py +++ b/src/tm_devices/commands/_awg5k_commands.py @@ -8,11 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._32dszm_awg.awgcontrol import Awgcontrol from ._32dszm_awg.diagnostic import Diagnostic from ._32dszm_awg.display import Display @@ -29,6 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg5kc_commands.py b/src/tm_devices/commands/_awg5kc_commands.py index 2e7410b2..a8c066c7 100644 --- a/src/tm_devices/commands/_awg5kc_commands.py +++ b/src/tm_devices/commands/_awg5kc_commands.py @@ -8,11 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._32dszm_awg.awgcontrol import Awgcontrol from ._32dszm_awg.diagnostic import Diagnostic from ._32dszm_awg.display import Display @@ -29,6 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg70ka_commands.py b/src/tm_devices/commands/_awg70ka_commands.py index b1af0894..e2f638f6 100644 --- a/src/tm_devices/commands/_awg70ka_commands.py +++ b/src/tm_devices/commands/_awg70ka_commands.py @@ -30,11 +30,11 @@ from ._3rs8qy_awg.system import System from ._3rs8qy_awg.trigger import Trigger from ._3rs8qy_awg.wlist import Wlist -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg70kb_commands.py b/src/tm_devices/commands/_awg70kb_commands.py index dee089f9..1792f8a4 100644 --- a/src/tm_devices/commands/_awg70kb_commands.py +++ b/src/tm_devices/commands/_awg70kb_commands.py @@ -30,11 +30,11 @@ from ._3rs8qy_awg.system import System from ._3rs8qy_awg.trigger import Trigger from ._3rs8qy_awg.wlist import Wlist -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg7k_commands.py b/src/tm_devices/commands/_awg7k_commands.py index 26008ada..9b687f5d 100644 --- a/src/tm_devices/commands/_awg7k_commands.py +++ b/src/tm_devices/commands/_awg7k_commands.py @@ -8,11 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._32dszm_awg.awgcontrol import Awgcontrol from ._32dszm_awg.diagnostic import Diagnostic from ._32dszm_awg.display import Display @@ -29,6 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg7kc_commands.py b/src/tm_devices/commands/_awg7kc_commands.py index 2bb890bc..98a51a17 100644 --- a/src/tm_devices/commands/_awg7kc_commands.py +++ b/src/tm_devices/commands/_awg7kc_commands.py @@ -8,11 +8,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._32dszm_awg.awgcontrol import Awgcontrol from ._32dszm_awg.diagnostic import Diagnostic from ._32dszm_awg.display import Display @@ -29,6 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo2k_commands.py b/src/tm_devices/commands/_dpo2k_commands.py index 047ef3c7..2f3061b2 100644 --- a/src/tm_devices/commands/_dpo2k_commands.py +++ b/src/tm_devices/commands/_dpo2k_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_dpo2kb_commands.py b/src/tm_devices/commands/_dpo2kb_commands.py index 4526e69d..7b49c118 100644 --- a/src/tm_devices/commands/_dpo2kb_commands.py +++ b/src/tm_devices/commands/_dpo2kb_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_dpo4k_commands.py b/src/tm_devices/commands/_dpo4k_commands.py index bb000a35..11c850ae 100644 --- a/src/tm_devices/commands/_dpo4k_commands.py +++ b/src/tm_devices/commands/_dpo4k_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1mq0z9_msodpo.rf import Rf from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog @@ -70,34 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo4kb_commands.py b/src/tm_devices/commands/_dpo4kb_commands.py index 2224c1b2..a8e03138 100644 --- a/src/tm_devices/commands/_dpo4kb_commands.py +++ b/src/tm_devices/commands/_dpo4kb_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1mq0z9_msodpo.rf import Rf from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog @@ -70,34 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo5kb_commands.py b/src/tm_devices/commands/_dpo5kb_commands.py index 4149a611..0602a6cf 100644 --- a/src/tm_devices/commands/_dpo5kb_commands.py +++ b/src/tm_devices/commands/_dpo5kb_commands.py @@ -15,33 +15,11 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -102,12 +80,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._53md2e_dpomso.fpanel import Fpanel +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kc_commands.py b/src/tm_devices/commands/_dpo70kc_commands.py index bfa1a86c..6067fdbd 100644 --- a/src/tm_devices/commands/_dpo70kc_commands.py +++ b/src/tm_devices/commands/_dpo70kc_commands.py @@ -13,34 +13,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kd_commands.py b/src/tm_devices/commands/_dpo70kd_commands.py index c9b085a9..4c98de10 100644 --- a/src/tm_devices/commands/_dpo70kd_commands.py +++ b/src/tm_devices/commands/_dpo70kd_commands.py @@ -13,34 +13,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kdx_commands.py b/src/tm_devices/commands/_dpo70kdx_commands.py index 580ea453..55e9dc42 100644 --- a/src/tm_devices/commands/_dpo70kdx_commands.py +++ b/src/tm_devices/commands/_dpo70kdx_commands.py @@ -13,34 +13,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70ksx_commands.py b/src/tm_devices/commands/_dpo70ksx_commands.py index 47804845..5ca892fd 100644 --- a/src/tm_devices/commands/_dpo70ksx_commands.py +++ b/src/tm_devices/commands/_dpo70ksx_commands.py @@ -20,29 +20,7 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -103,12 +81,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo7kc_commands.py b/src/tm_devices/commands/_dpo7kc_commands.py index a81ca494..1b90e49d 100644 --- a/src/tm_devices/commands/_dpo7kc_commands.py +++ b/src/tm_devices/commands/_dpo7kc_commands.py @@ -14,33 +14,11 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dsa70kc_commands.py b/src/tm_devices/commands/_dsa70kc_commands.py index 4ea2c6d1..963a0726 100644 --- a/src/tm_devices/commands/_dsa70kc_commands.py +++ b/src/tm_devices/commands/_dsa70kc_commands.py @@ -13,34 +13,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dsa70kd_commands.py b/src/tm_devices/commands/_dsa70kd_commands.py index aa8b85dd..4ec1bd67 100644 --- a/src/tm_devices/commands/_dsa70kd_commands.py +++ b/src/tm_devices/commands/_dsa70kd_commands.py @@ -13,34 +13,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,12 +79,34 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/__init__.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/__init__.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/__init__.py diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/allev.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/allev.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py index 79cecb28..e04093f3 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/allev.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/busy.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py similarity index 92% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/busy.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py index fa24a4b1..3a47da70 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/busy.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/dese.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py similarity index 95% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/dese.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py index 9d5a8e56..89d4b16b 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/dese.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/event.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/event.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py index d427d8f8..f1eb1e72 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/event.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evmsg.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evmsg.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py index c11eb0ef..e2ede9f4 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evmsg.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evqty.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evqty.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py index 26c95769..423aa812 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/evqty.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/factory.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py similarity index 94% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/factory.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py index 5fa24b1c..57beb6a3 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/factory.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/id.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/id.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py index ff26ee32..3e49aae8 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/id.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/miscellaneous.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py similarity index 96% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/miscellaneous.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py index ee9fcd9f..bf5bc3c1 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/miscellaneous.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/newpass.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/newpass.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py index b7b5a200..4722b786 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/newpass.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/password.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py similarity index 94% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/password.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py index 8995d905..8f35cb6a 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/password.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/rem.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/rem.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py index b0f5e5ce..0f8d9156 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/rem.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/set.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py similarity index 94% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/set.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py index 82cd83d6..6fe43c64 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/set.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/status_and_error.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py similarity index 94% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/status_and_error.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py index be96f7f9..eeba3534 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/status_and_error.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/teksecure.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/teksecure.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py index 9e5dc341..4a343244 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/teksecure.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/wavfrm.py b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py similarity index 93% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/wavfrm.py rename to src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py index 689e6e47..d03625f8 100644 --- a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/wavfrm.py +++ b/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_1nrybj_lpdmsodpomdo/__init__.py b/src/tm_devices/commands/_e3e9uu_lpdmso/__init__.py similarity index 100% rename from src/tm_devices/commands/_1nrybj_lpdmsodpomdo/__init__.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/__init__.py diff --git a/src/tm_devices/commands/_c3g63_lpdmso/acquire.py b/src/tm_devices/commands/_e3e9uu_lpdmso/acquire.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/acquire.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/acquire.py index 40a41657..6e058b52 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/acquire.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/acquire.py @@ -2,7 +2,7 @@ """The acquire commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/actonevent.py b/src/tm_devices/commands/_e3e9uu_lpdmso/actonevent.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/actonevent.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/actonevent.py index 1a8f58db..a022712a 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/actonevent.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/actonevent.py @@ -2,7 +2,7 @@ """The actonevent commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/application.py b/src/tm_devices/commands/_e3e9uu_lpdmso/application.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/application.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/application.py index b521a93d..6a865318 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/application.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/application.py @@ -1,7 +1,7 @@ """The application commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/auxout.py b/src/tm_devices/commands/_e3e9uu_lpdmso/auxout.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/auxout.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/auxout.py index 76697d9e..f6552dcc 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/auxout.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/auxout.py @@ -1,7 +1,7 @@ """The auxout commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/bus.py b/src/tm_devices/commands/_e3e9uu_lpdmso/bus.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/bus.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/bus.py index 0ed63121..44c69383 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/bus.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/bus.py @@ -3,7 +3,7 @@ """The bus commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/callouts.py b/src/tm_devices/commands/_e3e9uu_lpdmso/callouts.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/callouts.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/callouts.py index 1530819d..5d49ebf6 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/callouts.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/callouts.py @@ -1,7 +1,7 @@ """The callouts commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/ch.py b/src/tm_devices/commands/_e3e9uu_lpdmso/ch.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/ch.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/ch.py index c125bdde..53ffb4a8 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/ch.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/ch.py @@ -2,7 +2,7 @@ """The ch commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/customtable.py b/src/tm_devices/commands/_e3e9uu_lpdmso/customtable.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/customtable.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/customtable.py index fa621b94..01937402 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/customtable.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/customtable.py @@ -1,7 +1,7 @@ """The customtable commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/data.py b/src/tm_devices/commands/_e3e9uu_lpdmso/data.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/data.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/data.py index f86b1d6b..b9f20864 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/data.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/data.py @@ -1,7 +1,7 @@ """The data commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/diag.py b/src/tm_devices/commands/_e3e9uu_lpdmso/diag.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/diag.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/diag.py index 1840f211..357e43e1 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/diag.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/diag.py @@ -1,7 +1,7 @@ """The diag commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/diggrp.py b/src/tm_devices/commands/_e3e9uu_lpdmso/diggrp.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/diggrp.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/diggrp.py index cc57e584..28eef9c7 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/diggrp.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/diggrp.py @@ -1,7 +1,7 @@ """The diggrp commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/display.py b/src/tm_devices/commands/_e3e9uu_lpdmso/display.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/display.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/display.py index 710b1abc..e146f6fd 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/display.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/display.py @@ -3,7 +3,7 @@ """The display commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/dvm.py b/src/tm_devices/commands/_e3e9uu_lpdmso/dvm.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/dvm.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/dvm.py index 7d78d7a0..58e0ea89 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/dvm.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/dvm.py @@ -1,7 +1,7 @@ """The dvm commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/eyemask.py b/src/tm_devices/commands/_e3e9uu_lpdmso/eyemask.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/eyemask.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/eyemask.py index f15b7c3a..a43f2ab8 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/eyemask.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/eyemask.py @@ -1,7 +1,7 @@ """The eyemask commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/fpanel.py b/src/tm_devices/commands/_e3e9uu_lpdmso/fpanel.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/fpanel.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/fpanel.py index f8feef0f..bbb491c9 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/fpanel.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/fpanel.py @@ -2,7 +2,7 @@ """The fpanel commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/histogram.py b/src/tm_devices/commands/_e3e9uu_lpdmso/histogram.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/histogram.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/histogram.py index c7c1f2b1..14831b16 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/histogram.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/histogram.py @@ -3,7 +3,7 @@ """The histogram commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py b/src/tm_devices/commands/_e3e9uu_lpdmso/horizontal.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/horizontal.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/horizontal.py index 5707471e..91acb7c2 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/horizontal.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/horizontal.py @@ -2,7 +2,7 @@ """The horizontal commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/license.py b/src/tm_devices/commands/_e3e9uu_lpdmso/license.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/license.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/license.py index 2203fe56..ddd387c6 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/license.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/license.py @@ -1,7 +1,7 @@ """The license commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/mask.py b/src/tm_devices/commands/_e3e9uu_lpdmso/mask.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/mask.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/mask.py index 5faa8ee5..87b34b08 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/mask.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/mask.py @@ -2,7 +2,7 @@ """The mask commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/math.py b/src/tm_devices/commands/_e3e9uu_lpdmso/math.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/math.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/math.py index 92fd308a..e6a40259 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/math.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/math.py @@ -3,7 +3,7 @@ """The math commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/matharbflt.py b/src/tm_devices/commands/_e3e9uu_lpdmso/matharbflt.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/matharbflt.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/matharbflt.py index b61cc5e8..d3950027 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/matharbflt.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/matharbflt.py @@ -1,7 +1,7 @@ """The matharbflt commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/measurement.py b/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/measurement.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py index b954508a..5aa9564d 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/measurement.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py @@ -3,7 +3,7 @@ """The measurement commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/peakstable.py b/src/tm_devices/commands/_e3e9uu_lpdmso/peakstable.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/peakstable.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/peakstable.py index da81b1ab..9e2b9591 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/peakstable.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/peakstable.py @@ -1,7 +1,7 @@ """The peakstable commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/pilogger.py b/src/tm_devices/commands/_e3e9uu_lpdmso/pilogger.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/pilogger.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/pilogger.py index 6aa40ef0..3eafecf8 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/pilogger.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/pilogger.py @@ -1,7 +1,7 @@ """The pilogger commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/plot.py b/src/tm_devices/commands/_e3e9uu_lpdmso/plot.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/plot.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/plot.py index f0c5334e..ab893480 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/plot.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/plot.py @@ -3,7 +3,7 @@ """The plot commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/power.py b/src/tm_devices/commands/_e3e9uu_lpdmso/power.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/power.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/power.py index 01fe7966..0d504457 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/power.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/power.py @@ -3,7 +3,7 @@ """The power commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/ref.py b/src/tm_devices/commands/_e3e9uu_lpdmso/ref.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/ref.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/ref.py index 73a312dd..afc070d1 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/ref.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/ref.py @@ -2,7 +2,7 @@ """The ref commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/save.py b/src/tm_devices/commands/_e3e9uu_lpdmso/save.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/save.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/save.py index d02a21e9..64b7bd69 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/save.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/save.py @@ -3,7 +3,7 @@ """The save commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/saveon.py b/src/tm_devices/commands/_e3e9uu_lpdmso/saveon.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/saveon.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/saveon.py index 78a21d1e..35baf18b 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/saveon.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/saveon.py @@ -1,7 +1,7 @@ """The saveon commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/saveonevent.py b/src/tm_devices/commands/_e3e9uu_lpdmso/saveonevent.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/saveonevent.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/saveonevent.py index a95627ff..261a87e9 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/saveonevent.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/saveonevent.py @@ -1,7 +1,7 @@ """The saveonevent commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/search.py b/src/tm_devices/commands/_e3e9uu_lpdmso/search.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/search.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/search.py index 32caf62d..c62afb51 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/search.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/search.py @@ -3,7 +3,7 @@ """The search commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/searchtable.py b/src/tm_devices/commands/_e3e9uu_lpdmso/searchtable.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/searchtable.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/searchtable.py index c4197cfd..e0237f86 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/searchtable.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/searchtable.py @@ -1,7 +1,7 @@ """The searchtable commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/select.py b/src/tm_devices/commands/_e3e9uu_lpdmso/select.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/select.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/select.py index 97e7fd51..4de4b99f 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/select.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/select.py @@ -1,7 +1,7 @@ """The select commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/sv.py b/src/tm_devices/commands/_e3e9uu_lpdmso/sv.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/sv.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/sv.py index cbbf15d9..51278f0d 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/sv.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/sv.py @@ -2,7 +2,7 @@ """The sv commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/touchscreen.py b/src/tm_devices/commands/_e3e9uu_lpdmso/touchscreen.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/touchscreen.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/touchscreen.py index 3298335a..fdb22ac3 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/touchscreen.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/touchscreen.py @@ -1,7 +1,7 @@ """The touchscreen commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/trigger.py b/src/tm_devices/commands/_e3e9uu_lpdmso/trigger.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/trigger.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/trigger.py index 0f2f2a08..59daf187 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/trigger.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/trigger.py @@ -3,7 +3,7 @@ """The trigger commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/tstamptable.py b/src/tm_devices/commands/_e3e9uu_lpdmso/tstamptable.py similarity index 98% rename from src/tm_devices/commands/_c3g63_lpdmso/tstamptable.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/tstamptable.py index 8ab6759c..94bf646c 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/tstamptable.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/tstamptable.py @@ -1,7 +1,7 @@ """The tstamptable commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/visual.py b/src/tm_devices/commands/_e3e9uu_lpdmso/visual.py similarity index 99% rename from src/tm_devices/commands/_c3g63_lpdmso/visual.py rename to src/tm_devices/commands/_e3e9uu_lpdmso/visual.py index aa7a2325..d807d096 100644 --- a/src/tm_devices/commands/_c3g63_lpdmso/visual.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/visual.py @@ -3,7 +3,7 @@ """The visual commands module. These commands are used in the following models: -LPD6, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_e3h2zs_lpdmso/__init__.py similarity index 100% rename from src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/__init__.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/__init__.py diff --git a/src/tm_devices/commands/_c69b1_lpdmso/afg.py b/src/tm_devices/commands/_e3h2zs_lpdmso/afg.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/afg.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/afg.py index 3b82b515..7315b035 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/afg.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/afg.py @@ -3,7 +3,7 @@ """The afg commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/autosavepitimeout.py b/src/tm_devices/commands/_e3h2zs_lpdmso/autosavepitimeout.py similarity index 95% rename from src/tm_devices/commands/_c69b1_lpdmso/autosavepitimeout.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/autosavepitimeout.py index a31fb962..f0801342 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/autosavepitimeout.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/autosavepitimeout.py @@ -1,7 +1,7 @@ """The autosavepitimeout commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/autosaveuitimeout.py b/src/tm_devices/commands/_e3h2zs_lpdmso/autosaveuitimeout.py similarity index 95% rename from src/tm_devices/commands/_c69b1_lpdmso/autosaveuitimeout.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/autosaveuitimeout.py index acdc75b7..b9ec9830 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/autosaveuitimeout.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/autosaveuitimeout.py @@ -1,7 +1,7 @@ """The autosaveuitimeout commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/autoset.py b/src/tm_devices/commands/_e3h2zs_lpdmso/autoset.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/autoset.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/autoset.py index 7ce529b6..4e39742d 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/autoset.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/autoset.py @@ -1,7 +1,7 @@ """The autoset commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/bustable.py b/src/tm_devices/commands/_e3h2zs_lpdmso/bustable.py similarity index 98% rename from src/tm_devices/commands/_c69b1_lpdmso/bustable.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/bustable.py index c62cb4d9..889ad08d 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/bustable.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/bustable.py @@ -1,7 +1,7 @@ """The bustable commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/calibrate.py b/src/tm_devices/commands/_e3h2zs_lpdmso/calibrate.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/calibrate.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/calibrate.py index 9874d679..ef90316c 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/calibrate.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/calibrate.py @@ -1,7 +1,7 @@ """The calibrate commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/configuration.py b/src/tm_devices/commands/_e3h2zs_lpdmso/configuration.py similarity index 98% rename from src/tm_devices/commands/_c69b1_lpdmso/configuration.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/configuration.py index 25942bff..6e0144af 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/configuration.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/configuration.py @@ -1,7 +1,7 @@ """The configuration commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/connected.py b/src/tm_devices/commands/_e3h2zs_lpdmso/connected.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/connected.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/connected.py index c5b7fdde..4aee88e5 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/connected.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/connected.py @@ -1,7 +1,7 @@ """The connected commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/curve.py b/src/tm_devices/commands/_e3h2zs_lpdmso/curve.py similarity index 98% rename from src/tm_devices/commands/_c69b1_lpdmso/curve.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/curve.py index 04baa0cd..ed6bc0f8 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/curve.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/curve.py @@ -1,7 +1,7 @@ """The curve commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/curvestream.py b/src/tm_devices/commands/_e3h2zs_lpdmso/curvestream.py similarity index 97% rename from src/tm_devices/commands/_c69b1_lpdmso/curvestream.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/curvestream.py index 93607fa1..0b9b89ba 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/curvestream.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/curvestream.py @@ -1,7 +1,7 @@ """The curvestream commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/date.py b/src/tm_devices/commands/_e3h2zs_lpdmso/date.py similarity index 94% rename from src/tm_devices/commands/_c69b1_lpdmso/date.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/date.py index 8215659d..6ec31ad8 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/date.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/date.py @@ -1,7 +1,7 @@ """The date commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/ethernet.py b/src/tm_devices/commands/_e3h2zs_lpdmso/ethernet.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/ethernet.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/ethernet.py index a2a200fe..942756f5 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/ethernet.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/ethernet.py @@ -1,7 +1,7 @@ """The ethernet commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py b/src/tm_devices/commands/_e3h2zs_lpdmso/filesystem.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/filesystem.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/filesystem.py index 49900d24..dbed1d5c 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/filesystem.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/filesystem.py @@ -2,7 +2,7 @@ """The filesystem commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/mainwindow.py b/src/tm_devices/commands/_e3h2zs_lpdmso/mainwindow.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/mainwindow.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/mainwindow.py index 8cef5561..23da8bb0 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/mainwindow.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/mainwindow.py @@ -1,7 +1,7 @@ """The mainwindow commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/meastable.py b/src/tm_devices/commands/_e3h2zs_lpdmso/meastable.py similarity index 98% rename from src/tm_devices/commands/_c69b1_lpdmso/meastable.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/meastable.py index 75c39ab2..25d85b2d 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/meastable.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/meastable.py @@ -1,7 +1,7 @@ """The meastable commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/recall.py b/src/tm_devices/commands/_e3h2zs_lpdmso/recall.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/recall.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/recall.py index 17d67833..a0013a30 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/recall.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/recall.py @@ -1,7 +1,7 @@ """The recall commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/socketserver.py b/src/tm_devices/commands/_e3h2zs_lpdmso/socketserver.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/socketserver.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/socketserver.py index 07ea3e94..85529a44 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/socketserver.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/socketserver.py @@ -1,7 +1,7 @@ """The socketserver commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/time.py b/src/tm_devices/commands/_e3h2zs_lpdmso/time.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/time.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/time.py index 83f48475..6b3a5e15 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/time.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/time.py @@ -1,7 +1,7 @@ """The time commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/undo.py b/src/tm_devices/commands/_e3h2zs_lpdmso/undo.py similarity index 93% rename from src/tm_devices/commands/_c69b1_lpdmso/undo.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/undo.py index 9585fd72..8429bd85 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/undo.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/undo.py @@ -1,7 +1,7 @@ """The undo commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/usbdevice.py b/src/tm_devices/commands/_e3h2zs_lpdmso/usbdevice.py similarity index 98% rename from src/tm_devices/commands/_c69b1_lpdmso/usbdevice.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/usbdevice.py index 08295368..defa1789 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/usbdevice.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/usbdevice.py @@ -1,7 +1,7 @@ """The usbdevice commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/vertical.py b/src/tm_devices/commands/_e3h2zs_lpdmso/vertical.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/vertical.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/vertical.py index fa678a3c..f4a0924b 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/vertical.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/vertical.py @@ -1,7 +1,7 @@ """The vertical commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/wfmoutpre.py b/src/tm_devices/commands/_e3h2zs_lpdmso/wfmoutpre.py similarity index 99% rename from src/tm_devices/commands/_c69b1_lpdmso/wfmoutpre.py rename to src/tm_devices/commands/_e3h2zs_lpdmso/wfmoutpre.py index 5a7a1de6..bb8fce95 100644 --- a/src/tm_devices/commands/_c69b1_lpdmso/wfmoutpre.py +++ b/src/tm_devices/commands/_e3h2zs_lpdmso/wfmoutpre.py @@ -2,7 +2,7 @@ """The wfmoutpre commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_e4de2d_lpdmsomdo/__init__.py similarity index 100% rename from src/tm_devices/commands/_5vppzt_lpdmsodpomdodsa/__init__.py rename to src/tm_devices/commands/_e4de2d_lpdmsomdo/__init__.py diff --git a/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py b/src/tm_devices/commands/_e4de2d_lpdmsomdo/clear.py similarity index 92% rename from src/tm_devices/commands/_uph56_lpdmsomdo/clear.py rename to src/tm_devices/commands/_e4de2d_lpdmsomdo/clear.py index 88b0dbf0..1ff725e8 100644 --- a/src/tm_devices/commands/_uph56_lpdmsomdo/clear.py +++ b/src/tm_devices/commands/_e4de2d_lpdmsomdo/clear.py @@ -1,7 +1,7 @@ """The clear commands module. These commands are used in the following models: -LPD6, MDO3, MSO2, MSO4, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MDO3, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/__init__.py b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_5y3emz_lpdmsodpodsa/__init__.py rename to src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/__init__.py diff --git a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/alias.py b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py similarity index 99% rename from src/tm_devices/commands/_5y3emz_lpdmsodpodsa/alias.py rename to src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py index 94026fff..9e3b88f9 100644 --- a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/alias.py +++ b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py @@ -1,8 +1,8 @@ """The alias commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/header.py b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py similarity index 95% rename from src/tm_devices/commands/_5y3emz_lpdmsodpodsa/header.py rename to src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py index 80010444..1d0fd8db 100644 --- a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/header.py +++ b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py @@ -1,8 +1,8 @@ """The header commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/status_and_error.py b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py similarity index 96% rename from src/tm_devices/commands/_5y3emz_lpdmsodpodsa/status_and_error.py rename to src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py index 55bb5806..713d7621 100644 --- a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/status_and_error.py +++ b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py @@ -1,8 +1,8 @@ """The status_and_error commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/verbose.py b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py similarity index 93% rename from src/tm_devices/commands/_5y3emz_lpdmsodpodsa/verbose.py rename to src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py index cd5a2275..b9b999ab 100644 --- a/src/tm_devices/commands/_5y3emz_lpdmsodpodsa/verbose.py +++ b/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py @@ -1,8 +1,8 @@ """The verbose commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, +MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wz_lpdmsomdodpoafgawgdsa/__init__.py b/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_5y90wz_lpdmsomdodpoafgawgdsa/__init__.py rename to src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/__init__.py diff --git a/src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/lock.py b/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py similarity index 96% rename from src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/lock.py rename to src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py index 3ca11151..7fc8d39c 100644 --- a/src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/lock.py +++ b/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, -MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/unlock.py b/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py similarity index 93% rename from src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/unlock.py rename to src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py index abca080f..6e591f08 100644 --- a/src/tm_devices/commands/_5v6218_lpdmsodpomdodsa/unlock.py +++ b/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py @@ -2,8 +2,8 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, -MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5ylo0x_lpdmsodpomdoawgdsa/__init__.py b/src/tm_devices/commands/_e6606z_lpdmsomdodpo/__init__.py similarity index 100% rename from src/tm_devices/commands/_5ylo0x_lpdmsodpomdoawgdsa/__init__.py rename to src/tm_devices/commands/_e6606z_lpdmsomdodpo/__init__.py diff --git a/src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/pause.py b/src/tm_devices/commands/_e6606z_lpdmsomdodpo/pause.py similarity index 95% rename from src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/pause.py rename to src/tm_devices/commands/_e6606z_lpdmsomdodpo/pause.py index 07d6ebc9..9cd21eab 100644 --- a/src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/pause.py +++ b/src/tm_devices/commands/_e6606z_lpdmsomdodpo/pause.py @@ -1,8 +1,8 @@ """The pause commands module. These commands are used in the following models: -DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, -MSO5LP, MSO6, MSO6B +DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/rosc.py b/src/tm_devices/commands/_e6606z_lpdmsomdodpo/rosc.py similarity index 98% rename from src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/rosc.py rename to src/tm_devices/commands/_e6606z_lpdmsomdodpo/rosc.py index 61703f9a..71687bad 100644 --- a/src/tm_devices/commands/_1mn7uh_lpdmsomdodpo/rosc.py +++ b/src/tm_devices/commands/_e6606z_lpdmsomdodpo/rosc.py @@ -1,8 +1,8 @@ """The rosc commands module. These commands are used in the following models: -DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, -MSO5LP, MSO6, MSO6B +DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/__init__.py b/src/tm_devices/commands/_e6lgg1_lpdmsodpomdo/__init__.py similarity index 100% rename from src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/__init__.py rename to src/tm_devices/commands/_e6lgg1_lpdmsodpomdo/__init__.py diff --git a/src/tm_devices/commands/_1nrybj_lpdmsodpomdo/totaluptime.py b/src/tm_devices/commands/_e6lgg1_lpdmsodpomdo/totaluptime.py similarity index 95% rename from src/tm_devices/commands/_1nrybj_lpdmsodpomdo/totaluptime.py rename to src/tm_devices/commands/_e6lgg1_lpdmsodpomdo/totaluptime.py index 6ae73bc8..77ff0c4d 100644 --- a/src/tm_devices/commands/_1nrybj_lpdmsodpomdo/totaluptime.py +++ b/src/tm_devices/commands/_e6lgg1_lpdmsodpomdo/totaluptime.py @@ -2,7 +2,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, -MSO4K, MSO4KB, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5LP, MSO6, MSO6B THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c3g63_lpdmso/__init__.py b/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_c3g63_lpdmso/__init__.py rename to src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/__init__.py diff --git a/src/tm_devices/commands/_5y90wz_lpdmsomdodpoafgawgdsa/status_and_error.py b/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py similarity index 93% rename from src/tm_devices/commands/_5y90wz_lpdmsomdodpoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py index 27ecaa0f..e710db28 100644 --- a/src/tm_devices/commands/_5y90wz_lpdmsomdodpoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py @@ -3,7 +3,7 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, -MDO4KB, MDO4KC, MSO2, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, +MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_c69b1_lpdmso/__init__.py b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_c69b1_lpdmso/__init__.py rename to src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/__init__.py diff --git a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/calibration.py b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py similarity index 89% rename from src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/calibration.py rename to src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py index 45b3ace1..6419ed92 100644 --- a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/calibration.py +++ b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py @@ -3,8 +3,8 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, -MSO6, MSO6B, MSO70KC, MSO70KDX +MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, +MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/miscellaneous.py b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py similarity index 94% rename from src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/miscellaneous.py rename to src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py index 1dcccdd2..c3914474 100644 --- a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/miscellaneous.py +++ b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py @@ -3,8 +3,8 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, -MSO6, MSO6B, MSO70KC, MSO70KDX +MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, +MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/status_and_error.py b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py similarity index 98% rename from src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py index 23cdd094..6116c52a 100644 --- a/src/tm_devices/commands/_5z14a1_lpdmsodpomdoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py @@ -3,8 +3,8 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, -MSO6, MSO6B, MSO70KC, MSO70KDX +MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, +MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_uph56_lpdmsomdo/__init__.py b/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_uph56_lpdmsomdo/__init__.py rename to src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/__init__.py diff --git a/src/tm_devices/commands/_5ylo0x_lpdmsodpomdoawgdsa/status_and_error.py b/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py similarity index 96% rename from src/tm_devices/commands/_5ylo0x_lpdmsodpomdoawgdsa/status_and_error.py rename to src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py index 93457b79..2cc68aab 100644 --- a/src/tm_devices/commands/_5ylo0x_lpdmsodpomdoawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py @@ -3,8 +3,8 @@ These commands are used in the following models: AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, -MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, -MSO70KDX +MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_helpers/generic_commands.py b/src/tm_devices/commands/_helpers/generic_commands.py index ebfa8005..b1350290 100644 --- a/src/tm_devices/commands/_helpers/generic_commands.py +++ b/src/tm_devices/commands/_helpers/generic_commands.py @@ -53,7 +53,7 @@ def __missing__(self, key: Any) -> Any: # noinspection PyArgumentList # pylint: disable=not-callable dict.__setitem__(self, key, self.default_factory(key)) # type: ignore return cast(Any, self[key]) - return cast(Any, super().__missing__(key)) + return cast(Any, super().__missing__(key)) # pyright: ignore[reportUnknownMemberType] @total_ordering # If comparisons are slowing down the code, implementing the rest would speed it up diff --git a/src/tm_devices/commands/_lpd6_commands.py b/src/tm_devices/commands/_lpd6_commands.py index 6de0c5b1..c0e3c665 100644 --- a/src/tm_devices/commands/_lpd6_commands.py +++ b/src/tm_devices/commands/_lpd6_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mdo3_commands.py b/src/tm_devices/commands/_mdo3_commands.py index 69692663..4af27937 100644 --- a/src/tm_devices/commands/_mdo3_commands.py +++ b/src/tm_devices/commands/_mdo3_commands.py @@ -46,8 +46,6 @@ from ._1ltpwt_mdomsodpo.wfminpre import Wfminpre from ._1ltpwt_mdomsodpo.wfmoutpre import Wfmoutpre from ._1ltpwt_mdomsodpo.zoom import Zoom -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog from ._1nmc1o_msodpomdo.header import Header @@ -56,32 +54,35 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._ujuvb_mdo.acquire import Acquire from ._ujuvb_mdo.configuration import Configuration @@ -99,7 +100,6 @@ from ._ujuvb_mdo.select import Select from ._ujuvb_mdo.setup1 import Setup1Item from ._ujuvb_mdo.trigger import Trigger -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mdo3k_commands.py b/src/tm_devices/commands/_mdo3k_commands.py index 4bda09be..01844b27 100644 --- a/src/tm_devices/commands/_mdo3k_commands.py +++ b/src/tm_devices/commands/_mdo3k_commands.py @@ -57,8 +57,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog from ._1nmc1o_msodpomdo.header import Header @@ -67,34 +65,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._usaa3_mdo.rf import Rf from ._usaa3_mdo.search import Search diff --git a/src/tm_devices/commands/_mdo4k_commands.py b/src/tm_devices/commands/_mdo4k_commands.py index d52aaf3e..1cc1ae87 100644 --- a/src/tm_devices/commands/_mdo4k_commands.py +++ b/src/tm_devices/commands/_mdo4k_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog from ._1nmc1o_msodpomdo.header import Header @@ -69,35 +67,37 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._163n04_mdo.search import Search +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mdo4kb_commands.py b/src/tm_devices/commands/_mdo4kb_commands.py index ced95116..034c7a0b 100644 --- a/src/tm_devices/commands/_mdo4kb_commands.py +++ b/src/tm_devices/commands/_mdo4kb_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog from ._1nmc1o_msodpomdo.header import Header @@ -69,35 +67,37 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._16x4xq_mdo.search import Search +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mdo4kc_commands.py b/src/tm_devices/commands/_mdo4kc_commands.py index 27dbfbee..33f0d42d 100644 --- a/src/tm_devices/commands/_mdo4kc_commands.py +++ b/src/tm_devices/commands/_mdo4kc_commands.py @@ -60,8 +60,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog from ._1nmc1o_msodpomdo.header import Header @@ -70,34 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso2_commands.py b/src/tm_devices/commands/_mso2_commands.py index 75e2b9ec..6ab7d05e 100644 --- a/src/tm_devices/commands/_mso2_commands.py +++ b/src/tm_devices/commands/_mso2_commands.py @@ -9,9 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._1zn03_mso.acquire import Acquire from ._1zn03_mso.actonevent import Actonevent from ._1zn03_mso.auxout import Auxout @@ -40,57 +37,60 @@ from ._1zn03_mso.select import Select from ._1zn03_mso.touchscreen import Touchscreen from ._1zn03_mso.trigger import Trigger -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso2k_commands.py b/src/tm_devices/commands/_mso2k_commands.py index 6c2d679a..30bce659 100644 --- a/src/tm_devices/commands/_mso2k_commands.py +++ b/src/tm_devices/commands/_mso2k_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_mso2kb_commands.py b/src/tm_devices/commands/_mso2kb_commands.py index 602f1da5..26310c14 100644 --- a/src/tm_devices/commands/_mso2kb_commands.py +++ b/src/tm_devices/commands/_mso2kb_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_mso4_commands.py b/src/tm_devices/commands/_mso4_commands.py index 27ac5498..1df37317 100644 --- a/src/tm_devices/commands/_mso4_commands.py +++ b/src/tm_devices/commands/_mso4_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso4b_commands.py b/src/tm_devices/commands/_mso4b_commands.py new file mode 100644 index 00000000..462dbe69 --- /dev/null +++ b/src/tm_devices/commands/_mso4b_commands.py @@ -0,0 +1,3993 @@ +# pylint: disable=too-many-lines +"""The MSO4B commands module. + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. +""" +from typing import Any, Dict, Optional + +from tm_devices.drivers.pi.pi_device import PIDevice + +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._helpers import DefaultDictPassKeyToFactory + + +# pylint: disable=too-few-public-methods +class MSO4BCommandConstants: + """The MSO4B command argument constants. + + This provides access to all the string constants which can be used as arguments for MSO4B + commands. + """ + + A = "A" + AACQS = "AACQS" # AACQs + ABC = "ABC" + ABCB = "ABCB" + ABORT = "ABORT" + # ABORT = "ABORt" + # ABORT = "ABOrt" + ABSOLUTE = "ABSOLUTE" + # ABSOLUTE = "ABSolute" + AC = "AC" + ACB = "ACB" + ACBC = "ACBC" + ACCM = "ACCM" + ACDC = "ACDC" + ACDCRMS = "ACDCRMS" + ACK = "ACK" + ACKMISS = "ACKMISS" + ACQ = "ACQ" + ACRMS = "ACRMS" + ADD = "ADD" + ADDR10 = "ADDR10" + ADDR7 = "ADDR7" + ADDRANDDATA = "ADDRANDDATA" + ADDRESS = "ADDRESS" # ADDRess + ADVANCED = "ADVANCED" # ADVanced + AFG = "AFG" + AFG31000 = "AFG31000" + AFREQUENCIES = "AFREQUENCIES" # AFREQuencies + ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch + ALL = "ALL" + ALLBITS = "ALLBITS" # ALLBits + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines + AMPLINEAR = "AMPLINEAR" # AMPLINear + AN = "AN" + ANALOG = "ANALOG" + AND = "AND" + ANY = "ANY" + ANYERROR = "ANYERROR" # ANYERRor + APASS = "APASS" # APASs + APPLY = "APPLY" + APPPWR = "APPPWR" + APPPWRSUM = "APPPWRSUM" + APRD = "APRD" + APRW = "APRW" + APWR = "APWR" + ARBITRARY = "ARBITRARY" # ARBitrary + ARINC429 = "ARINC429" + ARMW = "ARMW" + ARROW = "ARROW" + ASCII = "ASCII" + # ASCII = "ASCIi" + # ASCII = "ASCii" + ASIC = "ASIC" + ATRIGGER = "ATRIGGER" # ATRIGger + AUDIO = "AUDIO" # AUDio + AUTHENTICATE = "AUTHENTICATE" # AUTHenticate + AUTO = "AUTO" + # AUTO = "Auto" + AUTOMATIC = "AUTOMATIC" # AUTOmatic + AUTOSET = "AUTOSET" # AUTOset + AUXILIARY = "AUXILIARY" # AUXiliary + AVERAGE = "AVERAGE" # AVErage + B = "B" + BACA = "BACA" + BACKWARD = "BACKWARD" + # BACKWARD = "BACKWard" + BADDR = "BADDR" # BADDr + BADGE = "BADGE" + BASIC = "BASIC" # BASic + BDIFFBP = "BDIFFBP" + BEACON = "BEACON" # BEACon + BESSELCUSTOM = "BESSELCUSTOM" # BESSelCUSTom + BINARY = "BINARY" + # BINARY = "BINary" + BITS = "BITS" + BITSTUFFING = "BITSTUFFING" # BITSTUFFing + BLACKMANHARRIS = "BLACKMANHARRIS" # BLACKMANHarris + # BLACKMANHARRIS = "BLACkmanharris" + BLOCKID = "BLOCKID" # BLOCkid + BM = "BM" + BMP = "BMP" + BMSGEND = "BMSGEND" # BMSGEnd + BN = "BN" + BOOKMARK = "BOOKMARK" + BOTH = "BOTH" + BPASS = "BPASS" # BPASs + BRD = "BRD" + BROADCAST = "BROADCAST" # BROadcast + BRW = "BRW" + BSTOP = "BSTOP" # BSTop + BURST = "BURST" # BURSt + BUS = "BUS" + # BUS = "Bus" + BUSANDWAVEFORM = "BUSANDWAVEFORM" + BUSTURNAROUND = "BUSTURNAROUND" # BUSTURNAROUnd + BUSY = "BUSY" + BUTTERWORTH = "BUTTERWORTH" # BUTTerworth + BWR = "BWR" + BYTE = "BYTE" # BYTe + CAN = "CAN" + CAN2X = "CAN2X" + CDATA = "CDATA" # CDATa + CGS = "CGS" + CHANNEL = "CHANNEL" # CHANnel + CHEBYONE = "CHEBYONE" # CHEBYONe + CHEBYTWO = "CHEBYTWO" # CHEBYTWo + CHECKSUM = "CHECKSUM" # CHecksum + CHINDEPENDENT = "CHINDEPENDENT" # CHINDependent + CHIPSELECT = "CHIPSELECT" # ChipSelect + CIRCULATING = "CIRCULATING" # CIRCulating + CLASSA = "CLASSA" + CLASSB = "CLASSB" + CLASSC = "CLASSC" + CLASSD = "CLASSD" + CLEAR = "CLEAR" + # CLEAR = "CLEar" + CLOCK = "CLOCK" + CLOCKEDGE = "CLOCKEDGE" # ClockEdge + CMD = "CMD" + CMDOPCODE = "CMDOPCODE" # CMDOPCODe + CN = "CN" + CNT = "CNT" + COMMAND = "COMMAND" + # COMMAND = "COMMand" + COMMONMODE = "COMMONMODE" + COMPLETE = "COMPLETE" # COMPlete + COMPRESSION = "COMPRESSION" # COMPression + CONFIGURE = "CONFIGURE" # CONFigure + CONNECT = "CONNECT" + # CONNECT = "CONNect" + CONSTANT = "CONSTANT" # CONSTant + CONSTANTCLOCK = "CONSTANTCLOCK" + CONTINUOUS = "CONTINUOUS" # CONTinuous + CONTROL = "CONTROL" # CONTrol + CONTROLCHAR = "CONTROLCHAR" + CONTROLCODE = "CONTROLCODE" # CONTROLCODe + CONTROLMESSAGE = "CONTROLMESSAGE" # CONTROLMESSage + COUNTER = "COUNTER" # COUNter + CR = "CR" + CRC = "CRC" + CRC16 = "CRC16" + CRC5 = "CRC5" + CRCERROR = "CRCERROR" # CRCERRor + CRCHEADER = "CRCHEADER" # CRCHeader + CRCTRAILER = "CRCTRAILER" # CRCTrailer + CSI = "CSI" + CSPLIT = "CSPLIT" + CURRENT = "CURRENT" + # CURRENT = "CURRent" + # CURRENT = "Current" + CURSOR = "CURSOR" # CURSor + # CURSOR = "CURsor" + CUSTOM = "CUSTOM" + # CUSTOM = "CUSTom" + CYCLE = "CYCLE" + CYCLECOUNT = "CYCLECOUNT" # CYCLEcount + CYCLETYPE = "CYCLETYPE" # CYCLETYPe + DADDR = "DADDR" # DADDr + DATA = "DATA" + # DATA = "DATa" + DATA0 = "DATA0" + DATA1 = "DATA1" + DATA2 = "DATA2" + DATAGRAM = "DATAGRAM" # DATagram + DATAPACKET = "DATAPACKET" # DATAPacket + DBDOWN = "DBDOWN" # dBDown + DBM = "DBM" + DBMA = "DBMA" + DBMV = "DBMV" + DBUA = "DBUA" + DBUV = "DBUV" + DBUW = "DBUW" + DC = "DC" + DCDC = "DCDC" + DCP1W2 = "DCP1W2" + DCPWR = "DCPWR" + DCREJECT = "DCREJECT" # DCREJect + DDATA = "DDATA" # DDATa + DDR = "DDR" + DDR3 = "DDR3" + DDRREAD = "DDRREAD" # DDRRead + DDRREADWRITE = "DDRREADWRITE" # DDRREADWrite + DDRWRITE = "DDRWRITE" # DDRWrite + DECIMAL = "DECIMAL" + DEFAULTSETUP = "DEFAULTSETUP" # DEFaultsetup + DEFECT = "DEFECT" # DEFect + DEFER = "DEFER" # DEFer + DEFGRPA = "DEFGRPA" # DEFGRPa + DEGREES = "DEGREES" + DELTA = "DELTA" + DETAIL = "DETAIL" # DETail + DEVERROR = "DEVERROR" # DEVERRor + DEVICE = "DEVICE" # DEVice + DEVICEADDR = "DEVICEADDR" + DEVICECHIRP = "DEVICECHIRP" # DEVICEChirp + DEVICEDESCMASTERREAD = "DEVICEDESCMASTERREAD" # DEVICEDESCMASTERREAd + DEVICEDESCSLAVEREAD = "DEVICEDESCSLAVEREAD" # DEVICEDESCSLAVEREAd + DEVICETYPE = "DEVICETYPE" # DEVICETYPe + DIFF = "DIFF" + DIFFERENTIAL = "DIFFERENTIAL" + DIFFERENTIATOR = "DIFFERENTIATOR" # DIFFerentiator + DIRECT = "DIRECT" # DIRect + DISABLED = "DISABLED" # DISabled + DISCMODE = "DISCMODE" # DISCMODe + DISCRETE = "DISCRETE" # DISCrete + DISLAVE = "DISLAVE" # DISLave + DISPARITY = "DISPARITY" # DISParity + DIVIDE = "DIVIDE" # DIVide + DLC = "DLC" + DLSLAVE = "DLSLAVE" # DLSLave + DMSGEND = "DMSGEND" # DMSGEnd + DONTCARE = "DONTCARE" # DONTcare + DONTINCLUDE = "DONTINCLUDE" # DONTInclude + DOTS = "DOTS" # DOTs + DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset + DQ0 = "DQ0" + DQDQS = "DQDQS" + DRA = "DRA" + DRB = "DRB" + DSI = "DSI" + DUAL = "DUAL" + DYNAMIC = "DYNAMIC" + # DYNAMIC = "DYNAMic" + EACHCLOCKCYCLE = "EACHCLOCKCYCLE" + EBIT = "EBIT" + ECATHEADERLENGTH = "ECATHEADERLENGTH" # ECATHEADERLENGth + ECC = "ECC" + ECUDATA = "ECUDATA" # ECUDATa + ECUSENSOR = "ECUSENSOR" # ECUSENSor + EDGE = "EDGE" + EEP = "EEP" + EFFICIENCY = "EFFICIENCY" # EFFiciency + EIGHT = "EIGHT" # EIGHt + EIGHTBIT = "EIGHTBIT" + EIGHTHUNDREDHZ = "EIGHTHUNDREDHZ" # EIGHTHUNDREdhz + EITHER = "EITHER" + # EITHER = "EITHer" + # EITHER = "EITher" + ELLIPTICAL = "ELLIPTICAL" # ELLiptical + END = "END" + ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENDXFER = "ENDXFER" + ENET100 = "ENET100" + ENET1000 = "ENET1000" + ENGINEERING = "ENGINEERING" # ENGineering + ENSLAVE = "ENSLAVE" # ENSLave + ENTASX = "ENTASX" # ENTasx + ENTERSWINDOW = "ENTERSWINDOW" # ENTERSWindow + ENTRDYA = "ENTRDYA" # ENTRDya + ENTRTSTMODE = "ENTRTSTMODE" # ENTRTSTMode + ENVELOPE = "ENVELOPE" # ENVelope + EOF = "EOF" + EOP = "EOP" + # EOP = "EOp" + EOT = "EOT" + EOTPDATA = "EOTPDATA" # EOTPDATa + EOW = "EOW" + EQUAL = "EQUAL" # EQUal + # EQUAL = "EQual" + EQUALS = "EQUALS" # Equals + ERROR = "ERROR" # ERROr + # ERROR = "ERRor" + ERRORS = "ERRORS" # ERRors + ERRSERVICEDATA = "ERRSERVICEDATA" # ERRSERVICEDATa + ESC = "ESC" + ESCAPEMODE = "ESCAPEMODE" # ESCAPEMODe + ETHERNET = "ETHERNET" # ETHernet + EUSB = "EUSB" + EVEN = "EVEN" + EVENTS = "EVENTS" + EVERY = "EVERY" + EXECUTE = "EXECUTE" + # EXECUTE = "EXECute" + # EXECUTE = "Execute" + EXITSWINDOW = "EXITSWINDOW" # EXITSWindow + EXPLICITCLOCK = "EXPLICITCLOCK" + EXTDLC = "EXTDLC" + EXTENDED = "EXTENDED" + # EXTENDED = "EXTENDed" + # EXTENDED = "EXTended" + EXTIME = "EXTIME" # EXTime + EXTREGREAD = "EXTREGREAD" # EXTREGREAd + EXTREGWRITE = "EXTREGWRITE" # EXTREGWRIte + EYEHISTOGRAM = "EYEHISTOGRAM" # EYEhistogram + FACHANNEL = "FACHANNEL" # FACHANnel + FACTORY = "FACTORY" # FACtory + FALL = "FALL" + FALLING = "FALLING" + # FALLING = "FALLing" + # FALLING = "FALling" + FALSE = "FALSE" # FALSe + # FALSE = "False" + # FALSE = "false" + FAST = "FAST" + # FAST = "FAst" + FASTACQ = "FASTACQ" # FASTAcq + FASTER = "FASTER" # FASTer + FASTERTHAN = "FASTERTHAN" # FASTERthan + FATAL = "FATAL" # FATal + FBD1 = "FBD1" + FBD2 = "FBD2" + FBD3 = "FBD3" + FC1063 = "FC1063" + FC133 = "FC133" + FC2125 = "FC2125" + FC266 = "FC266" + FC4250 = "FC4250" + FC531 = "FC531" + FC8500 = "FC8500" + FCDATA = "FCDATA" # FCData + FCDFIRST = "FCDFIRST" # FCDFirst + FCDTWO = "FCDTWO" # FCDTwo + FCS = "FCS" + FCSERROR = "FCSERROR" # FCSERRor + # FCSERROR = "FCSError" + FCT = "FCT" + FDBITS = "FDBITS" + FDISO = "FDISO" + FDNONISO = "FDNONISO" + FFREQUENCY = "FFREQUENCY" # FFREQuency + FFT = "FFT" + FIBRECHANNEL = "FIBRECHANNEL" # FIBREchannel + FIFTEEN = "FIFTEEN" # FIFTeen + FIFTY = "FIFTY" + # FIFTY = "FIFTy" + # FIFTY = "FIFty" + FIFTYHZ = "FIFTYHZ" + # FIFTYHZ = "FIFTyhz" + FILTER = "FILTER" + FIRST = "FIRST" + FIVE = "FIVE" # FIVe + FIVEHUNDRED = "FIVEHUNDRED" # FIVEHundred + FIXED = "FIXED" + # FIXED = "FIXed" + FLASHERASE = "FLASHERASE" # FLASHERASe + FLASHREAD = "FLASHREAD" + FLASHWRITE = "FLASHWRITE" # FLASHWRITe + FLATNESS = "FLATNESS" + FLATTOP2 = "FLATTOP2" + # FLATTOP2 = "FLATtop2" + FLEXRAY = "FLEXRAY" + FLSUCCESSDATA = "FLSUCCESSDATA" # FLSUCCESSDATa + FLSUCCESSNODATA = "FLSUCCESSNODATA" # FLSUCCESSNODATa + FLUNSUCCESSNODATA = "FLUNSUCCESSNODATA" # FLUNSUCCESSNODATa + FLYBACK = "FLYBACK" + FORCE = "FORCE" # FORCe + FORCETRIG = "FORCETRIG" # FORCetrig + FORMERROR = "FORMERROR" # FORMERRor + FORWARD = "FORWARD" + # FORWARD = "FORWard" + # FORWARD = "forward" + FOUR = "FOUR" + FOURBIT = "FOURBIT" + FOURHUNDREDHZ = "FOURHUNDREDHZ" + # FOURHUNDREDHZ = "FOURHUNDREdhz" + FOURTEENTEN = "FOURTEENTEN" # FOURTEENten + FP = "FP" + FPBINARY = "FPBINARY" # FPBinary + FPRD = "FPRD" + FPRW = "FPRW" + FPULSE = "FPULSE" # FPULse + FPWR = "FPWR" + FRAME = "FRAME" # FRAMe + # FRAME = "FRame" + FRAMEID = "FRAMEID" + FRAMELENGTH = "FRAMELENGTH" # FRAMELENgth + FRAMEREJ = "FRAMEREJ" + FRAMES = "FRAMES" # FRAMes + FRAMETYPE = "FRAMETYPE" # FRAMEType + # FRAMETYPE = "FRAMEtype" + FREQUENCY = "FREQUENCY" # FREQuency + FRMW = "FRMW" + FTLB = "FTLB" + FULL = "FULL" + FULLSCREEN = "FULLSCREEN" # FULLScreen + FULLSPEED = "FULLSPEED" + FUNCTIONCODE = "FUNCTIONCODE" # FUNCTIONCODe + FW1394BS1600B = "FW1394BS1600B" + FW1394BS400B = "FW1394BS400B" + FW1394BS800B = "FW1394BS800B" + GAP = "GAP" + GAUSSIAN = "GAUSSIAN" # GAUSSian + # GAUSSIAN = "GAUSsian" + GDELAY = "GDELAY" + GE = "GE" # ge + GET = "GET" + GETBUSCH = "GETBUSCH" # GETBusch + GETCAPS = "GETCAPS" + GETCONFIG = "GETCONFIG" # GETCONFig + GETDEVCH = "GETDEVCH" # GETDevch + GETFLASHNP = "GETFLASHNP" + GETMRDL = "GETMRDL" # GETMRdl + GETMWRL = "GETMWRL" # GETMWrl + GETNP = "GETNP" + GETOOB = "GETOOB" + GETPC = "GETPC" + GETPRID = "GETPRID" # GETPrid + GETREG = "GETREG" + # GETREG = "GETReg" + GETREGPKTALERT = "GETREGPKTALERT" # GETREGPKTALERt + # GETREGPKTALERT = "GETRegpktalert" + GETREGPKTBAD = "GETREGPKTBAD" + # GETREGPKTBAD = "GETRegpktbad" + GETREGPKTRECENT = "GETREGPKTRECENT" # GETREGPKTRECent + # GETREGPKTRECENT = "GETRegpktrecent" + GETREGTESTCFG = "GETREGTESTCFG" + # GETREGTESTCFG = "GETRegtestcfg" + GETREGVENDOR = "GETREGVENDOR" # GETREGVENDor + # GETREGVENDOR = "GETRegvendor" + GETREGVREVENT = "GETREGVREVENT" # GETREGVREVENt + # GETREGVREVENT = "GETRegvrevent" + GETSLAVE = "GETSLAVE" # GETSlave + GETSTATUS = "GETSTATUS" # GETSTATus + GETVWIRE = "GETVWIRE" # GETVWIRe + GETXTIME = "GETXTIME" # GETXTime + GLOBAL = "GLOBAL" # GLOBal + GPKNOB1 = "GPKNOB1" + GPKNOB2 = "GPKNOB2" + GRATICULE = "GRATICULE" + GREATERTHAN = "GREATERTHAN" # GREATERthan + GRPDELAY = "GRPDELAY" + H = "H" + HAMMING = "HAMMING" # HAMMing + HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket + HANNING = "HANNING" # HANNing + HASH = "HASH" + HBARS = "HBARS" # HBArs + HDRCAPABILITY = "HDRCAPABILITY" # HDRCapability + HDREXIT = "HDREXIT" # HDRExit + HDRRESTART = "HDRRESTART" # HDRRestart + HEADER = "HEADER" # HEADer + HEX = "HEX" + HEXAGON = "HEXAGON" # HEXAgon + HFREJ = "HFREJ" # HFRej + HI = "HI" + HIGH = "HIGH" + HIGHRES = "HIGHRES" + HIGHZ = "HIGHZ" + HILBERT = "HILBERT" # HILBert + HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HISTogram + HONLY = "HONLY" # HONLy + HORIZONTAL = "HORIZONTAL" # HORizontal + HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale + HORZPOS = "HORZPOS" + HORZSCALE = "HORZSCALE" # HORZScale + HOSTADDR = "HOSTADDR" + HOSTCHIRP = "HOSTCHIRP" # HOSTChirp + HOTJOIN = "HOTJOIN" # HOTJoin + HPASS = "HPASS" # HPASs + HS = "HS" + HSENSOR = "HSENSOR" + HUNDRED = "HUNDRED" # HUNdred + HUNDREDBASET1 = "HUNDREDBASET1" + HUNDREDBASETX = "HUNDREDBASETX" + HZ = "HZ" + I2C = "I2C" + I2S = "I2S" + I3C = "I3C" + IBA2500 = "IBA2500" + IBA_GEN2 = "IBA_GEN2" + IBS = "IBS" + IC = "IC" + ID = "ID" + IDANDDATA = "IDANDDATA" + IDENTIFIER = "IDENTIFIER" # IDentifier + IDLE = "IDLE" + # IDLE = "IDLe" + IDX = "IDX" + IEEE = "IEEE" # ieee + IGBT = "IGBT" + IMAGINARY = "IMAGINARY" # IMAGinary + IN = "IN" + INCHLB = "INCHLB" + INCLUDE = "INCLUDE" # INCLude + INDEPENDENT = "INDEPENDENT" + INDEX = "INDEX" # INDex + INFINITE = "INFINITE" # INFInite + INFORMATION = "INFORMATION" # INFormation + INFPERSIST = "INFPERSIST" # INFPersist + INIT = "INIT" + INPUT = "INPUT" + INPWR = "INPWR" + INPWRSUM = "INPWRSUM" + INRANGE = "INRANGE" # INrange + # INRANGE = "Inrange" + INSIDEGREATER = "INSIDEGREATER" # INSIDEGreater + INSIDERANGE = "INSIDERANGE" # INSIDErange + INVERT = "INVERT" # INVert + INVERTED = "INVERTED" # INVERTed + # INVERTED = "INVErted" + # INVERTED = "INVerted" + IO = "IO" + IPDATA = "IPDATA" # IPData + IPHEADER = "IPHEADER" # IPHEADer + # IPHEADER = "IPHeader" + IRMS = "IRMS" + IRQ = "IRQ" + ISOALL = "ISOALL" + ISOEND = "ISOEND" + ISOMID = "ISOMID" + ISOSTART = "ISOSTART" + JPG = "JPG" + KAISERBESSEL = "KAISERBESSEL" # KAISERBessel + # KAISERBESSEL = "KAISerbessel" + L = "L" + LABEL = "LABEL" # LABel + LABELANDDATA = "LABELANDDATA" + LATCH = "LATCH" # LATCh + LCHANNEL = "LCHANNEL" # LCHannel + LEFT = "LEFT" # LEFt + LEN = "LEN" + LENGTH = "LENGTH" # LENGth + LESSEQUAL = "LESSEQUAL" # LESSEQual + LESSTHAN = "LESSTHAN" # LESSthan + LF = "LF" + LFREJ = "LFREJ" # LFRej + LIN = "LIN" + LINE = "LINE" + LINEAR = "LINEAR" + # LINEAR = "LINEAr" + # LINEAR = "LINear" + LJ = "LJ" + LOG = "LOG" + LOGARITHM = "LOGARITHM" + LOGIC = "LOGIC" # LOGIc + LOGICAL = "LOGICAL" # LOGical + LOGICSTATE = "LOGICSTATE" # LogicState + LONG = "LONG" + LONGEXTREGREAD = "LONGEXTREGREAD" # LONGEXTREGREAd + LONGEXTREGWRITE = "LONGEXTREGWRITE" # LONGEXTREGWRIte + LOW = "LOW" + LOWSPEED = "LOWSPEED" + LP = "LP" + LPASS = "LPASS" # LPASs + LPDDR3 = "LPDDR3" + LPDT = "LPDT" + LRD = "LRD" + LRW = "LRW" + LSB = "LSB" + LTR = "LTR" + LWR = "LWR" + MACADDRESS = "MACADDRESS" # MACADDRess + MACLENGTH = "MACLENGTH" # MACLENgth + MAGNITUDE = "MAGNITUDE" + # MAGNITUDE = "MAGNitude" + MAILBOX = "MAILBOX" + # MAILBOX = "MAILbox" + MAILBOXHEADER = "MAILBOXHEADER" # MAILBOXHEADer + MANCHESTER = "MANCHESTER" # MANChester + MANUAL = "MANUAL" + # MANUAL = "MANual" + # MANUAL = "Manual" + MASTER = "MASTER" # MASTer + MASTERREAD = "MASTERREAD" # MASTERREAd + MASTERWRITE = "MASTERWRITE" # MASTERWRIte + MATCHROM = "MATCHROM" + MATH = "MATH" # MATh + MAXHOLD = "MAXHOLD" # MAXHold + MAXIMUM = "MAXIMUM" # MAXimum + MCTP = "MCTP" + MDATA = "MDATA" + MDATASPEED = "MDATASPEED" # MDATASpeed + MDIO = "MDIO" + MEAN = "MEAN" + MEANHISTOGRAM = "MEANHISTOGRAM" # MEANhistogram + MEASURED = "MEASURED" # MEASured + MEDIAN = "MEDIAN" # MEDian + MEDIUM = "MEDIUM" # MEDium + MEMORY = "MEMORY" + MEMRD32 = "MEMRD32" + MEMRD64 = "MEMRD64" + MEMRDWR32 = "MEMRDWR32" + MEMRDWR64 = "MEMRDWR64" + MEMWR32 = "MEMWR32" + MEMWR64 = "MEMWR64" + MESSAGE = "MESSAGE" # MESSage + MID = "MID" + MIL1553B = "MIL1553B" + MINHOLD = "MINHOLD" # MINHold + MINMAX = "MINMAX" # MINMax + MISO = "MISO" # MISo + MISODATA = "MISODATA" # MISOdata + MIXED = "MIXED" + # MIXED = "MIXed" + MIXEDASCII = "MIXEDASCII" + MIXEDHEX = "MIXEDHEX" + MLANE = "MLANE" # MLANe + MODE = "MODE" + # MODE = "MODe" + MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram + MOREEQUA = "MOREEQUA" # MOREEQua + MOREEQUAL = "MOREEQUAL" # MOREEQual + MORETHAN = "MORETHAN" # MOREthan + MOSFET = "MOSFET" + MOSI = "MOSI" # MOSi + MOSIDATA = "MOSIDATA" # MOSIdata + MOVEABLE = "MOVEABLE" + MPAYLOAD = "MPAYLOAD" # MPAYload + MPULSE = "MPULSE" # MPULse + MSB = "MSB" + MSGWITHDATA = "MSGWITHDATA" # MSGWITHDATa + MULTIPLY = "MULTIPLY" # MULTiply + NACK = "NACK" + NAK = "NAK" + NAND = "NAND" # NANd + NATIVE = "NATIVE" # NATive + NEGATIVE = "NEGATIVE" # NEGAtive + # NEGATIVE = "NEGative" + NETMN = "NETMN" + NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable + NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables + NEXT = "NEXT" # NEXt + NFC14443A = "NFC14443A" + NFC14443B = "NFC14443B" + NFC15693 = "NFC15693" + NFCFELICA = "NFCFELICA" # NFCFELica + NIBBLE = "NIBBLE" # NIBBLe + NINE = "NINE" # NINe + NM = "NM" + NO = "NO" + NOCARE = "NOCARE" + NOISEREJ = "NOISEREJ" # NOISErej + NOMINAL = "NOMINAL" # NOMinal + NONFATAL = "NONFATAL" # NONFATal + NONTRANSITION = "NONTRANSITION" # NONTRANsition + NOP = "NOP" + NOPARITY = "NOPARITY" # NOPARity + NOR = "NOR" + NORESPONSE = "NORESPONSE" # NORESPonse + NORMAL = "NORMAL" # NORMal + # NORMAL = "NORmal" + NOSTATION = "NOSTATION" # NOSTATion + NOTE = "NOTE" + NOTEQUAL = "NOTEQUAL" # NOTEQual + NOTEQUALS = "NOTEQUALS" # NOTEQuals + NR3 = "NR3" + NTSC = "NTSC" # NTSc + NULL = "NULL" + # NULL = "NULl" + NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic + NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic + NUMACQS = "NUMACQS" # NUMACQs + NUMERIC = "NUMERIC" # NUMERic + NUMERICORDER = "NUMERICORDER" # NUMERICORDer + NVDATA = "NVDATA" # NVDATa + NVHEADER = "NVHEADER" # NVHEADer + NVLEN = "NVLEN" + NWVARIABLEDATA = "NWVARIABLEDATA" # NWVariabledata + NYET = "NYET" + OC1 = "OC1" + OC12 = "OC12" + OC3 = "OC3" + OC48 = "OC48" + OCCURS = "OCCURS" + ODD = "ODD" + OFF = "OFF" + OFFSET = "OFFSET" # OFFSet + ON = "ON" + ONE = "ONE" + ONEPAIRI = "ONEPAIRI" + ONEPAIRV = "ONEPAIRV" + ONEPAIRVI = "ONEPAIRVI" + OOBCHANNEL = "OOBCHANNEL" # OOBCHANnel + OOBSMBUS = "OOBSMBUS" + OPCODEERROR = "OPCODEERROR" # OPCODEERRor + OPPOSITEAS = "OPPOSITEAS" # OPPositeas + OPTIONAL = "OPTIONAL" # OPTional + OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam + OR = "OR" + OTHER = "OTHER" + OUT = "OUT" + OUTPUT = "OUTPUT" + OUTPWR = "OUTPWR" + OUTPWRSUM = "OUTPWRSUM" + OUTRANGE = "OUTRANGE" # OUTrange + OUTSIDE = "OUTSIDE" # OUTside + OUTSIDEGREATER = "OUTSIDEGREATER" # OUTSIDEGreater + OUTSIDERANGE = "OUTSIDERANGE" # OUTSIDErange + OVERDRIVE = "OVERDRIVE" # OVErdrive + OVERLAY = "OVERLAY" # OVERlay + # OVERLAY = "OVErlay" + OVERLOAD = "OVERLOAD" # OVERLoad + OZINCH = "OZINCH" + P1W2V1I1 = "P1W2V1I1" + P1W3V2I2 = "P1W3V2I2" + P3W3 = "P3W3" + P3W3V2I2 = "P3W3V2I2" + P3W3V3I3 = "P3W3V3I3" + P3W4 = "P3W4" + PACKET = "PACKET" + PACKETOFFDATA = "PACKETOFFDATA" # packetOffData + PACKETS = "PACKETS" # PACKets + PAL = "PAL" + PARALLEL = "PARALLEL" # PARallel + PARAMETRIC = "PARAMETRIC" # PARAmetric + PARITY = "PARITY" # PARity + PARITYERROR = "PARITYERROR" # PARItyerror + PAUSE = "PAUSE" + PAYLOAD = "PAYLOAD" # PAYLoad + # PAYLOAD = "PAYload" + PCIEXPRESS = "PCIEXPRESS" # PCIExpress + PCIE_GEN1 = "PCIE_GEN1" + PCIE_GEN2 = "PCIE_GEN2" + PCIE_GEN3 = "PCIE_GEN3" + PDU = "PDU" + PEAKDETECT = "PEAKDETECT" # PEAKdetect + PEC = "PEC" + PERCENT = "PERCENT" # PERCent + PERCOFPWR = "PERCOFPWR" # percOfPwr + PERICHANNEL = "PERICHANNEL" # PERICHANnel + PERSOURCE = "PERSOURCE" # PERSource + PFC = "PFC" + PHASE = "PHASE" + # PHASE = "PHASe" + PHASEONE = "PHASEONE" + PHASETHREE = "PHASETHREE" + PHASETWO = "PHASETWO" + PHYSICALADDRESS = "PHYSICALADDRESS" # PHYSICALADDRess + PID = "PID" + PING = "PING" + PIXELNUMBER = "PIXELNUMBER" # PIXELNUMBer + PIXELVALUE = "PIXELVALUE" # PIXELVALue + PIXMAP = "PIXMAP" # PIXmap + PLL = "PLL" + PNG = "PNG" + PNJUNCTION = "PNJUNCTION" + POLLINGLONG = "POLLINGLONG" + POLLINGNORMAL = "POLLINGNORMAL" # POLLINGNORMal + PORTCONFIGURATION = "PORTCONFIGURATION" # PORTConfiguration + PORTRESET = "PORTRESET" # PORTReset + POSITION = "POSITION" # POSition + POSITIVE = "POSITIVE" # POSITIVe + # POSITIVE = "POSitive" + POST = "POST" + POWLINEAR = "POWLINEAR" # POWLINear + POWLOG = "POWLOG" + PREAMBLE = "PREAMBLE" # PREamble + PRECISE = "PRECISE" + PRESENCE = "PRESENCE" # PREsence + PREV = "PREV" # PREv + PRIORITY = "PRIORITY" # PRIority + PROFILE = "PROFILE" # PROFile + PROTOCOL = "PROTOCOL" # PROTocol + PTYPE = "PTYPE" # PTYPe + PUBHEADER = "PUBHEADER" # PUBHEADer + PULSEWIDTH = "PULSEWIDTH" # PULSEWIDTh + # PULSEWIDTH = "PULSEWidth" + PUTFLASHC = "PUTFLASHC" + PUTIORDSHORT = "PUTIORDSHORT" # PUTIORDSHORt + PUTIOWRSHORT = "PUTIOWRSHORT" # PUTIOWRSHORt + PUTMEMRD32SHORT = "PUTMEMRD32SHORT" # PUTMEMRD32SHORt + PUTMEMWR32SHORT = "PUTMEMWR32SHORT" # PUTMEMWR32SHORt + PUTNP = "PUTNP" + PUTOOB = "PUTOOB" + PUTPC = "PUTPC" + PUTVWIRE = "PUTVWIRE" # PUTVWIRe + Q = "Q" + QEI = "QEI" + QTAG = "QTAG" + RADIANS = "RADIANS" + RANDOM = "RANDOM" # RANDom + RAP = "RAP" + RAPDATA = "RAPDATA" # RAPDATa + RATED = "RATED" # RATed + RC = "RC" + RCHANNEL = "RCHANNEL" # RCHannel + RDATA = "RDATA" # RDATa + READ = "READ" + READROM = "READROM" + READY = "READY" # READy + REAL = "REAL" + RECORD = "RECORD" + RECORDLENGTH = "RECORDLENGTH" # RECORDLength + RECTANGLE = "RECTANGLE" + # RECTANGLE = "RECTangle" + RECTANGULAR = "RECTANGULAR" # RECTANGular + # RECTANGULAR = "RECTangular" + REF = "REF" + REFOUT = "REFOUT" + REG0WRITE = "REG0WRITE" # REG0WRIte + REGADDRTESTCONFG = "REGADDRTESTCONFG" # REGAddrtestconfg + REGADDRVENDOR = "REGADDRVENDOR" # REGAddrvendor + REGDATATESTCONFG = "REGDATATESTCONFG" # REGDatatestconfg + REGDATAVENDOR = "REGDATAVENDOR" # REGDatavendor + REGISTERADDRESS = "REGISTERADDRESS" # REGISTERADDRess + REGREAD = "REGREAD" # REGREAd + REGWRITE = "REGWRITE" # REGWRIte + REJ = "REJ" + REJECT = "REJECT" # REJect + REMOTE = "REMOTE" # REMote + REPEATERHOST = "REPEATERHOST" # REPEATERHOSt + REPEATERPERIPHERAL = "REPEATERPERIPHERAL" + REPEATING = "REPEATING" # REPeating + REPEATSTART = "REPEATSTART" # REPEATSTARt + # REPEATSTART = "REPEATStart" + # REPEATSTART = "REPEATstart" + REPWR = "REPWR" + REPWRSUM = "REPWRSUM" + REQDISCONNECT = "REQDISCONNECT" # REQDISConnect + REQSETINIT = "REQSETINIT" + RERUN = "RERUN" + RESERVED = "RESERVED" # RESERVed + # RESERVED = "RESERved" + # RESERVED = "REServed" + RESET = "RESET" + # RESET = "RESet" + RESETTRIGGER = "RESETTRIGGER" # RESETTRIGger + RESOLUTION = "RESOLUTION" # RESOlution + RESOLVER = "RESOLVER" + RESPONSE = "RESPONSE" + # RESPONSE = "RESPonse" + RESPONSECODE = "RESPONSECODE" # RESPONSECODe + RESPONSEHEADER = "RESPONSEHEADER" # RESPONSEHEADer + RESPONSENOHEADER = "RESPONSENOHEADER" # RESPONSENOHEADer + RESUME = "RESUME" + REVERSE = "REVERSE" # reverse + RFVSTIME = "RFVSTIME" # RFvsTime + RI = "RI" + RIBINARY = "RIBINARY" # RIBinary + RIGHT = "RIGHT" # RIGht + RIO125 = "RIO125" + RIO250 = "RIO250" + RIO3125 = "RIO3125" + RISE = "RISE" + # RISE = "RISe" + RISING = "RISING" + # RISING = "RISing" + RJ = "RJ" + RMS = "RMS" + RNR = "RNR" + ROTATION = "ROTATION" + RP = "RP" + RPBINARY = "RPBINARY" # RPBinary + RPM = "RPM" + RR = "RR" + RRC = "RRC" + RS232C = "RS232C" + RSTACT = "RSTACT" + RSTDYA = "RSTDYA" # RSTDya + RSTGRPA = "RSTGRPA" # RSTGRPa + RUN = "RUN" + RUNSTOP = "RUNSTOP" # RUNSTop + RUNT = "RUNT" + # RUNT = "RUNt" + RX = "RX" + RXDATA = "RXDATA" # RXData + SAME = "SAME" + SAMEAS = "SAMEAS" # SAMEas + SAMPLE = "SAMPLE" # SAMple + SAS12_NOSSC = "SAS12_NOSSC" + SAS12_SSC = "SAS12_SSC" + SAS15_NOSSC = "SAS15_NOSSC" + SAS15_SSC = "SAS15_SSC" + SAS3_NOSSC = "SAS3_NOSSC" + SAS3_SSC = "SAS3_SSC" + SAS6_NOSSC = "SAS6_NOSSC" + SAS6_SSC = "SAS6_SSC" + SATA_GEN1 = "SATA_GEN1" + SATA_GEN2 = "SATA_GEN2" + SATA_GEN3 = "SATA_GEN3" + SAVG = "SAVG" + SCIENTIFIC = "SCIENTIFIC" # SCIentific + SCRAMBLING = "SCRAMBLING" # SCRambling + SCREEN = "SCREEN" + # SCREEN = "SCReen" + SDATA = "SDATA" # SDATa + SDIDATA = "SDIDATA" + SDIDATASSM = "SDIDATASSM" + SDRBROADCAST = "SDRBROADCAST" # SDRBroadcast + SDRDIRECT = "SDRDIRECT" # SDRDirect + SEARCH1 = "SEARCH1" + SEARCHROM = "SEARCHROM" + SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" + SEGMENTS = "SEGMENTS" # SEGments + SELECTED = "SELECTED" + SENSOR = "SENSOR" + SENSORADDRESS = "SENSORADDRESS" # SENSORADDRess + SENSORECU = "SENSORECU" + SENSORSTATUS = "SENSORSTATUS" # SENSORSTATus + SENT = "SENT" + SEQUENCE = "SEQUENCE" # SEQuence + SERVICE = "SERVICE" + SERVICEDATA = "SERVICEDATA" # SERVICEDATa + SERVICEMODE = "SERVICEMODE" # SERVICEMODe + SET = "SET" + SETAASA = "SETAASA" # SETaasa + SETBRT = "SETBRT" # SETBrt + SETBUSCON = "SETBUSCON" + SETCONFIG = "SETCONFIG" # SETCONFig + SETDECAY = "SETDECAY" # SETDecay + SETDYA = "SETDYA" # SETDya + SETEXT = "SETEXT" # SEText + SETFAST = "SETFAST" # SETFast + SETGRPA = "SETGRPA" # SETGRPa + SETHOLD = "SETHOLD" # SETHold + SETLEVEL = "SETLEVEL" # SETLevel + SETMRDL = "SETMRDL" # SETMrdl + SETMWRL = "SETMWRL" # SETMwrl + SETNDYA = "SETNDYA" # SETNdya + SETPS = "SETPS" + # SETPS = "SETPs" + SETREGADDR = "SETREGADDR" + # SETREGADDR = "SETRegaddr" + SETREGADDRTESTCONFG = "SETREGADDRTESTCONFG" # SETREGADDRTESTCONFg + SETREGADDRVENDOR = "SETREGADDRVENDOR" # SETREGADDRVENDor + SETREGDATA = "SETREGDATA" # SETREGDATa + # SETREGDATA = "SETRegdata" + SETREGDATATESTCONFG = "SETREGDATATESTCONFG" # SETREGDATATESTCONFg + SETREGDATAVENDOR = "SETREGDATAVENDOR" # SETREGDATAVENDor + SETSLOW = "SETSLOW" # SETSlow + SETTO50 = "SETTO50" + SETUP = "SETUP" + SETVIDDECAY = "SETVIDDECAY" # SETVIDDECay + SETVIDFAST = "SETVIDFAST" + SETVIDSLOW = "SETVIDSLOW" + SETWP = "SETWP" + # SETWP = "SETWp" + SEVEN = "SEVEN" # SEVEn + SFD = "SFD" + SFPBINARY = "SFPBINARY" # SFPbinary + SHORT = "SHORT" # SHORt + SHUTDOWN = "SHUTDOWN" # SHUTdown + SI = "SI" + SIGNAL = "SIGNAL" + SINC = "SINC" + SINGLE = "SINGLE" + # SINGLE = "SINGle" + SINGLESEQ = "SINGLESEQ" # SINGleseq + SINX = "SINX" + SIX = "SIX" + SIXBIT = "SIXBIT" + SIXFIFTYHZ = "SIXFIFTYHZ" # SIXFIFTyhz + SIXTEENEIGHT = "SIXTEENEIGHT" # SIXTEENeight + SIXTYHZ = "SIXTYHZ" + # SIXTYHZ = "SIXTyhz" + SKIPROM = "SKIPROM" + SLAVE = "SLAVE" # SLAVe + SLAVEADDRESS = "SLAVEADDRESS" # SLAVEADDRess + SLEEP = "SLEEP" + # SLEEP = "SLEep" + SLOW = "SLOW" + SLOWER = "SLOWER" # SLOWer + SLOWERTHAN = "SLOWERTHAN" # SLOWERthan + SMPS = "SMPS" + SNAP = "SNAP" # SNAp + SNRM = "SNRM" + SNRME = "SNRME" + SOF = "SOF" + SOT = "SOT" + SOW = "SOW" + SPACE = "SPACE" # SPace + SPAYLOAD = "SPAYLOAD" # SPAYload + SPECIALPACKET = "SPECIALPACKET" # SPECIALPacket + SPECTRAL = "SPECTRAL" + # SPECTRAL = "SPECtral" + SPECTRALBUJ = "SPECTRALBUJ" + SPI = "SPI" + SPLIT = "SPLIT" + # SPLIT = "SPLit" + SPMI = "SPMI" + SPULSE = "SPULSE" # SPULse + SRIBINARY = "SRIBINARY" # SRIbinary + SRPBINARY = "SRPBINARY" # SRPbinary + SS = "SS" + SSC = "SSC" + SSD = "SSD" + SSEQ = "SSEQ" + SSPLIT = "SSPLIT" + STACKED = "STACKED" # STAcked + STALL = "STALL" + STANDARD = "STANDARD" # STAndard + # STANDARD = "STandard" + START = "START" + # START = "STARt" + # START = "Start" + STARTBIT = "STARTBIT" + STARTCONDITION = "STARTCONDITION" # STARTCONDition + STARTOFFRAME = "STARTOFFRAME" # STARTofframe + STARTPACKET = "STARTPACKET" # STARTPACKet + STARTUP = "STARTUP" # STARTup + STARTUPNOSYNC = "STARTUPNOSYNC" # STARTupnosync + STATIC = "STATIC" + # STATIC = "STATic" + STATIONADDR = "STATIONADDR" # STATIONADDr + STATUS = "STATUS" # STATus + STAYSHIGH = "STAYSHIGH" # STAYSHigh + STAYSLOW = "STAYSLOW" # STAYSLow + STEPRESPONSE = "STEPRESPONSE" + STOP = "STOP" + # STOP = "STop" + # STOP = "Stop" + SUBTRACT = "SUBTRACT" # SUBtract + SUCCESSDATA = "SUCCESSDATA" # SUCCESSDATa + SUCCESSNODATA = "SUCCESSNODATA" # SUCCESSNODATa + SUPERVISORY = "SUPERVISORY" # SUPervisory + SUSPEND = "SUSPEND" + SV = "SV" + SVID = "SVID" + SWITCHING = "SWITCHING" + SYMB = "SYMB" + SYMBOL = "SYMBOL" # SYMBol + # SYMBOL = "Symbol" + SYMBOLS = "SYMBOLS" # SYMbols + SYNC = "SYNC" + SYNCBITS = "SYNCBITS" + SYNCFIELD = "SYNCFIELD" # SYNCfield + SYNCFRAME = "SYNCFRAME" # SYNCFrame + SYSTEM = "SYSTEM" + TBIT = "TBIT" + TCI = "TCI" + TCPHEADER = "TCPHEADER" # TCPHeader + TDATA = "TDATA" # TDATa + TDM = "TDM" + TDMCHANNEL = "TDMCHANNEL" # TDMChannel + TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential + TEMPERATURE = "TEMPERATURE" # TEMPerature + TENBASET = "TENBASET" + TENNINETY = "TENNINETY" # TENNinety + TEST = "TEST" + TESTMODE = "TESTMODE" # TESTMODe + # TESTMODE = "TESTmode" + THREE = "THREE" + # THREE = "THRee" + THREEPHASEAUTOSET = "THREEPHASEAUTOSET" # THREEPHASEAUTOset + THREESIXTYHZ = "THREESIXTYHZ" # THREESIXTyhz + TIME = "TIME" # TIMe + TIMECODE = "TIMECODE" # TIMECODe + TIMEOUT = "TIMEOUT" # TIMEOut + TOKENPACKET = "TOKENPACKET" # TOKENPacket + TOLERANCES = "TOLERANCES" # TOLerances + TOOTHGAP = "TOOTHGAP" + TOTALEFFICIENCY = "TOTALEFFICIENCY" # TOTALEFFiciency + TOUCHSCREEN = "TOUCHSCREEN" # TOUCHSCReen + TRACK = "TRACK" + TRAILER = "TRAILER" # TRAiler + TRANSFERBUSOWNERSHIP = "TRANSFERBUSOWNERSHIP" # TRANSferbusownership + TRANSITION = "TRANSITION" # TRANSition + # TRANSITION = "TRANsition" + TRAPEZOID = "TRAPEZOID" # TRAPezoid + TRIANGLE = "TRIANGLE" # TRIAngle + TRIGGER = "TRIGGER" # TRIGger + TRIGGERTOSEARCH = "TRIGGERTOSEARCH" # TRIGgertosearch + TRIGMODE = "TRIGMODE" # TRIGMode + TRIGSLOPE = "TRIGSLOPE" # TRIGSlope + TRPWR = "TRPWR" + TRPWRSUM = "TRPWRSUM" + TRUE = "TRUE" # TRUe + # TRUE = "True" + # TRUE = "true" + TWELVETWELVE = "TWELVETWELVE" # TWELVEtwelve + TWENTYBIT = "TWENTYBIT" + TWENTYEIGHTY = "TWENTYEIGHTY" # TWENtyeighty + TWENTYFIVE = "TWENTYFIVE" # TWENtyfive + TWO = "TWO" + TWOBIT = "TWOBIT" + TWOCLOCKCYCLES = "TWOCLOCKCYCLES" + TWOFIFTY = "TWOFIFTY" # TWOFifty + TWOTHOUSAND = "TWOTHOUSAND" # TWOThousand + TX = "TX" + TXDATA = "TXDATA" # TXData + TXRX = "TXRX" + TYPE = "TYPE" # TYPe + UACK = "UACK" + UDIDDATA = "UDIDDATA" # UDIDDATa + UDPIP = "UDPIP" + UDPIPHEADER = "UDPIPHEADER" # UDPIPHEADer + UI = "UI" + ULPS = "ULPS" + UNEQUAL = "UNEQUAL" # UNEQual + UNIQUE = "UNIQUE" # UNIQue + UNLOCKED = "UNLOCKED" # UNLocked + UNNUMBERED = "UNNUMBERED" # UNNumbered + UNSUCCESSNODATA = "UNSUCCESSNODATA" # UNSUCCESSNODATa + UP = "UP" + USB = "USB" + USB3 = "USB3" + USBTMC = "USBTMC" # USBTmc + USER = "USER" + V1X = "V1X" + V2X = "V2X" + VBARS = "VBARS" # VBArs + VCE = "VCE" + VDS = "VDS" + VECTOR = "VECTOR" # VECtor + VECTORS = "VECTORS" # VECtors + VERTICAL = "VERTICAL" # VERTical + VERTPOS = "VERTPOS" + VERTSCALE = "VERTSCALE" + VGE = "VGE" + VISIBILITY = "VISIBILITY" # VISIBility + VOLTAGE = "VOLTAGE" + # VOLTAGE = "VOLTage" + VRMS = "VRMS" + VWCHANNEL = "VWCHANNEL" # VWCHANnel + WAIT = "WAIT" + WAKEUP = "WAKEUP" # WAKEup + # WAKEUP = "WAKeup" + WAVEFORM = "WAVEFORM" + # WAVEFORM = "WAVEform" + WAVEVIEW1 = "WAVEVIEW1" + WBGDESKEWEXEC = "WBGDESKEWEXEC" # WBGDeskewexec + WBGGSTIM = "WBGGSTIM" + WBGPRESET = "WBGPRESET" # WBGPREset + WIDTH = "WIDTH" # WIDth + WINDOW = "WINDOW" # WINdow + WITHIN = "WITHIN" # WIThin + WKC = "WKC" + WORD = "WORD" + # WORD = "Word" + WRITE = "WRITE" + # WRITE = "WRITe" + X = "X" + XAUI = "XAUI" + XAUI_GEN2 = "XAUI_GEN2" + XFF = "XFF" + XID = "XID" + XN = "XN" + XYZY = "XYZY" + XZYZ = "XZYZ" + YES = "YES" + YN = "YN" + YXZX = "YXZX" + ZERO = "ZERO" # ZERo + ZN = "ZN" + ZOOM = "ZOOM" + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class MSO4BCommands: + """The MSO4B commands. + + This provides access to all the commands for the MSO4B device. See the documentation of each + property for more usage information. + + Properties: + - ``.acquire``: The ``ACQuire`` command. + - ``.actonevent``: The ``ACTONEVent`` command tree. + - ``.afg``: The ``AFG`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.application``: The ``APPLication`` command tree. + - ``.autosavepitimeout``: The ``AUTOSAVEPITIMEOUT`` command. + - ``.autosaveuitimeout``: The ``AUTOSAVEUITIMEOUT`` command. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxout``: The ``AUXout`` command tree. + - ``.bus``: The ``BUS`` command tree. + - ``.bustable``: The ``BUSTABle`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.callouts``: The ``CALLOUTS`` command tree. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.configuration``: The ``CONFIGuration`` command tree. + - ``.connected``: The ``CONNected`` command tree. + - ``.curve``: The ``CURVe`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.customtable``: The ``CUSTOMTABle`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.diggrp``: The ``DIGGRP`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.dvm``: The ``DVM`` command. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.ethernet``: The ``ETHERnet`` command tree. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.eyemask``: The ``EYEMASK`` command tree. + - ``.factory``: The ``FACtory`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.fpanel``: The ``FPAnel`` command tree. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.license``: The ``LICense`` command. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mainwindow``: The ``MAINWindow`` command tree. + - ``.mask``: The ``MASK`` command tree. + - ``.math``: The ``MATH`` command tree. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.meastable``: The ``MEASTABle`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pause``: The ``PAUSe`` command. + - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. + - ``.plot``: The ``PLOT`` command tree. + - ``.power``: The ``POWer`` command tree. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.refx``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command tree. + - ``.saveonevent``: The ``SAVEONEVent`` command tree. + - ``.search``: The ``SEARCH`` command tree. + - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. + - ``.set``: The ``SET`` command. + - ``.socketserver``: The ``SOCKETServer`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.sv``: The ``SV`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.time``: The ``TIMe`` command. + - ``.totaluptime``: The ``TOTaluptime`` command. + - ``.touchscreen``: The ``TOUCHSCReen`` command tree. + - ``.trg``: The ``*TRG`` command. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.tstamptable``: The ``TSTamptable`` command tree. + - ``.undo``: The ``UNDO`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbdevice``: The ``USBDevice`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.vertical``: The ``VERTical`` command tree. + - ``.visual``: The ``VISual`` command tree. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + """ + + # pylint: disable=too-many-statements + def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 + self._acquire = Acquire(device) + self._actonevent = Actonevent(device) + self._afg = Afg(device) + self._alias = Alias(device) + self._allev = Allev(device) + self._application = Application(device) + self._autosavepitimeout = Autosavepitimeout(device) + self._autosaveuitimeout = Autosaveuitimeout(device) + self._autoset = Autoset(device) + self._auxout = Auxout(device) + self._bus = Bus(device) + self._bustable = Bustable(device) + self._busy = Busy(device) + self._cal = Cal(device) + self._calibrate = Calibrate(device) + self._callouts = Callouts(device) + self._ch: Dict[int, Channel] = DefaultDictPassKeyToFactory( + lambda x: Channel(device, f"CH{x}") + ) + self._clear = Clear(device) + self._cls = Cls(device) + self._configuration = Configuration(device) + self._connected = Connected(device) + self._curve = Curve(device) + self._curvestream = Curvestream(device) + self._customtable = Customtable(device) + self._data = Data(device) + self._date = Date(device) + self._ddt = Ddt(device) + self._dese = Dese(device) + self._diag = Diag(device) + self._diggrp: Dict[int, DiggrpItem] = DefaultDictPassKeyToFactory( + lambda x: DiggrpItem(device, f"DIGGRP{x}") + ) + self._display = Display(device) + self._dvm = Dvm(device) + self._ese = Ese(device) + self._esr = Esr(device) + self._ethernet = Ethernet(device) + self._event = Event(device) + self._evmsg = Evmsg(device) + self._evqty = Evqty(device) + self._eyemask = Eyemask(device) + self._factory = Factory(device) + self._filesystem = Filesystem(device) + self._fpanel = Fpanel(device) + self._header = Header(device) + self._histogram = Histogram(device) + self._horizontal = Horizontal(device) + self._id = Id(device) + self._idn = Idn(device) + self._license = License(device) + self._lock = Lock(device) + self._lrn = Lrn(device) + self._mainwindow = Mainwindow(device) + self._mask = Mask(device) + self._math = Math(device) + self._matharbflt: Dict[int, MatharbfltItem] = DefaultDictPassKeyToFactory( + lambda x: MatharbfltItem(device, f"MATHArbflt{x}") + ) + self._meastable = Meastable(device) + self._measurement = Measurement(device) + self._newpass = Newpass(device) + self._opc = Opc(device) + self._opt = Opt(device) + self._password = Password(device) + self._pause = Pause(device) + self._peakstable = Peakstable(device) + self._pilogger = Pilogger(device) + self._plot = Plot(device) + self._power = Power(device) + self._psc = Psc(device) + self._pud = Pud(device) + self._recall = Recall(device) + self._ref = Ref(device) + self._refx: Dict[int, RefItem] = DefaultDictPassKeyToFactory( + lambda x: RefItem(device, f"REF{x}") + ) + self._rem = Rem(device) + self._rosc = Rosc(device) + self._rst = Rst(device) + self._save = Save(device) + self._saveon = Saveon(device) + self._saveonevent = Saveonevent(device) + self._search = Search(device) + self._searchtable = Searchtable(device) + self._select = Select(device) + self._set = Set(device) + self._socketserver = Socketserver(device) + self._sre = Sre(device) + self._stb = Stb(device) + self._sv = Sv(device) + self._teksecure = Teksecure(device) + self._time = Time(device) + self._totaluptime = Totaluptime(device) + self._touchscreen = Touchscreen(device) + self._trg = Trg(device) + self._trigger = Trigger(device) + self._tst = Tst(device) + self._tstamptable = Tstamptable(device) + self._undo = Undo(device) + self._unlock = Unlock(device) + self._usbdevice = Usbdevice(device) + self._verbose = Verbose(device) + self._vertical = Vertical(device) + self._visual = Visual(device) + self._wai = Wai(device) + self._wavfrm = Wavfrm(device) + self._wfmoutpre = Wfmoutpre(device) + + @property + def acquire(self) -> Acquire: + """Return the ``ACQuire`` command. + + **Description:** + - Queries the current acquisition state. + + **Usage:** + - Using the ``.query()`` method will send the ``ACQuire?`` query. + - Using the ``.verify(value)`` method will send the ``ACQuire?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ACQuire? + + Sub-properties: + - ``.fastaverage``: The ``ACQuire:FASTAVerage`` command tree. + - ``.fastacq``: The ``ACQuire:FASTAcq`` command tree. + - ``.maxsamplerate``: The ``ACQuire:MAXSamplerate`` command. + - ``.mode``: The ``ACQuire:MODe`` command. + - ``.numacq``: The ``ACQuire:NUMACq`` command. + - ``.numavg``: The ``ACQuire:NUMAVg`` command. + - ``.numframesacquired``: The ``ACQuire:NUMFRAMESACQuired`` command. + - ``.sequence``: The ``ACQuire:SEQuence`` command tree. + - ``.state``: The ``ACQuire:STATE`` command. + - ``.stopafter``: The ``ACQuire:STOPAfter`` command. + """ + return self._acquire + + @property + def actonevent(self) -> Actonevent: + """Return the ``ACTONEVent`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACTONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enable``: The ``ACTONEVent:ENable`` command. + - ``.limitcount``: The ``ACTONEVent:LIMITCount`` command. + - ``.limit``: The ``ACTONEVent:LIMit`` command. + - ``.maskfail``: The ``ACTONEVent:MASKFail`` command tree. + - ``.maskhit``: The ``ACTONEVent:MASKHit`` command tree. + - ``.maskpass``: The ``ACTONEVent:MASKPass`` command tree. + - ``.measurement``: The ``ACTONEVent:MEASUrement`` command tree. + - ``.search``: The ``ACTONEVent:SEARCH`` command tree. + - ``.trigger``: The ``ACTONEVent:TRIGger`` command tree. + """ + return self._actonevent + + @property + def afg(self) -> Afg: + """Return the ``AFG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``AFG?`` query. + - Using the ``.verify(value)`` method will send the ``AFG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.amplitude``: The ``AFG:AMPLitude`` command. + - ``.arbitrary``: The ``AFG:ARBitrary`` command tree. + - ``.burst``: The ``AFG:BURSt`` command tree. + - ``.frequency``: The ``AFG:FREQuency`` command. + - ``.function``: The ``AFG:FUNCtion`` command. + - ``.highlevel``: The ``AFG:HIGHLevel`` command. + - ``.lowlevel``: The ``AFG:LOWLevel`` command. + - ``.noiseadd``: The ``AFG:NOISEAdd`` command tree. + - ``.offset``: The ``AFG:OFFSet`` command. + - ``.output``: The ``AFG:OUTPut`` command tree. + - ``.period``: The ``AFG:PERIod`` command. + - ``.pulse``: The ``AFG:PULse`` command tree. + - ``.ramp``: The ``AFG:RAMP`` command tree. + - ``.square``: The ``AFG:SQUare`` command tree. + """ + return self._afg + + @property + def alias(self) -> Alias: + """Return the ``ALIas`` command. + + **Description:** + - This command sets or queries the state of alias functionality, and it is identical to + the ``ALIAS:STATE`` command. + + **Usage:** + - Using the ``.query()`` method will send the ``ALIas?`` query. + - Using the ``.verify(value)`` method will send the ``ALIas?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ALIas value`` command. + + **SCPI Syntax:** + + :: + + - ALIas {OFF|ON|} + - ALIas? + + **Info:** + - ``OFF`` turns Alias expansion off. + - ``ON`` turns Alias expansion on. When a defined alias is received, the specified + command sequence is substituted for the alias and executed. + - ```` = 0 disables Alias mode; any other value enables Alias mode. + + Sub-properties: + - ``.catalog``: The ``ALIas:CATalog`` command. + - ``.define``: The ``ALIas:DEFine`` command. + - ``.delete``: The ``ALIas:DELEte`` command. + - ``.state``: The ``ALIas:STATE`` command. + """ + return self._alias + + @property + def allev(self) -> Allev: + """Return the ``ALLEv`` command. + + **Description:** + - This query-only command prompts the instrument to return all events and their messages + (delimited by commas), and removes the returned events from the Event Queue. Use the + ``*ESR?`` query to enable the events to be returned. This command is similar to + repeatedly sending ``*EVMsg?`` queries to the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLEv?`` query. + - Using the ``.verify(value)`` method will send the ``ALLEv?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ALLEv? + """ + return self._allev + + @property + def application(self) -> Application: + """Return the ``APPLication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``APPLication?`` query. + - Using the ``.verify(value)`` method will send the ``APPLication?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.activate``: The ``APPLication:ACTivate`` command. + """ + return self._application + + @property + def autosavepitimeout(self) -> Autosavepitimeout: + """Return the ``AUTOSAVEPITIMEOUT`` command. + + **Description:** + - This command sets or queries the idle time from the programmable interface before + auto-save occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``AUTOSAVEPITIMEOUT?`` query. + - Using the ``.verify(value)`` method will send the ``AUTOSAVEPITIMEOUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``AUTOSAVEPITIMEOUT value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSAVEPITIMEOUT + - AUTOSAVEPITIMEOUT? + + **Info:** + - ```` + """ + return self._autosavepitimeout + + @property + def autosaveuitimeout(self) -> Autosaveuitimeout: + """Return the ``AUTOSAVEUITIMEOUT`` command. + + **Description:** + - This command sets or queries the idle time from the user interface before auto-save + occurs. + + **Usage:** + - Using the ``.query()`` method will send the ``AUTOSAVEUITIMEOUT?`` query. + - Using the ``.verify(value)`` method will send the ``AUTOSAVEUITIMEOUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``AUTOSAVEUITIMEOUT value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSAVEUITIMEOUT + - AUTOSAVEUITIMEOUT? + + **Info:** + - ```` + """ + return self._autosaveuitimeout + + @property + def autoset(self) -> Autoset: + """Return the ``AUTOSet`` command. + + **Description:** + - This command (no query format) sets the vertical, horizontal, and trigger controls of + the instrument to automatically acquire and display the selected waveform. + + **Usage:** + - Using the ``.write(value)`` method will send the ``AUTOSet value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSet EXECute + + **Info:** + - ``EXECute`` autosets the displayed waveform; this is equivalent to pressing the front + panel Autoset button. + + Sub-properties: + - ``.acquisition``: The ``AUTOSet:ACQuisition`` command tree. + - ``.enable``: The ``AUTOSet:ENAble`` command. + - ``.horizontal``: The ``AUTOSet:HORizontal`` command tree. + - ``.trigger``: The ``AUTOSet:TRIGger`` command tree. + - ``.vertical``: The ``AUTOSet:VERTical`` command tree. + """ + return self._autoset + + @property + def auxout(self) -> Auxout: + """Return the ``AUXout`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXout?`` query. + - Using the ``.verify(value)`` method will send the ``AUXout?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``AUXout:EDGE`` command. + - ``.source``: The ``AUXout:SOUrce`` command. + """ + return self._auxout + + @property + def bus(self) -> Bus: + """Return the ``BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``BUS:ADDNew`` command. + - ``.b``: The ``BUS:B`` command tree. + - ``.delete``: The ``BUS:DELete`` command. + - ``.list``: The ``BUS:LIST`` command. + """ + return self._bus + + @property + def bustable(self) -> Bustable: + """Return the ``BUSTABle`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUSTABle?`` query. + - Using the ``.verify(value)`` method will send the ``BUSTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``BUSTABle:ADDNew`` command. + - ``.delete``: The ``BUSTABle:DELete`` command. + - ``.list``: The ``BUSTABle:LIST`` command. + """ + return self._bustable + + @property + def busy(self) -> Busy: + """Return the ``BUSY`` command. + + **Description:** + - This query-only command returns the status of the instrument. This command allows you + to synchronize the operation of the instrument with your application program. + + **Usage:** + - Using the ``.query()`` method will send the ``BUSY?`` query. + - Using the ``.verify(value)`` method will send the ``BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - BUSY? + """ + return self._busy + + @property + def cal(self) -> Cal: + """Return the ``*CAL`` command. + + **Description:** + - This query-only command starts signal path calibration (SPC) and returns the status + upon completion. + + **Usage:** + - Using the ``.query()`` method will send the ``*CAL?`` query. + - Using the ``.verify(value)`` method will send the ``*CAL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *CAL? + """ + return self._cal + + @property + def calibrate(self) -> Calibrate: + """Return the ``CALibrate`` command. + + **Description:** + - This query returns the status of signal path calibration. + + **Usage:** + - Using the ``.query()`` method will send the ``CALibrate?`` query. + - Using the ``.verify(value)`` method will send the ``CALibrate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CALibrate? + + Sub-properties: + - ``.internal``: The ``CALibrate:INTERNal`` command. + - ``.pwrupstatus``: The ``CALibrate:PWRUpstatus`` command. + """ + return self._calibrate + + @property + def callouts(self) -> Callouts: + """Return the ``CALLOUTS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CALLOUTS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``CALLOUTS:ADDNew`` command. + - ``.callout``: The ``CALLOUTS:CALLOUT`` command tree. + """ + return self._callouts + + @property + def ch(self) -> Dict[int, Channel]: + """Return the ``CH`` command. + + **Description:** + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CH? + + Sub-properties: + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.clipping``: The ``CH:CLIPping`` command. + - ``.coupling``: The ``CH:COUPling`` command. + - ``.deskew``: The ``CH:DESKew`` command. + - ``.ditherrange``: The ``CH:DITHERrange`` command. + - ``.invert``: The ``CH:INVert`` command. + - ``.label``: The ``CH:LABel`` command tree. + - ``.offset``: The ``CH:OFFSet`` command. + - ``.position``: The ``CH:POSition`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probetype``: The ``CH:PROBETYPE`` command. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scaleratio``: The ``CH:SCALERATio`` command. + - ``.scale``: The ``CH:SCAle`` command. + - ``.sv``: The ``CH:SV`` command tree. + - ``.termination``: The ``CH:TERmination`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + - ``.d``: The ``CH_D`` command tree. + - ``.dall``: The ``CH_DALL`` command tree. + """ + return self._ch + + @property + def clear(self) -> Clear: + """Return the ``CLEAR`` command. + + **Description:** + - This command clears acquisitions, measurements, and waveforms. + + **Usage:** + - Using the ``.write()`` method will send the ``CLEAR`` command. + + **SCPI Syntax:** + + :: + + - CLEAR + """ + return self._clear + + @property + def cls(self) -> Cls: + """Return the ``*CLS`` command. + + **Description:** + - This command (no query form) clears the following: Event Queue Standard Event Status + Register Status Byte Register (except the MAV bit) If the ``*CLS`` command immediately + follows an , the Output Queue and MAV bit (Status Byte Register bit 4) are also + cleared. MAV indicates that information is in the output queue. The device clear (DCL) + control message will clear the output queue and thus MAV. ``*CLS`` does not clear the + output queue or MAV. ``*CLS`` can suppress a Service Request that is to be generated + by an ``*OPC``. This will happen if a single sequence acquisition operation is still + being processed when the ``*CLS`` command is executed. + + **Usage:** + - Using the ``.write()`` method will send the ``*CLS`` command. + + **SCPI Syntax:** + + :: + + - *CLS + """ + return self._cls + + @property + def configuration(self) -> Configuration: + """Return the ``CONFIGuration`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CONFIGuration?`` query. + - Using the ``.verify(value)`` method will send the ``CONFIGuration?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.analog``: The ``CONFIGuration:ANALOg`` command tree. + """ + return self._configuration + + @property + def connected(self) -> Connected: + """Return the ``CONNected`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CONNected?`` query. + - Using the ``.verify(value)`` method will send the ``CONNected?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.requested``: The ``CONNected:REQUested`` command tree. + - ``.status``: The ``CONNected:STATus`` command. + - ``.usage``: The ``CONNected:USAGe`` command tree. + """ + return self._connected + + @property + def curve(self) -> Curve: + """Return the ``CURVe`` command. + + **Description:** + - This command transfers waveform data from the instrument. Each waveform that is + transferred has an associated waveform preamble that contains information such as data + format and scale. The ``CURVe?`` query transfers data from the instrument. The data + source is specified by the ``DATA:SOURCE`` command. The first and last data points are + specified by the ``DATA:START`` and ``DATA:STOP`` commands. For digital sources, + ``CH_D`` or CH _DALL, when the ``:DATa:WIDth`` is 1, the returned data is + state only. When the ``:DATa:WIDth`` is 2, the returned data is transition data with 2 + bits per digital channel representing the transition information as follows: 0 0 low 0 + 1 high 1 1 multiple transitions in interval ending with high 1 0 multiple transitions + in interval ending with low For individual digital channels (such as ``CH_D`` ), + ``:DATa:WIDth 2`` provides the 2-bit transition data with the upper 14 bits zero. + ``:DATa:WIDth 1`` provides only the state in the LSB with the upper 7 bits all zero. + For ``CH_DAll`` sources, ``:DATa:WIDth 2`` provides the 2-bit transition data for + each of the 8 constituent channels with the D7 bit represented in the 2 most + significant bits, D6 in the next 2, and so on. ``:DATa:WIDth 1`` provides the states + of each of the 8 constituent channels with D7 represented in the most significant bit + and D0 in the least significant bit. Depending on the sample rate, multi-transition + data may not be available and ``:CURVe?`` queries for digital channels with + ``:DATa:WIDth 2`` may result in a warning event 'Execution warning: Multi-transition + data not available'. In this case, the transition data returned will be 0 0 or 0 1. + For MATH sources, only 8-byte double precision floating point data is returned in + ``:CURVe?`` queries. A Fast Acquisition waveform Pixmap data is a 500 (vertical) by + 1000 (horizontal) point bitmap. Each point represents display intensity for that + screen location. 500 (vertical) which is the row count in the bitmap, might vary based + on how many channels enabled from same FastAcq group. To query and get the Fast Acq + Pixel Map data, the following command set should be sent: ``ACQuire:FASTAcq:STATE ON`` + ``DATA:MODe PIXmap`` When the FastAcq is on, Curve? on Ch will return pixmap data + (if ``DATA:MODe`` is PIXmap). The number of rows in the pixmap will vary based on how + many ch sources are turned on and how they are grouped in acquisition HW. The + grouping can vary from model to model. The number of columns in pixmap data is fixed + to 1000. For example, on a MSO58 instrument, Ch1 to Ch4 is 'group1' and Ch5 to Ch8 is + 'group2'. If Ch1 is turned on (in group1) then Ch1 rows will be 500. If Ch2 and Ch3 + are turned on (in group1) then Ch2 and Ch3 rows will be 250 each. When all Ch1/2/3/4 + are turned on (in group1) then 125 rows per channel. If Ch1 (in group1) and Ch8 (in + group2) are turned on then 500 rows will be returned for each channel. To calculate + the number of rows, you can use- (number of bytes from curve header/``BYT_NR``)/1000. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVe?`` query. + - Using the ``.verify(value)`` method will send the ``CURVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURVe? + """ + return self._curve + + @property + def curvestream(self) -> Curvestream: + """Return the ``CURVEStream`` command. + + **Description:** + - This query-only command continuously transfers waveform data from the instrument as it + is acquired. This command puts the instrument into a streaming data mode, allowing the + controller to receive waveform records as fast as they are acquired. Use the + ``DATA:SOURCE`` command to specify the waveform sources. The command supports all the + same data formatting options as the CURVE command. Control of the instrument through + the user interface or other external clients is not allowed while in streaming data + mode. The GPIB controller must take the instrument out of this streaming data mode to + terminate the query and allow other input sources to resume communication with the + instrument. The following options are available to transition out of streaming data + mode: Send a device clear over the bus Send another command or query to the instrument + Turning the waveform screen display mode off ( ``:DISplay:WAVEform OFF`` ) may + increase waveform throughput during streaming mode. Using a data encoding of SRIbinary + ( ``DATa:ENCdg SRIbinary`` ) may also increase the waveform throughput since that is + the raw native data format of the oscilloscope. While in streaming data mode, two + extreme conditions can occur. If the waveform records are being acquired slowly (high + resolution), configure the controller for a long time-out threshold, as the data is + not sent out until each complete record is acquired. If the waveform records are being + acquired rapidly (low resolution), and the controller is not reading the data off the + bus fast enough, the trigger rate is slowed to allow each waveform to be sent + sequentially. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVEStream?`` query. + - Using the ``.verify(value)`` method will send the ``CURVEStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURVEStream? + """ + return self._curvestream + + @property + def customtable(self) -> Customtable: + """Return the ``CUSTOMTABle`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CUSTOMTABle?`` query. + - Using the ``.verify(value)`` method will send the ``CUSTOMTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``CUSTOMTABle:ADDNew`` command. + - ``.delete``: The ``CUSTOMTABle:DELete`` command. + - ``.list``: The ``CUSTOMTABle:LIST`` command. + """ + return self._customtable + + @property + def data(self) -> Data: + """Return the ``DATa`` command. + + **Description:** + - This command sets or queries the format and location of the waveform data that is + transferred with the CURVE command. + + **Usage:** + - Using the ``.query()`` method will send the ``DATa?`` query. + - Using the ``.verify(value)`` method will send the ``DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATa value`` command. + + **SCPI Syntax:** + + :: + + - DATa {INIT|SNAp} + - DATa? + + **Info:** + - ``INIT`` initializes the waveform data parameters to their factory defaults except for + ``DATa:STOP``, which isset to the current acquisition record length. + - ``SNAp`` Sets ``DATa:STARt`` and ``DATa:STOP`` to match the current waveform cursor + positions of WAVEVIEW1 CURSOR1 if these waveform cursors are currently on. If these + waveform cursors are not on when the ``DATa SNAp`` command is sent, it is silently + ignored and ``DATa:STARt`` and ``:STOP`` remain unchanged. + + Sub-properties: + - ``.encdg``: The ``DATa:ENCdg`` command. + - ``.framestart``: The ``DATa:FRAMESTARt`` command. + - ``.framestop``: The ``DATa:FRAMESTOP`` command. + - ``.mode``: The ``DATa:MODe`` command. + - ``.resample``: The ``DATa:RESample`` command. + - ``.source``: The ``DATa:SOUrce`` command. + - ``.start``: The ``DATa:STARt`` command. + - ``.stop``: The ``DATa:STOP`` command. + - ``.width``: The ``DATa:WIDth`` command. + """ + return self._data + + @property + def date(self) -> Date: + """Return the ``DATE`` command. + + **Description:** + - This command queries the date that the instrument displays. + + **Usage:** + - Using the ``.query()`` method will send the ``DATE?`` query. + - Using the ``.verify(value)`` method will send the ``DATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DATE? + """ + return self._date + + @property + def ddt(self) -> Ddt: + """Return the ``*DDT`` command. + + **Description:** + - This command allows you to specify a command or a list of commands that are executed + when the instrument receives a TRG command. Define Device Trigger ( ``*DDT`` ) is a + special alias that the ``*TRG`` command uses. + + **Usage:** + - Using the ``.query()`` method will send the ``*DDT?`` query. + - Using the ``.verify(value)`` method will send the ``*DDT?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*DDT value`` command. + + **SCPI Syntax:** + + :: + + - *DDT {|} + - *DDT? + + **Info:** + - ```` is a complete sequence of program messages. The messages can contain only + valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. The + format of this argument is always returned as a query. + - ```` is a complete sequence of program messages. The messages can contain + only valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. + """ + return self._ddt + + @property + def dese(self) -> Dese: + """Return the ``DESE`` command. + + **Description:** + - This command sets and queries the bits in the Device Event Status Enable Register + (DESER). The DESER is the mask that determines whether events are reported to the + Standard Event Status Register (SESR), and entered into the Event Queue. For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``DESE?`` query. + - Using the ``.verify(value)`` method will send the ``DESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DESE value`` command. + + **SCPI Syntax:** + + :: + + - DESE + - DESE? + + **Info:** + - ```` The binary bits of the DESER are set according to this value, which ranges + from 1 through 255. For example, ``DESE 209`` sets the DESER to the binary value + 11010001 (that is, the most significant bit in the register is set to 1, the next most + significant bit to 1, the next bit to 0, etc.). + """ + return self._dese + + @property + def diag(self) -> Diag: + """Return the ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.loop``: The ``DIAg:LOOP`` command tree. + - ``.mode``: The ``DIAg:MODe`` command. + - ``.result``: The ``DIAg:RESUlt`` command. + - ``.select``: The ``DIAg:SELect`` command. + - ``.state``: The ``DIAg:STATE`` command. + """ + return self._diag + + @property + def diggrp(self) -> Dict[int, DiggrpItem]: + """Return the ``DIGGRP`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIGGRP?`` query. + - Using the ``.verify(value)`` method will send the ``DIGGRP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **Info:** + - ``DIGGRP`` is the channel number. + + Sub-properties: + - ``.d``: The ``DIGGRP:D`` command tree. + """ + return self._diggrp + + @property + def display(self) -> Display: + """Return the ``DISplay`` command. + + **Description:** + - This query-only command returns the current Display settings. + + **Usage:** + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DISplay? + + Sub-properties: + - ``.colors``: The ``DISplay:COLors`` command. + - ``.global``: The ``DISplay:GLObal`` command tree. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.mathfftview1``: The ``DISplay:MATHFFTView1`` command tree. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.plotview1``: The ``DISplay:PLOTView1`` command tree. + - ``.reffftview``: The ``DISplay:REFFFTView`` command tree. + - ``.select``: The ``DISplay:SELect`` command tree. + - ``.specview1``: The ``DISplay:SPECView1`` command tree. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveview``: The ``DISplay:WAVEView`` command tree. + - ``.waveview1``: The ``DISplay:WAVEView1`` command tree. + - ``.waveform``: The ``DISplay:WAVEform`` command. + - ``.ch``: The ``DISplay:CH`` command tree. + - ``.math``: The ``DISplay:Math`` command tree. + - ``.ref``: The ``DISplay:REF`` command tree. + """ + return self._display + + @property + def dvm(self) -> Dvm: + """Return the ``DVM`` command. + + **Description:** + - Resets the Digital Voltmeter measurements and history. + + **Usage:** + - Using the ``.write(value)`` method will send the ``DVM value`` command. + + **SCPI Syntax:** + + :: + + - DVM RESET + + **Info:** + - ``RESET`` specifies resetting ``DVM`` measurements and history. + + Sub-properties: + - ``.autorange``: The ``DVM:AUTORange`` command. + - ``.measurement``: The ``DVM:MEASUrement`` command tree. + - ``.mode``: The ``DVM:MODe`` command. + - ``.source``: The ``DVM:SOUrce`` command. + - ``.trigger``: The ``DVM:TRIGger`` command tree. + """ + return self._dvm + + @property + def ese(self) -> Ese: + """Return the ``*ESE`` command. + + **Description:** + - This command sets and queries the bits in the Event Status Enable Register (ESER). The + ESER prevents events from being reported to the Status Byte Register (STB). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESE?`` query. + - Using the ``.verify(value)`` method will send the ``*ESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*ESE value`` command. + + **SCPI Syntax:** + + :: + + - *ESE + - *ESE? + + **Info:** + - ```` specifies the binary bits of the ESER according to this value, which ranges + from 0 through 255. + """ + return self._ese + + @property + def esr(self) -> Esr: + """Return the ``*ESR`` command. + + **Description:** + - This query-only command returns the contents of the Standard Event Status Register + (SESR). ``*ESR?`` also clears the SESR (since reading the SESR clears it). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESR?`` query. + - Using the ``.verify(value)`` method will send the ``*ESR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *ESR? + """ + return self._esr + + @property + def ethernet(self) -> Ethernet: + """Return the ``ETHERnet`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``ETHERnet?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.dhcpbootp``: The ``ETHERnet:DHCPbootp`` command. + - ``.dns``: The ``ETHERnet:DNS`` command tree. + - ``.domainname``: The ``ETHERnet:DOMAINname`` command. + - ``.enet``: The ``ETHERnet:ENET`` command tree. + - ``.gateway``: The ``ETHERnet:GATEWay`` command tree. + - ``.ipaddress``: The ``ETHERnet:IPADDress`` command. + - ``.lxi``: The ``ETHERnet:LXI`` command tree. + - ``.name``: The ``ETHERnet:NAME`` command. + - ``.networkconfig``: The ``ETHERnet:NETWORKCONFig`` command. + - ``.ping``: The ``ETHERnet:PING`` command. + - ``.subnetmask``: The ``ETHERnet:SUBNETMask`` command. + """ + return self._ethernet + + @property + def event(self) -> Event: + """Return the ``EVENT`` command. + + **Description:** + - This query-only command returns an event code from the Event Queue that provides + information about the results of the last ESR read. ``EVENT?`` also removes the + returned value from the Event Queue. + + **Usage:** + - Using the ``.query()`` method will send the ``EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``EVENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVENT? + """ + return self._event + + @property + def evmsg(self) -> Evmsg: + """Return the ``EVMsg`` command. + + **Description:** + - This query-only command removes a single event code from the Event Queue that is + associated with the results of the last ESR read and returns the event code with an + explanatory message. For more information, see Event Handling. + + **Usage:** + - Using the ``.query()`` method will send the ``EVMsg?`` query. + - Using the ``.verify(value)`` method will send the ``EVMsg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVMsg? + """ + return self._evmsg + + @property + def evqty(self) -> Evqty: + """Return the ``EVQty`` command. + + **Description:** + - This query-only command returns the number of events that are enabled in the queue. + This is useful when using the ALLEV query, since it lets you know exactly how many + events will be returned. + + **Usage:** + - Using the ``.query()`` method will send the ``EVQty?`` query. + - Using the ``.verify(value)`` method will send the ``EVQty?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVQty? + """ + return self._evqty + + @property + def eyemask(self) -> Eyemask: + """Return the ``EYEMASK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``EYEMASK?`` query. + - Using the ``.verify(value)`` method will send the ``EYEMASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``EYEMASK:MASK`` command tree. + """ + return self._eyemask + + @property + def factory(self) -> Factory: + """Return the ``FACtory`` command. + + **Description:** + - This command (no query form) resets the instrument to its factory default settings. + This command is equivalent to pressing the DEFAULT SETUP button located on the + instrument front panel or selecting Default Setup from the File menu. This command + Performs the following in addition to what is done for the ``*RST`` command: Clears + any pending OPC operations. Resets the following IEEE488.2 registers: ``*ESE 0`` + (Event Status Enable Register) ``*SRE 0`` (Service Request Enable Register) DESE 255 + (Device Event Status Enable Register) ``*PSC 1`` (Power-on Status Clear Flag) Deletes + all defined aliases. Enables command headers (``:HEADer 1``). + + **Usage:** + - Using the ``.write()`` method will send the ``FACtory`` command. + + **SCPI Syntax:** + + :: + + - FACtory + """ + return self._factory + + @property + def filesystem(self) -> Filesystem: + """Return the ``FILESystem`` command. + + **Description:** + - This query-only command returns the directory listing of the current working + directory. This query is the same as the ``FILESystem:DIR?`` query. + + **Usage:** + - Using the ``.query()`` method will send the ``FILESystem?`` query. + - Using the ``.verify(value)`` method will send the ``FILESystem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FILESystem? + + Sub-properties: + - ``.copy``: The ``FILESystem:COPy`` command. + - ``.cwd``: The ``FILESystem:CWD`` command. + - ``.delete``: The ``FILESystem:DELEte`` command. + - ``.dir``: The ``FILESystem:DIR`` command. + - ``.homedir``: The ``FILESystem:HOMEDir`` command. + - ``.ldir``: The ``FILESystem:LDIR`` command. + - ``.mkdir``: The ``FILESystem:MKDir`` command. + - ``.mount``: The ``FILESystem:MOUNT`` command tree. + - ``.readfile``: The ``FILESystem:READFile`` command. + - ``.rename``: The ``FILESystem:REName`` command. + - ``.rmdir``: The ``FILESystem:RMDir`` command. + - ``.tekdrive``: The ``FILESystem:TEKDrive`` command tree. + - ``.unmount``: The ``FILESystem:UNMOUNT`` command tree. + - ``.writefile``: The ``FILESystem:WRITEFile`` command. + """ + return self._filesystem + + @property + def fpanel(self) -> Fpanel: + """Return the ``FPAnel`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``FPAnel?`` query. + - Using the ``.verify(value)`` method will send the ``FPAnel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.press``: The ``FPAnel:PRESS`` command. + - ``.turn``: The ``FPAnel:TURN`` command. + """ + return self._fpanel + + @property + def header(self) -> Header: + """Return the ``HEADer`` command. + + **Description:** + - This command sets or queries the Response Header Enable State that causes the + instrument to either include or omit headers on query responses. Whether the long or + short form of header keywords and enumerations are returned is dependent upon the + state of ``:VERBose``. + + **Usage:** + - Using the ``.query()`` method will send the ``HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HEADer value`` command. + + **SCPI Syntax:** + + :: + + - HEADer {|OFF|ON} + - HEADer? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._header + + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + + @property + def horizontal(self) -> Horizontal: + """Return the ``HORizontal`` command. + + **Description:** + - Queries the current horizontal settings. + + **Usage:** + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal? + + Sub-properties: + - ``.acqduration``: The ``HORizontal:ACQDURATION`` command. + - ``.delay``: The ``HORizontal:DELay`` command tree. + - ``.divisions``: The ``HORizontal:DIVisions`` command. + - ``.fastframe``: The ``HORizontal:FASTframe`` command. + - ``.history``: The ``HORizontal:HISTory`` command tree. + - ``.main``: The ``HORizontal:MAIn`` command tree. + - ``.mode``: The ``HORizontal:MODe`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.previewstate``: The ``HORizontal:PREViewstate`` command. + - ``.recordlength``: The ``HORizontal:RECOrdlength`` command. + - ``.roll``: The ``HORizontal:ROLL`` command. + - ``.samplerate``: The ``HORizontal:SAMPLERate`` command. + - ``.scale``: The ``HORizontal:SCAle`` command. + """ + return self._horizontal + + @property + def id(self) -> Id: + """Return the ``ID`` command. + + **Description:** + - This query-only command returns identifying information about the instrument and + related firmware similar to that returned by the ``*IDN?`` IEEE488.2 common query but + does not include the instrument serial number. + + **Usage:** + - Using the ``.query()`` method will send the ``ID?`` query. + - Using the ``.verify(value)`` method will send the ``ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ID? + """ + return self._id + + @property + def idn(self) -> Idn: + """Return the ``*IDN`` command. + + **Description:** + - This query-only command returns the instrument identification code. + + **Usage:** + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *IDN? + """ + return self._idn + + @property + def license(self) -> License: + """Return the ``LICense`` command. + + **Description:** + - This query-only command returns all license parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``LICense?`` query. + - Using the ``.verify(value)`` method will send the ``LICense?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - LICense? + + Sub-properties: + - ``.appid``: The ``LICense:APPID`` command. + - ``.count``: The ``LICense:COUNt`` command. + - ``.error``: The ``LICense:ERRor`` command. + - ``.gmt``: The ``LICense:GMT`` command. + - ``.hid``: The ``LICense:HID`` command. + - ``.install``: The ``LICense:INSTall`` command. + - ``.item``: The ``LICense:ITEM`` command. + - ``.list``: The ``LICense:LIST`` command. + - ``.uninstall``: The ``LICense:UNINSTALL`` command. + - ``.validate``: The ``LICense:VALidate`` command. + """ + return self._license + + @property + def lock(self) -> Lock: + """Return the ``LOCk`` command. + + **Description:** + - This command enables or disables the touch screen and all front panel buttons and + knobs. There is no front panel equivalent. When the front panel is locked, the front + panel commands will not work and will not generate error events. You can work around a + locked front panel, by using the appropriate programmatic interface commands, instead + of the front-panel commands. For example, to set the trigger level to 50%, you could + use ``TRIGger:A SETLevel``. To force a trigger, you could use TRIGger FORCe. + + **Usage:** + - Using the ``.query()`` method will send the ``LOCk?`` query. + - Using the ``.verify(value)`` method will send the ``LOCk?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``LOCk value`` command. + + **SCPI Syntax:** + + :: + + - LOCk {ALL|NONe} + - LOCk? + + **Info:** + - ``ALL`` disables all front panel controls and the touch screen. + - ``NONe`` enables all front panel controls and the touch screen. The UNLock ALL command + only unlocks the front panel controls. + - ``NONe`` command has no effect. For more information, see the ANSI/IEEE Std 488.1-1987 + Standard Digital Interface for Programmable Instrumentation, section 2.8.3 on RL State + Descriptions. + """ + return self._lock + + @property + def lrn(self) -> Lrn: + """Return the ``*LRN`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, + allowing you to record or 'learn' the current instrument settings. You can use these + commands to return the instrument to the state it was in when you made the ``*LRN?`` + query. This command is identical to the SET command. + + **Usage:** + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *LRN? + """ + return self._lrn + + @property + def mainwindow(self) -> Mainwindow: + """Return the ``MAINWindow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MAINWindow?`` query. + - Using the ``.verify(value)`` method will send the ``MAINWindow?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.badge``: The ``MAINWindow:BADGe`` command tree. + - ``.fontsize``: The ``MAINWindow:FONTSize`` command. + - ``.rrbdisplaystate``: The ``MAINWindow:RRBDisplaystate`` command. + """ + return self._mainwindow + + @property + def mask(self) -> Mask: + """Return the ``MASK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.delete``: The ``MASK:DELete`` command. + - ``.mask``: The ``MASK:MASK`` command tree. + - ``.test``: The ``MASK:TESt`` command tree. + """ + return self._mask + + @property + def math(self) -> Math: + """Return the ``MATH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``MATH:ADDNew`` command. + - ``.delete``: The ``MATH:DELete`` command. + - ``.list``: The ``MATH:LIST`` command. + - ``.math``: The ``MATH:MATH`` command tree. + """ + return self._math + + @property + def matharbflt(self) -> Dict[int, MatharbfltItem]: + """Return the ``MATHArbflt`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHArbflt?`` query. + - Using the ``.verify(value)`` method will send the ``MATHArbflt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filepath``: The ``MATHArbflt:FILepath`` command. + """ + return self._matharbflt + + @property + def meastable(self) -> Meastable: + """Return the ``MEASTABle`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASTABle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``MEASTABle:ADDNew`` command. + - ``.delete``: The ``MEASTABle:DELETE`` command. + """ + return self._meastable + + @property + def measurement(self) -> Measurement: + """Return the ``MEASUrement`` command. + + **Description:** + - This query-only command returns all measurement parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement? + + Sub-properties: + - ``.addmeas``: The ``MEASUrement:ADDMEAS`` command. + - ``.addnew``: The ``MEASUrement:ADDNew`` command. + - ``.annotate``: The ``MEASUrement:ANNOTate`` command. + - ``.autoset``: The ``MEASUrement:AUTOset`` command. + - ``.ch``: The ``MEASUrement:CH`` command tree. + - ``.clockrecovery``: The ``MEASUrement:CLOCKRecovery`` command tree. + - ``.deleteall``: The ``MEASUrement:DELETEALL`` command. + - ``.delete``: The ``MEASUrement:DELete`` command. + - ``.diracmodel``: The ``MEASUrement:DIRacmodel`` command. + - ``.displayunits``: The ``MEASUrement:DISPLAYUnits`` command. + - ``.edge``: The ``MEASUrement:EDGE`` command. + - ``.eyerender``: The ``MEASUrement:EYERENDER`` command. + - ``.filters``: The ``MEASUrement:FILTers`` command tree. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.highlevel``: The ``MEASUrement:HIGHLEVel`` command tree. + - ``.interp``: The ``MEASUrement:INTERp`` command. + - ``.jittermodel``: The ``MEASUrement:JITTermodel`` command. + - ``.list``: The ``MEASUrement:LIST`` command. + - ``.lockrj``: The ``MEASUrement:LOCKRJ`` command. + - ``.lockrjvalue``: The ``MEASUrement:LOCKRJValue`` command. + - ``.math``: The ``MEASUrement:MATH`` command tree. + - ``.meas``: The ``MEASUrement:MEAS`` command tree. + - ``.measrange``: The ``MEASUrement:MEASRange`` command tree. + - ``.mech``: The ``MEASUrement:MECH`` command tree. + - ``.minui``: The ``MEASUrement:MINUI`` command. + - ``.population``: The ``MEASUrement:POPUlation`` command tree. + - ``.ref``: The ``MEASUrement:REF`` command tree. + - ``.reflevels``: The ``MEASUrement:REFLevels`` command tree. + - ``.results``: The ``MEASUrement:RESUlts`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + - ``.wbg``: The ``MEASUrement:WBG`` command tree. + """ + return self._measurement + + @property + def newpass(self) -> Newpass: + """Return the ``NEWpass`` command. + + **Description:** + - This command (no query form) changes the password that enables access to password + protected data. The PASSWord command must be successfully executed before using this + command or an execution error will be generated. + + **Usage:** + - Using the ``.write(value)`` method will send the ``NEWpass value`` command. + + **SCPI Syntax:** + + :: + + - NEWpass + + **Info:** + - ```` is the new password, which can contain up to 10 characters. + """ + return self._newpass + + @property + def opc(self) -> Opc: + """Return the ``*OPC`` command. + + **Description:** + - This command generates the operation complete message in the Standard Event Status + Register (SESR) when all pending commands that generate an OPC message are complete. + The ``*OPC?`` query places the ASCII character '1' into the output queue when all such + OPC commands are complete. The ``*OPC?`` response is not available to read until all + pending operations finish. For a complete discussion of the use of these registers and + the output queue, see Registers and Queues. The ``*OPC`` command allows you to + synchronize the operation of the instrument with your application program. For more + information, see Synchronization Methods. Refer to the Oscilloscope operations that + can generate OPC table for a list of commands that generate an OPC message. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPC?`` query. + - Using the ``.verify(value)`` method will send the ``*OPC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``*OPC`` command. + + **SCPI Syntax:** + + :: + + - *OPC + - *OPC? + """ + return self._opc + + @property + def opt(self) -> Opt: + """Return the ``*OPT`` command. + + **Description:** + - This query-only command returns a comma separated list of installed options as an + arbitrary ASCII string (no quotes) of the form: + ``:``,``:``... The last + section of each entry (the text following the last hyphen) indicates the license type. + If no options are found, NONE is returned. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPT?`` query. + - Using the ``.verify(value)`` method will send the ``*OPT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *OPT? + """ + return self._opt + + @property + def password(self) -> Password: + """Return the ``PASSWord`` command. + + **Description:** + - This command (no query form) enables the ``*PUD`` and NEWpass set commands. Sending + ``PASSWord`` without any arguments disables these same commands. Once the password is + successfully entered, the ``*PUD`` and NEWpass commands are enabled until the + instrument is powered off, or until the FACtory command, the ``PASSWord`` command with + no arguments, or the ``*RST`` command is issued. To change the password, you must + first enter the valid password with the ``PASSWord`` command and then change to your + new password with the NEWpass command. Remember that the password is case sensitive. + + **Usage:** + - Using the ``.write(value)`` method will send the ``PASSWord value`` command. + + **SCPI Syntax:** + + :: + + - PASSWord + + **Info:** + - ```` is the password, which can contain up to 10 characters. The factory + default password is 'XYZZY' and is always valid. + """ + return self._password + + @property + def pause(self) -> Pause: + """Return the ``PAUSe`` command. + + **Description:** + - This command causes the interface to pause the specified number of seconds before + processing any other commands. + + **Usage:** + - Using the ``.write(value)`` method will send the ``PAUSe value`` command. + + **SCPI Syntax:** + + :: + + - PAUSe + + **Info:** + - ```` is the specified number of seconds the interface is to pause before + processing any other commands. The pause time is specified as a floating point value + in seconds and must be > 0.0 and ≥1800.0. + """ + return self._pause + + @property + def peakstable(self) -> Peakstable: + """Return the ``PEAKSTABle`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PEAKSTABle?`` query. + - Using the ``.verify(value)`` method will send the ``PEAKSTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``PEAKSTABle:ADDNew`` command. + - ``.delete``: The ``PEAKSTABle:DELete`` command. + - ``.list``: The ``PEAKSTABle:LIST`` command. + - ``.table``: The ``PEAKSTABle:TABle`` command tree. + """ + return self._peakstable + + @property + def pilogger(self) -> Pilogger: + """Return the ``PILOGger`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PILOGger?`` query. + - Using the ``.verify(value)`` method will send the ``PILOGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filename``: The ``PILOGger:FILEName`` command. + - ``.state``: The ``PILOGger:STATE`` command. + """ + return self._pilogger + + @property + def plot(self) -> Plot: + """Return the ``PLOT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``PLOT:ADDNew`` command. + - ``.delete``: The ``PLOT:DELete`` command. + - ``.list``: The ``PLOT:LIST`` command. + - ``.plot``: The ``PLOT:PLOT`` command tree. + """ + return self._plot + + @property + def power(self) -> Power: + """Return the ``POWer`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``POWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``POWer:ADDNew`` command. + - ``.delete``: The ``POWer:DELete`` command. + - ``.power``: The ``POWer:POWer`` command tree. + """ + return self._power + + @property + def psc(self) -> Psc: + """Return the ``*PSC`` command. + + **Description:** + - This command sets and queries the power-on status flag that controls the automatic + power-on handling of the DESER, SRER, and ESER registers. When ``*PSC`` is true, the + DESER register is set to 255 and the SRER and ESER registers are set to 0 at power-on. + When ``*PSC`` is false, the current values in the DESER, SRER, and ESER registers are + preserved in nonvolatile memory when power is shut off and are restored at power-on. + + **Usage:** + - Using the ``.query()`` method will send the ``*PSC?`` query. + - Using the ``.verify(value)`` method will send the ``*PSC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PSC value`` command. + + **SCPI Syntax:** + + :: + + - *PSC {|OFF|ON} + - *PSC? + + **Info:** + - ```` = 0 sets the power-on status clear flag to false, disables the power-on + clear and allows the instrument to possibly assert SRQ after power-on; any other value + sets the power-on status clear flag to true, enabling the power-on status clear and + prevents any SRQ assertion after power on. + - ``OFF`` sets the power-on status clear flag to false, disables the power-on clear and + allows the instrument to possibly assert SRQ after power-on. + - ``ON`` sets the power-on status clear flag to true, enabling the power-on status clear + and prevents any SRQ assertion after power on. + """ + return self._psc + + @property + def pud(self) -> Pud: + """Return the ``*PUD`` command. + + **Description:** + - This command sets or queries a string of Protected User Data. This data is protected + by the PASSWord command. You can modify it only by first entering the correct + password. This password is not necessary to query the data. + + **Usage:** + - Using the ``.query()`` method will send the ``*PUD?`` query. + - Using the ``.verify(value)`` method will send the ``*PUD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PUD value`` command. + + **SCPI Syntax:** + + :: + + - *PUD {|} + - *PUD? + + **Info:** + - ```` is a block containing up to 100 characters. + - ```` is a string containing up to 100 characters. + """ + return self._pud + + @property + def recall(self) -> Recall: + """Return the ``RECAll`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``RECAll?`` query. + - Using the ``.verify(value)`` method will send the ``RECAll?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``RECAll:MASK`` command. + - ``.session``: The ``RECAll:SESsion`` command. + - ``.setup``: The ``RECAll:SETUp`` command. + - ``.waveform``: The ``RECAll:WAVEform`` command. + """ + return self._recall + + @property + def ref(self) -> Ref: + """Return the ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``REF:ADDNew`` command. + - ``.delete``: The ``REF:DELete`` command. + - ``.list``: The ``REF:LIST`` command. + - ``.ref``: The ``REF:REF`` command tree. + """ + return self._ref + + @property + def refx(self) -> Dict[int, RefItem]: + """Return the ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.d``: The ``REF_D`` command tree. + - ``.dall``: The ``REF_DALL`` command tree. + """ + return self._refx + + @property + def rem(self) -> Rem: + """Return the ``REM`` command. + + **Description:** + - This command (no query form) embeds a comment within programs as a means of internally + documenting the programs. This is how to embed comments in a .set file. The instrument + ignores these embedded comment lines. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REM value`` command. + + **SCPI Syntax:** + + :: + + - REM + + **Info:** + - ```` is a string that can contain a maximum of 80 characters. + """ + return self._rem + + @property + def rosc(self) -> Rosc: + """Return the ``ROSc`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ROSc?`` query. + - Using the ``.verify(value)`` method will send the ``ROSc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``ROSc:SOUrce`` command. + - ``.state``: The ``ROSc:STATE`` command. + """ + return self._rosc + + @property + def rst(self) -> Rst: + """Return the ``*RST`` command. + + **Description:** + - This command (no query form) resets the instrument to the factory default settings. + This command does the following: Recalls the default instrument setup. Clears the + current ``*DDT`` command. Disables aliases (``:ALIAS:STATE 0``). Disables the user + password (for the ``*PUD`` command). The ``*RST`` command does not change the + following: The current working directory ( ``:FILESystem:CWD`` command). The state of + command headers ( ``:HEADer`` command). The state of keyword and enumeration verbosity + ( ``:VERBose`` command). The Power-on Status Clear Flag ( ``*PSC`` command). The Event + Status Enable Register ( ``*ESE`` command). The Service Request Enable Register ( + ``*SRE`` command). The Device Event Status Enable Register ( DESE command). The user + password for protected user data ( ``:PASSWord`` command). The content of protected + user data ( ``*PUD`` command). The enabled state of the socket server ( + ``:SOCKETServer:ENAble`` command). The socket server port number ( + ``:SOCKETServer:PORT`` command). The socket server protocol ( + ``:SOCKETServer:PROTOCol`` command). The USBTMC port configuration ( + ``:USBDevice:CONFigure`` command). The destination reference waveform or file path for + the ``:CURVe`` command ( ``:DATa:DESTination`` command). The source waveform for the + ``:CURVe?`` or ``:WAVFrm?`` queries ( ``:DATa:SOUrce`` command). The waveform data + encoding for the ``:CURVe`` command or query or the ``:WAVFrm?`` query ( + ``:DATa:ENCdg`` command). The starting point for ``:CURVe?`` queries ( ``:DATa:STARt`` + command). The ending point for ``:CURVe?`` queries ( ``:DATa:STOP`` command). All + settings associated the ``:WFMInpre`` commands. All user settable settings associated + with the WFMOutpre commands. ``*RST`` only resets the programmable interface settings, + it does not change the user interface settings. + + **Usage:** + - Using the ``.write()`` method will send the ``*RST`` command. + + **SCPI Syntax:** + + :: + + - *RST + """ + return self._rst + + @property + def save(self) -> Save: + """Return the ``SAVe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.image``: The ``SAVe:IMAGe`` command. + - ``.mask``: The ``SAVe:MASK`` command. + - ``.plotdata``: The ``SAVe:PLOTData`` command. + - ``.report``: The ``SAVe:REPOrt`` command. + - ``.session``: The ``SAVe:SESsion`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + return self._save + + @property + def saveon(self) -> Saveon: + """Return the ``SAVEON`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVEON?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEON?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.file``: The ``SAVEON:FILE`` command tree. + - ``.image``: The ``SAVEON:IMAGe`` command. + - ``.trigger``: The ``SAVEON:TRIGger`` command. + - ``.waveform``: The ``SAVEON:WAVEform`` command. + """ + return self._saveon + + @property + def saveonevent(self) -> Saveonevent: + """Return the ``SAVEONEVent`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVEONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filedest``: The ``SAVEONEVent:FILEDest`` command. + - ``.filename``: The ``SAVEONEVent:FILEName`` command. + - ``.image``: The ``SAVEONEVent:IMAGe`` command tree. + - ``.waveform``: The ``SAVEONEVent:WAVEform`` command tree. + """ + return self._saveonevent + + @property + def search(self) -> Search: + """Return the ``SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``SEARCH:ADDNew`` command. + - ``.deleteall``: The ``SEARCH:DELETEALL`` command. + - ``.delete``: The ``SEARCH:DELete`` command. + - ``.list``: The ``SEARCH:LIST`` command. + - ``.search``: The ``SEARCH:SEARCH`` command tree. + - ``.selected``: The ``SEARCH:SELected`` command. + """ + return self._search + + @property + def searchtable(self) -> Searchtable: + """Return the ``SEARCHTABle`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SEARCHTABle?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCHTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``SEARCHTABle:ADDNew`` command. + - ``.delete``: The ``SEARCHTABle:DELete`` command. + - ``.list``: The ``SEARCHTABle:list`` command. + """ + return self._searchtable + + @property + def select(self) -> Select: + """Return the ``SELect`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SELect:CH`` command. + """ + return self._select + + @property + def set_(self) -> Set: + """Return the ``SET`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, except + for configuration information for the calibration values. You can use these commands + to return the instrument to the state it was in when you made the ``SET?`` query. The + ``SET?`` query always returns command headers, regardless of the setting of the HEADER + command. This is because the returned commands are intended to be sent back to the + instrument as a command string. The VERBOSE command can still be used to specify + whether the returned headers should be abbreviated or full-length. This command is + identical to the LRN command. + + **Usage:** + - Using the ``.query()`` method will send the ``SET?`` query. + - Using the ``.verify(value)`` method will send the ``SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SET? + """ + return self._set + + @property + def socketserver(self) -> Socketserver: + """Return the ``SOCKETServer`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SOCKETServer?`` query. + - Using the ``.verify(value)`` method will send the ``SOCKETServer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enable``: The ``SOCKETServer:ENAble`` command. + - ``.port``: The ``SOCKETServer:PORT`` command. + - ``.protocol``: The ``SOCKETServer:PROTOCol`` command. + """ + return self._socketserver + + @property + def sre(self) -> Sre: + """Return the ``*SRE`` command. + + **Description:** + - The ``*SRE`` (Service Request Enable) command sets and queries the bits in the Service + Request Enable Register. For more information, refer to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*SRE?`` query. + - Using the ``.verify(value)`` method will send the ``*SRE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*SRE value`` command. + + **SCPI Syntax:** + + :: + + - *SRE + - *SRE? + + **Info:** + - ```` is a value in the range from 0 through 255. The binary bits of the SRER are + set according to this value. Using an out-of-range value causes an execution error. + The power-on default for SRER is 0 if ``*PSC`` is 1. If ``*PSC`` is 0, the SRER + maintains the previous power cycle value through the current power cycle. + """ + return self._sre + + @property + def stb(self) -> Stb: + """Return the ``*STB`` command. + + **Description:** + - The ``*STB?`` (Read Status Byte) query returns the contents of the Status Byte + Register (SBR) using the Master Summary Status (MSS) bit. For more information, refer + to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*STB?`` query. + - Using the ``.verify(value)`` method will send the ``*STB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *STB? + """ + return self._stb + + @property + def sv(self) -> Sv: + """Return the ``SV`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SV?`` query. + - Using the ``.verify(value)`` method will send the ``SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SV:CH`` command tree. + - ``.lockcenter``: The ``SV:LOCKCenter`` command. + - ``.lockspectrum``: The ``SV:LOCKSpectrum`` command. + - ``.marker``: The ``SV:MARKER`` command tree. + - ``.rbw``: The ``SV:RBW`` command. + - ``.rbwmode``: The ``SV:RBWMode`` command. + - ``.rf_phase``: The ``SV:RF_PHASe`` command tree. + - ``.span``: The ``SV:SPAN`` command. + - ``.spanrbwratio``: The ``SV:SPANRBWRatio`` command. + - ``.spectrogram``: The ``SV:SPECtrogram`` command tree. + - ``.window``: The ``SV:WINDOW`` command. + """ + return self._sv + + @property + def teksecure(self) -> Teksecure: + """Return the ``TEKSecure`` command. + + **Description:** + - This command initializes, for the current user, both waveform and setup memories, + overwriting any previously stored data. Equivalent to invoking Teksecure from the + Utility menu. This is a time-consuming operation (3 to 5 minutes) and the instrument + is inoperable until the TekSecure operation is complete. + + **Usage:** + - Using the ``.write()`` method will send the ``TEKSecure`` command. + + **SCPI Syntax:** + + :: + + - TEKSecure + """ + return self._teksecure + + @property + def time(self) -> Time: + """Return the ``TIMe`` command. + + **Description:** + - This command sets the time in the form ``hh:mm:ss`` where hh refers to a two-digit + hour number, mm refers to a two-digit minute number from 01 to 60, and ss refers to a + two-digit second number from 01 to 60. + + **Usage:** + - Using the ``.query()`` method will send the ``TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TIMe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TIMe + - TIMe? + + **Info:** + - ```` is a quoted string representing the desired time. + + Sub-properties: + - ``.zone``: The ``TIMe:ZONe`` command. + """ + return self._time + + @property + def totaluptime(self) -> Totaluptime: + """Return the ``TOTaluptime`` command. + + **Description:** + - Total number of hours the instrument has been turned on since the NV memory was last + programmed, usually during the initial manufacturing process. + + **Usage:** + - Using the ``.query()`` method will send the ``TOTaluptime?`` query. + - Using the ``.verify(value)`` method will send the ``TOTaluptime?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TOTaluptime? + """ + return self._totaluptime + + @property + def touchscreen(self) -> Touchscreen: + """Return the ``TOUCHSCReen`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TOUCHSCReen?`` query. + - Using the ``.verify(value)`` method will send the ``TOUCHSCReen?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.calibrate``: The ``TOUCHSCReen:CALibrate`` command. + - ``.state``: The ``TOUCHSCReen:STATe`` command. + """ + return self._touchscreen + + @property + def trg(self) -> Trg: + """Return the ``*TRG`` command. + + **Description:** + - Performs a group execute trigger on commands defined by ``*DDT``. + + **Usage:** + - Using the ``.write()`` method will send the ``*TRG`` command. + + **SCPI Syntax:** + + :: + + - *TRG + """ + return self._trg + + @property + def trigger(self) -> Trigger: + """Return the ``TRIGger`` command. + + **Description:** + - This command forces a trigger event to occur. The query returns the current trigger + parameters for the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger FORCe + - TRIGger? + + **Info:** + - ``FORCe`` creates a trigger event. If ``TRIGger:STATE`` is set to READy, the + acquisition will complete. Otherwise, this command will be ignored. This is equivalent + to pressing the Force button on the front panel. + + Sub-properties: + - ``.a``: The ``TRIGger:A`` command tree. + - ``.auxlevel``: The ``TRIGger:AUXLevel`` command. + - ``.b``: The ``TRIGger:B`` command tree. + - ``.hysteresis``: The ``TRIGger:HYSTeresis`` command tree. + - ``.state``: The ``TRIGger:STATE`` command. + """ + return self._trigger + + @property + def tst(self) -> Tst: + """Return the ``*TST`` command. + + **Description:** + - Tests (self-test) the interface and returns a 0. + + **Usage:** + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *TST? + """ + return self._tst + + @property + def tstamptable(self) -> Tstamptable: + """Return the ``TSTamptable`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TSTamptable?`` query. + - Using the ``.verify(value)`` method will send the ``TSTamptable?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``TSTamptable:ADDNew`` command. + - ``.delete``: The ``TSTamptable:DELETE`` command. + - ``.list``: The ``TSTamptable:LIST`` command. + """ + return self._tstamptable + + @property + def undo(self) -> Undo: + """Return the ``UNDO`` command. + + **Description:** + - Reverts the instrument settings to a state before the previous command or user + interface action. + + **Usage:** + - Using the ``.write()`` method will send the ``UNDO`` command. + + **SCPI Syntax:** + + :: + + - UNDO + """ + return self._undo + + @property + def unlock(self) -> Unlock: + """Return the ``UNLock`` command. + + **Description:** + - This command (no query form) unlocks the front panel controls only. To unlock the + front panel controls and the touch screen use the LOCk NONe command. The command + ``TOUCHSCReen:STATE ON`` enables the touch screen only. + + **Usage:** + - Using the ``.write(value)`` method will send the ``UNLock value`` command. + + **SCPI Syntax:** + + :: + + - UNLock ALL + + **Info:** + - ``ALL`` specifies that all front panel buttons and knobs are unlocked. + """ + return self._unlock + + @property + def usbdevice(self) -> Usbdevice: + """Return the ``USBDevice`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``USBDevice?`` query. + - Using the ``.verify(value)`` method will send the ``USBDevice?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.configure``: The ``USBDevice:CONFigure`` command. + """ + return self._usbdevice + + @property + def verbose(self) -> Verbose: + """Return the ``VERBose`` command. + + **Description:** + - This command sets or queries the Verbose state that controls the length of keywords on + query responses. Keywords can be both headers and arguments. + + **Usage:** + - Using the ``.write(value)`` method will send the ``VERBose value`` command. + + **SCPI Syntax:** + + :: + + - VERBose {|OFF|ON} + + **Info:** + - ```` = 0 disables Verbose, any other value enables Verbose. + - ``OFF`` sets the Verbose state to false, which returns minimum-length keywords for + applicable setting queries. + - ``ON`` sets the Verbose state to true, which returns full-length keywords for + applicable setting queries. + """ + return self._verbose + + @property + def vertical(self) -> Vertical: + """Return the ``VERTical`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``VERTical?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.deskew``: The ``VERTical:DESKew`` command tree. + """ + return self._vertical + + @property + def visual(self) -> Visual: + """Return the ``VISual`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``VISual?`` query. + - Using the ``.verify(value)`` method will send the ``VISual?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.area``: The ``VISual:AREA`` command tree. + - ``.deleteall``: The ``VISual:DELETEALL`` command. + - ``.enable``: The ``VISual:ENAble`` command. + - ``.equation``: The ``VISual:EQUation`` command. + - ``.showareas``: The ``VISual:SHOWAReas`` command. + - ``.showcriteria``: The ``VISual:SHOWCRiteria`` command. + - ``.showequation``: The ``VISual:SHOWEQuation`` command. + """ + return self._visual + + @property + def wai(self) -> Wai: + """Return the ``*WAI`` command. + + **Description:** + - The ``*WAI`` (Wait) command (no query form) prevents the instrument from executing + further commands or queries until all pending commands that generate an OPC message + are complete. This command allows you to synchronize the operation of the instrument + with your application program. For more information, refer to Synchronization Methods. + + **Usage:** + - Using the ``.write()`` method will send the ``*WAI`` command. + + **SCPI Syntax:** + + :: + + - *WAI + """ + return self._wai + + @property + def wavfrm(self) -> Wavfrm: + """Return the ``WAVFrm`` command. + + **Description:** + - This query-only command provides the Tektronix standard waveform query which returns + the waveform preamble followed by the waveform data for the source specified by + ``:DATa:SOUrce`` using the ``:DATa`` settings for encoding, width, and so forth. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFrm?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFrm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFrm? + """ + return self._wavfrm + + @property + def wfmoutpre(self) -> Wfmoutpre: + """Return the ``WFMOutpre`` command. + + **Description:** + - This query-only command queries the waveform formatting data for the waveform + specified by the ``DATA:SOURCE`` command. The preamble components are considered to be + of two types; formatting and interpretation. The formatting components are: ENCdg, + ``BN_Fmt``, ``BYT_Or``, ``BYT_Nr``, ``BIT_Nr``. The interpretation components are + derived from the ``DATa:SOUrce`` specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMOutpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMOutpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMOutpre? + + Sub-properties: + - ``.asc_fmt``: The ``WFMOutpre:ASC_Fmt`` command. + - ``.bit_nr``: The ``WFMOutpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMOutpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMOutpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMOutpre:BYT_Or`` command. + - ``.centerfrequency``: The ``WFMOutpre:CENTERFREQuency`` command. + - ``.domain``: The ``WFMOutpre:DOMain`` command. + - ``.encdg``: The ``WFMOutpre:ENCdg`` command. + - ``.nr_pt``: The ``WFMOutpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMOutpre:PT_Fmt`` command. + - ``.pt_order``: The ``WFMOutpre:PT_ORder`` command. + - ``.pt_off``: The ``WFMOutpre:PT_Off`` command. + - ``.resample``: The ``WFMOutpre:RESample`` command. + - ``.span``: The ``WFMOutpre:SPAN`` command. + - ``.wfid``: The ``WFMOutpre:WFId`` command. + - ``.wfmtype``: The ``WFMOutpre:WFMTYPe`` command. + - ``.xincr``: The ``WFMOutpre:XINcr`` command. + - ``.xunit``: The ``WFMOutpre:XUNit`` command. + - ``.xzero``: The ``WFMOutpre:XZEro`` command. + - ``.ymult``: The ``WFMOutpre:YMUlt`` command. + - ``.yoff``: The ``WFMOutpre:YOFf`` command. + - ``.yunit``: The ``WFMOutpre:YUNit`` command. + - ``.yzero``: The ``WFMOutpre:YZEro`` command. + """ + return self._wfmoutpre + + +class MSO4BMixin: + """A mixin that provides access to the MSO4B commands and constants. + + Properties: + - ``.command_argument_constants``: The MSO4B command argument constants. + - ``.commands``: The MSO4B commands. + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + device = self if isinstance(self, PIDevice) else None + self._command_argument_constants = MSO4BCommandConstants() + self._commands = MSO4BCommands(device) + + @property + def command_argument_constants(self) -> MSO4BCommandConstants: + """Return the MSO4B command argument constants. + + This provides access to all the string constants which can be used as arguments for MSO4B + commands. + """ + return self._command_argument_constants + + @property + def commands(self) -> MSO4BCommands: + """Return the MSO4B commands. + + This provides access to all the commands for the MSO4B device. See the documentation of each + sub-property for more usage information. + + Sub-properties: + - ``.acquire``: The ``ACQuire`` command. + - ``.actonevent``: The ``ACTONEVent`` command tree. + - ``.afg``: The ``AFG`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.application``: The ``APPLication`` command tree. + - ``.autosavepitimeout``: The ``AUTOSAVEPITIMEOUT`` command. + - ``.autosaveuitimeout``: The ``AUTOSAVEUITIMEOUT`` command. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxout``: The ``AUXout`` command tree. + - ``.bus``: The ``BUS`` command tree. + - ``.bustable``: The ``BUSTABle`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.callouts``: The ``CALLOUTS`` command tree. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.configuration``: The ``CONFIGuration`` command tree. + - ``.connected``: The ``CONNected`` command tree. + - ``.curve``: The ``CURVe`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.customtable``: The ``CUSTOMTABle`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.diggrp``: The ``DIGGRP`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.dvm``: The ``DVM`` command. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.ethernet``: The ``ETHERnet`` command tree. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.eyemask``: The ``EYEMASK`` command tree. + - ``.factory``: The ``FACtory`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.fpanel``: The ``FPAnel`` command tree. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.license``: The ``LICense`` command. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mainwindow``: The ``MAINWindow`` command tree. + - ``.mask``: The ``MASK`` command tree. + - ``.math``: The ``MATH`` command tree. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.meastable``: The ``MEASTABle`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pause``: The ``PAUSe`` command. + - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.pilogger``: The ``PILOGger`` command tree. + - ``.plot``: The ``PLOT`` command tree. + - ``.power``: The ``POWer`` command tree. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.refx``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command tree. + - ``.saveonevent``: The ``SAVEONEVent`` command tree. + - ``.search``: The ``SEARCH`` command tree. + - ``.searchtable``: The ``SEARCHTABle`` command tree. + - ``.select``: The ``SELect`` command tree. + - ``.set``: The ``SET`` command. + - ``.socketserver``: The ``SOCKETServer`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.sv``: The ``SV`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.time``: The ``TIMe`` command. + - ``.totaluptime``: The ``TOTaluptime`` command. + - ``.touchscreen``: The ``TOUCHSCReen`` command tree. + - ``.trg``: The ``*TRG`` command. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.tstamptable``: The ``TSTamptable`` command tree. + - ``.undo``: The ``UNDO`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbdevice``: The ``USBDevice`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.vertical``: The ``VERTical`` command tree. + - ``.visual``: The ``VISual`` command tree. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + """ + return self._commands diff --git a/src/tm_devices/commands/_mso4k_commands.py b/src/tm_devices/commands/_mso4k_commands.py index e59599b3..e1a7fdfd 100644 --- a/src/tm_devices/commands/_mso4k_commands.py +++ b/src/tm_devices/commands/_mso4k_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1mq0z9_msodpo.rf import Rf from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog @@ -70,34 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso4kb_commands.py b/src/tm_devices/commands/_mso4kb_commands.py index 68a7d367..7c1d4db5 100644 --- a/src/tm_devices/commands/_mso4kb_commands.py +++ b/src/tm_devices/commands/_mso4kb_commands.py @@ -59,8 +59,6 @@ from ._1mlt9u_mdomsodpo.mask import Mask from ._1mlt9u_mdomsodpo.recall import Recall from ._1mlt9u_mdomsodpo.select import Select -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc from ._1mq0z9_msodpo.rf import Rf from ._1nmc1o_msodpomdo.clearmenu import Clearmenu from ._1nmc1o_msodpomdo.errlog import Errlog @@ -70,34 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime from ._5uw825_msodpomdodsa.curve import Curve from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5_commands.py b/src/tm_devices/commands/_mso5_commands.py index f2ec2fdd..d98c9868 100644 --- a/src/tm_devices/commands/_mso5_commands.py +++ b/src/tm_devices/commands/_mso5_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso5b_commands.py b/src/tm_devices/commands/_mso5b_commands.py index 0eac1083..3ec021d2 100644 --- a/src/tm_devices/commands/_mso5b_commands.py +++ b/src/tm_devices/commands/_mso5b_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso5kb_commands.py b/src/tm_devices/commands/_mso5kb_commands.py index cab7cfeb..bea72152 100644 --- a/src/tm_devices/commands/_mso5kb_commands.py +++ b/src/tm_devices/commands/_mso5kb_commands.py @@ -14,33 +14,11 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -101,13 +79,35 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._53md2e_dpomso.fpanel import Fpanel from ._561g9r_mso.trigger import Trigger +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5lp_commands.py b/src/tm_devices/commands/_mso5lp_commands.py index 6c84db93..01dd40f0 100644 --- a/src/tm_devices/commands/_mso5lp_commands.py +++ b/src/tm_devices/commands/_mso5lp_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso6_commands.py b/src/tm_devices/commands/_mso6_commands.py index 3417fac1..4d07e5c5 100644 --- a/src/tm_devices/commands/_mso6_commands.py +++ b/src/tm_devices/commands/_mso6_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso6b_commands.py b/src/tm_devices/commands/_mso6b_commands.py index 0464432c..013784e7 100644 --- a/src/tm_devices/commands/_mso6b_commands.py +++ b/src/tm_devices/commands/_mso6b_commands.py @@ -9,98 +9,98 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._1mn7uh_lpdmsomdodpo.pause import Pause -from ._1mn7uh_lpdmsomdodpo.rosc import Rosc -from ._1nrybj_lpdmsodpomdo.totaluptime import Totaluptime -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._c3g63_lpdmso.acquire import Acquire -from ._c3g63_lpdmso.actonevent import Actonevent -from ._c3g63_lpdmso.application import Application -from ._c3g63_lpdmso.auxout import Auxout -from ._c3g63_lpdmso.bus import Bus -from ._c3g63_lpdmso.callouts import Callouts -from ._c3g63_lpdmso.ch import Channel -from ._c3g63_lpdmso.customtable import Customtable -from ._c3g63_lpdmso.data import Data -from ._c3g63_lpdmso.diag import Diag -from ._c3g63_lpdmso.diggrp import DiggrpItem -from ._c3g63_lpdmso.display import Display -from ._c3g63_lpdmso.dvm import Dvm -from ._c3g63_lpdmso.eyemask import Eyemask -from ._c3g63_lpdmso.fpanel import Fpanel -from ._c3g63_lpdmso.histogram import Histogram -from ._c3g63_lpdmso.horizontal import Horizontal -from ._c3g63_lpdmso.license import License -from ._c3g63_lpdmso.mask import Mask -from ._c3g63_lpdmso.math import Math -from ._c3g63_lpdmso.matharbflt import MatharbfltItem -from ._c3g63_lpdmso.measurement import Measurement -from ._c3g63_lpdmso.peakstable import Peakstable -from ._c3g63_lpdmso.pilogger import Pilogger -from ._c3g63_lpdmso.plot import Plot -from ._c3g63_lpdmso.power import Power -from ._c3g63_lpdmso.ref import Ref, RefItem -from ._c3g63_lpdmso.save import Save -from ._c3g63_lpdmso.saveon import Saveon -from ._c3g63_lpdmso.saveonevent import Saveonevent -from ._c3g63_lpdmso.search import Search -from ._c3g63_lpdmso.searchtable import Searchtable -from ._c3g63_lpdmso.select import Select -from ._c3g63_lpdmso.sv import Sv -from ._c3g63_lpdmso.touchscreen import Touchscreen -from ._c3g63_lpdmso.trigger import Trigger -from ._c3g63_lpdmso.tstamptable import Tstamptable -from ._c3g63_lpdmso.visual import Visual -from ._c69b1_lpdmso.afg import Afg -from ._c69b1_lpdmso.autosavepitimeout import Autosavepitimeout -from ._c69b1_lpdmso.autosaveuitimeout import Autosaveuitimeout -from ._c69b1_lpdmso.autoset import Autoset -from ._c69b1_lpdmso.bustable import Bustable -from ._c69b1_lpdmso.calibrate import Calibrate -from ._c69b1_lpdmso.configuration import Configuration -from ._c69b1_lpdmso.connected import Connected -from ._c69b1_lpdmso.curve import Curve -from ._c69b1_lpdmso.curvestream import Curvestream -from ._c69b1_lpdmso.date import Date -from ._c69b1_lpdmso.ethernet import Ethernet -from ._c69b1_lpdmso.filesystem import Filesystem -from ._c69b1_lpdmso.mainwindow import Mainwindow -from ._c69b1_lpdmso.meastable import Meastable -from ._c69b1_lpdmso.recall import Recall -from ._c69b1_lpdmso.socketserver import Socketserver -from ._c69b1_lpdmso.time import Time -from ._c69b1_lpdmso.undo import Undo -from ._c69b1_lpdmso.usbdevice import Usbdevice -from ._c69b1_lpdmso.vertical import Vertical -from ._c69b1_lpdmso.wfmoutpre import Wfmoutpre +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e3e9uu_lpdmso.acquire import Acquire +from ._e3e9uu_lpdmso.actonevent import Actonevent +from ._e3e9uu_lpdmso.application import Application +from ._e3e9uu_lpdmso.auxout import Auxout +from ._e3e9uu_lpdmso.bus import Bus +from ._e3e9uu_lpdmso.callouts import Callouts +from ._e3e9uu_lpdmso.ch import Channel +from ._e3e9uu_lpdmso.customtable import Customtable +from ._e3e9uu_lpdmso.data import Data +from ._e3e9uu_lpdmso.diag import Diag +from ._e3e9uu_lpdmso.diggrp import DiggrpItem +from ._e3e9uu_lpdmso.display import Display +from ._e3e9uu_lpdmso.dvm import Dvm +from ._e3e9uu_lpdmso.eyemask import Eyemask +from ._e3e9uu_lpdmso.fpanel import Fpanel +from ._e3e9uu_lpdmso.histogram import Histogram +from ._e3e9uu_lpdmso.horizontal import Horizontal +from ._e3e9uu_lpdmso.license import License +from ._e3e9uu_lpdmso.mask import Mask +from ._e3e9uu_lpdmso.math import Math +from ._e3e9uu_lpdmso.matharbflt import MatharbfltItem +from ._e3e9uu_lpdmso.measurement import Measurement +from ._e3e9uu_lpdmso.peakstable import Peakstable +from ._e3e9uu_lpdmso.pilogger import Pilogger +from ._e3e9uu_lpdmso.plot import Plot +from ._e3e9uu_lpdmso.power import Power +from ._e3e9uu_lpdmso.ref import Ref, RefItem +from ._e3e9uu_lpdmso.save import Save +from ._e3e9uu_lpdmso.saveon import Saveon +from ._e3e9uu_lpdmso.saveonevent import Saveonevent +from ._e3e9uu_lpdmso.search import Search +from ._e3e9uu_lpdmso.searchtable import Searchtable +from ._e3e9uu_lpdmso.select import Select +from ._e3e9uu_lpdmso.sv import Sv +from ._e3e9uu_lpdmso.touchscreen import Touchscreen +from ._e3e9uu_lpdmso.trigger import Trigger +from ._e3e9uu_lpdmso.tstamptable import Tstamptable +from ._e3e9uu_lpdmso.visual import Visual +from ._e3h2zs_lpdmso.afg import Afg +from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout +from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout +from ._e3h2zs_lpdmso.autoset import Autoset +from ._e3h2zs_lpdmso.bustable import Bustable +from ._e3h2zs_lpdmso.calibrate import Calibrate +from ._e3h2zs_lpdmso.configuration import Configuration +from ._e3h2zs_lpdmso.connected import Connected +from ._e3h2zs_lpdmso.curve import Curve +from ._e3h2zs_lpdmso.curvestream import Curvestream +from ._e3h2zs_lpdmso.date import Date +from ._e3h2zs_lpdmso.ethernet import Ethernet +from ._e3h2zs_lpdmso.filesystem import Filesystem +from ._e3h2zs_lpdmso.mainwindow import Mainwindow +from ._e3h2zs_lpdmso.meastable import Meastable +from ._e3h2zs_lpdmso.recall import Recall +from ._e3h2zs_lpdmso.socketserver import Socketserver +from ._e3h2zs_lpdmso.time import Time +from ._e3h2zs_lpdmso.undo import Undo +from ._e3h2zs_lpdmso.usbdevice import Usbdevice +from ._e3h2zs_lpdmso.vertical import Vertical +from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre +from ._e4de2d_lpdmsomdo.clear import Clear +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._e6606z_lpdmsomdodpo.pause import Pause +from ._e6606z_lpdmsomdodpo.rosc import Rosc +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory -from ._uph56_lpdmsomdo.clear import Clear # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_mso70kc_commands.py b/src/tm_devices/commands/_mso70kc_commands.py index 5426fd69..e0358d12 100644 --- a/src/tm_devices/commands/_mso70kc_commands.py +++ b/src/tm_devices/commands/_mso70kc_commands.py @@ -14,34 +14,12 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock from ._5vmwut_dpodsamso.trigger import Trigger -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -102,11 +80,33 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso70kdx_commands.py b/src/tm_devices/commands/_mso70kdx_commands.py index 2ebb01b6..48e9007a 100644 --- a/src/tm_devices/commands/_mso70kdx_commands.py +++ b/src/tm_devices/commands/_mso70kdx_commands.py @@ -13,33 +13,11 @@ from ._5uw825_msodpomdodsa.date import Date from ._5uw825_msodpomdodsa.mathvar import Mathvar from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5v6218_lpdmsodpomdodsa.lock import Lock -from ._5v6218_lpdmsodpomdodsa.unlock import Unlock -from ._5vppzt_lpdmsodpomdodsa.allev import Allev -from ._5vppzt_lpdmsodpomdodsa.busy import Busy -from ._5vppzt_lpdmsodpomdodsa.dese import Dese -from ._5vppzt_lpdmsodpomdodsa.event import Event -from ._5vppzt_lpdmsodpomdodsa.evmsg import Evmsg -from ._5vppzt_lpdmsodpomdodsa.evqty import Evqty -from ._5vppzt_lpdmsodpomdodsa.factory import Factory -from ._5vppzt_lpdmsodpomdodsa.id import Id -from ._5vppzt_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._5vppzt_lpdmsodpomdodsa.newpass import Newpass -from ._5vppzt_lpdmsodpomdodsa.password import Password -from ._5vppzt_lpdmsodpomdodsa.rem import Rem -from ._5vppzt_lpdmsodpomdodsa.set import Set -from ._5vppzt_lpdmsodpomdodsa.status_and_error import Pud -from ._5vppzt_lpdmsodpomdodsa.teksecure import Teksecure -from ._5vppzt_lpdmsodpomdodsa.wavfrm import Wavfrm from ._5x02qd_msodpodsa.time import Time from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector from ._5xwdsk_dpodsamso.linktraining import Linktraining from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y3emz_lpdmsodpodsa.alias import Alias -from ._5y3emz_lpdmsodpodsa.header import Header -from ._5y3emz_lpdmsodpodsa.status_and_error import Psc -from ._5y3emz_lpdmsodpodsa.verbose import Verbose from ._5y90wx_dpodsamso.acquire import Acquire from ._5y90wx_dpodsamso.allocate import Allocate from ._5y90wx_dpodsamso.application import Application @@ -100,13 +78,35 @@ from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre from ._5y90wx_dpodsamso.wfmpre import Wfmpre from ._5y90wx_dpodsamso.zoom import Zoom -from ._5y90wz_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._5ylo0x_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._5yyb4r_mso.trigger import Trigger -from ._5z14a1_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._5z14a1_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._5z14a1_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai from ._60ea5c_dpodsamso.bus import Bus +from ._e3bgpz_lpdmsodpomdodsa.allev import Allev +from ._e3bgpz_lpdmsodpomdodsa.busy import Busy +from ._e3bgpz_lpdmsodpomdodsa.dese import Dese +from ._e3bgpz_lpdmsodpomdodsa.event import Event +from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg +from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty +from ._e3bgpz_lpdmsodpomdodsa.factory import Factory +from ._e3bgpz_lpdmsodpomdodsa.id import Id +from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass +from ._e3bgpz_lpdmsodpomdodsa.password import Password +from ._e3bgpz_lpdmsodpomdodsa.rem import Rem +from ._e3bgpz_lpdmsodpomdodsa.set import Set +from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud +from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure +from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._e5nqsy_lpdmsodpodsa.alias import Alias +from ._e5nqsy_lpdmsodpodsa.header import Header +from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc +from ._e5nqsy_lpdmsodpodsa.verbose import Verbose +from ._e5td2t_lpdmsodpomdodsa.lock import Lock +from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock +from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/device_manager.py b/src/tm_devices/device_manager.py index aebab4e1..11682d5d 100644 --- a/src/tm_devices/device_manager.py +++ b/src/tm_devices/device_manager.py @@ -58,6 +58,7 @@ MSO2K, MSO2KB, MSO4, + MSO4B, MSO4K, MSO4KB, MSO5, @@ -172,6 +173,7 @@ MSO5, MSO6, MSO4, + MSO4B, MSO2, MSO6B, MSO5B, diff --git a/src/tm_devices/drivers/__init__.py b/src/tm_devices/drivers/__init__.py index 100fc71b..91b1acd5 100644 --- a/src/tm_devices/drivers/__init__.py +++ b/src/tm_devices/drivers/__init__.py @@ -19,6 +19,7 @@ from tm_devices.drivers.pi.scopes.tekscope.lpd6 import LPD6 from tm_devices.drivers.pi.scopes.tekscope.mso2 import MSO2 from tm_devices.drivers.pi.scopes.tekscope.mso4 import MSO4 +from tm_devices.drivers.pi.scopes.tekscope.mso4b import MSO4B from tm_devices.drivers.pi.scopes.tekscope.mso5 import MSO5 from tm_devices.drivers.pi.scopes.tekscope.mso5b import MSO5B from tm_devices.drivers.pi.scopes.tekscope.mso5lp import MSO5LP @@ -150,6 +151,7 @@ SupportedModels.DPO4KB.value: DPO4KB, SupportedModels.MSO2.value: MSO2, SupportedModels.MSO4.value: MSO4, + SupportedModels.MSO4B.value: MSO4B, SupportedModels.MSO5.value: MSO5, SupportedModels.MSO5B.value: MSO5B, SupportedModels.MSO5LP.value: MSO5LP, @@ -254,6 +256,7 @@ "LPD6", "MSO2", "MSO4", + "MSO4B", "MSO5", "MSO5B", "MSO5LP", diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/__init__.py b/src/tm_devices/drivers/pi/scopes/tekscope/__init__.py index f3bc76f7..e32e9b1e 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/__init__.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/__init__.py @@ -2,6 +2,7 @@ from tm_devices.drivers.pi.scopes.tekscope.lpd6 import LPD6 from tm_devices.drivers.pi.scopes.tekscope.mso2 import MSO2 from tm_devices.drivers.pi.scopes.tekscope.mso4 import MSO4 +from tm_devices.drivers.pi.scopes.tekscope.mso4b import MSO4B from tm_devices.drivers.pi.scopes.tekscope.mso5 import MSO5 from tm_devices.drivers.pi.scopes.tekscope.mso5b import MSO5B from tm_devices.drivers.pi.scopes.tekscope.mso5lp import MSO5LP @@ -14,6 +15,7 @@ "LPD6", "MSO2", "MSO4", + "MSO4B", "MSO5", "MSO5B", "MSO5LP", diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py new file mode 100644 index 00000000..36c99f19 --- /dev/null +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py @@ -0,0 +1,7 @@ +"""MSO4B device driver module.""" +from tm_devices.commands import MSO4BMixin +from tm_devices.drivers.pi.scopes.tekscope.mso4 import MSO4 + + +class MSO4B(MSO4BMixin, MSO4): + """MSO4B device driver.""" diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index 317c13ec..2dcd27a6 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -517,6 +517,9 @@ def __str__(self) -> str: SupportedModels.MSO4.value: USBTMCConfiguration( vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" ), + SupportedModels.MSO4B.value: USBTMCConfiguration( + vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" + ), SupportedModels.MSO5.value: USBTMCConfiguration( vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0522" ), diff --git a/src/tm_devices/helpers/enums.py b/src/tm_devices/helpers/enums.py index 97ce8043..710b674b 100644 --- a/src/tm_devices/helpers/enums.py +++ b/src/tm_devices/helpers/enums.py @@ -120,6 +120,7 @@ class SupportedModels(CustomStrEnum): LPD6 = "LPD6" MSO2 = "MSO2" MSO4 = "MSO4" + MSO4B = "MSO4B" MSO5 = "MSO5" MSO5B = "MSO5B" MSO5LP = "MSO5LP" diff --git a/tests/sim_devices/devices.yaml b/tests/sim_devices/devices.yaml index 1807a281..1e4b1873 100644 --- a/tests/sim_devices/devices.yaml +++ b/tests/sim_devices/devices.yaml @@ -135,6 +135,12 @@ resources: TCPIP::MSO44-HOSTNAME::INSTR: device: mso44 filename: scope/mso4.yaml + TCPIP::MSO44B-HOSTNAME::INSTR: + device: mso44b + filename: scope/mso4b.yaml + USB0::0x0699::0x0527::200201::INSTR: + device: mso44b + filename: scope/mso4b.yaml # mso5 USB0::0x0699::0x0522::SERIAL1::INSTR: device: mso56 diff --git a/tests/sim_devices/scope/mso4b.yaml b/tests/sim_devices/scope/mso4b.yaml new file mode 100644 index 00000000..a785e438 --- /dev/null +++ b/tests/sim_devices/scope/mso4b.yaml @@ -0,0 +1,52 @@ +--- +spec: '1.1' +devices: + mso44b: + eom: + USB INSTR: + q: "\n" + r: "\n" + TCPIP INSTR: + q: "\n" + r: "\n" + TCPIP SOCKET: + q: "\n" + r: "\n" + dialogues: + - q: '*IDN?' + r: TEKTRONIX,MSO44B,200201,CF:91.1CT FV:2.6.38.1348 + - q: HEADER OFF + - q: :ETHERNET:NAME? + r: MSO44B-200201 + - q: :FILESystem:LDIR? + r: 'E:,F:,G:,H:,I:,J:,K:' + - q: :FILESystem:CWD "E:" + - q: :FILESystem:CWD "F:" + - q: :FILESystem:CWD "G:" + - q: :FILESystem:CWD "H:" + - q: :FILESystem:CWD "I:" + - q: :FILESystem:CWD "J:" + - q: :FILESystem:CWD "K:" + - q: :FILESystem:CWD? + r: '"E:"' + - q: '*OPC?' + r: '1' + - q: '*RST' + - q: '*CLS' + error: + status_register: + - q: '*ESR?' + command_error: 32 + query_error: 4 + error_queue: + - q: :ALLev? + default: 0,"No events to report - queue empty" + command_error: 113,"Undefined header; Command not found; EXAMPLE_COMMAND" + properties: + verbosity: + default: 0 + getter: + q: :VERBose? + r: '{:s}' + setter: + q: :VERBose {:s} diff --git a/tests/test_all_device_drivers.py b/tests/test_all_device_drivers.py index da82df81..64f0ec8f 100644 --- a/tests/test_all_device_drivers.py +++ b/tests/test_all_device_drivers.py @@ -36,6 +36,7 @@ def test_all_device_drivers( ("SCOPE", "MSO22-HOSTNAME", None, None, None), ("SCOPE", "MSO56-SERIAL1", None, "USB", None), ("SCOPE", "MSO44-HOSTNAME", None, None, None), + ("SCOPE", "MSO44B-HOSTNAME", None, None, None), ("SCOPE", "MSO58B-HOSTNAME", None, None, None), ("SCOPE", "MSO58LP-HOSTNAME", None, None, None), ("SCOPE", "LPD64-HOSTNAME", None, None, None), diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 68e61956..fb725dec 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -308,7 +308,8 @@ def test_check_for_update(capsys: pytest.CaptureFixture[str]) -> None: def test_get_visa_backend() -> None: """Verify that the VISA backend can be determined properly.""" - from tm_devices.helpers.functions import ( # pylint: disable=import-outside-toplevel + # pylint: disable=import-outside-toplevel,import-private-name,useless-suppression + from tm_devices.helpers.functions import ( _get_system_visa_info, ) diff --git a/tests/test_margin_testers.py b/tests/test_margin_testers.py index 722f5127..71a81275 100644 --- a/tests/test_margin_testers.py +++ b/tests/test_margin_testers.py @@ -69,8 +69,8 @@ def test_margin_tester(tmt4: MarginTester, device_manager: DeviceManager) -> Non del tmt4.fpga_version # should be same as mocked version assert tmt4.sw_version == Version("1.0.0.0") - assert tmt4.fw_version == Version("1.0.0.1") # pyright: ignore[reportUnknownMemberType] - assert tmt4.fpga_version == Version("1") # pyright: ignore[reportUnknownMemberType] + assert tmt4.fw_version == Version("1.0.0.1") + assert tmt4.fpga_version == Version("1") assert tmt4.manufacturer == "UNIT_TEST manufacturer" assert tmt4.model == "UNIT_TEST model" assert tmt4.serial == "UNIT_TEST serialNumber" diff --git a/tests/test_scopes.py b/tests/test_scopes.py index 367088d0..eec81df7 100644 --- a/tests/test_scopes.py +++ b/tests/test_scopes.py @@ -44,7 +44,7 @@ def test_tekscope(device_manager: DeviceManager) -> None: # noqa: PLR0915 del scope.hostname # Assert 5 series device was added and aliased properly (USB) - assert scope.hostname == "MSO56" # pyright: ignore[reportUnknownMemberType] + assert scope.hostname == "MSO56" assert id(device_manager.get_scope(number_or_alias="mso56")) == id(scope) assert id(device_manager.get_scope(number_or_alias=scope.device_number)) == id(scope) assert scope.all_channel_names_list == ("CH1", "CH2", "CH3", "CH4", "CH5", "CH6") From 0fb534489bbca597f62b281b00cc34a0e5af9948 Mon Sep 17 00:00:00 2001 From: Tektronix Bot Date: Thu, 7 Dec 2023 05:05:08 +0000 Subject: [PATCH 33/50] 1.1.0 Automatically generated by python-semantic-release --- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 14 ++++++++++++++ .../.previous_release_notes_for_template.md | 10 +--------- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e752d2dc..e17ecfde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,18 @@ ______________________________________________________________________ Things to be included in the next release go here. +______________________________________________________________________ + +## v1.1.0 (2023-12-07) + +### Merged Pull Requests + +- feat: Added support for MSO4B device ([#115](https://github.com/tektronix/tm_devices/issues/115)) +- gh-actions(deps): Bump the gh-actions-dependencies group with 1 update ([#112](https://github.com/tektronix/tm_devices/issues/112)) +- test: Update tests to try to eliminate false failures when running tests on macOS. ([#114](https://github.com/tektronix/tm_devices/issues/114)) +- ci: Add the admin team as reviewers to all Pull Requests. ([#113](https://github.com/tektronix/tm_devices/issues/113)) +- Update config docs and release workflow ([#111](https://github.com/tektronix/tm_devices/issues/111)) + ### Added - Added support for MSO4B device. diff --git a/pyproject.toml b/pyproject.toml index 25256222..59e4e669 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,7 @@ maintainers = [ name = "tm_devices" readme = "README.rst" repository = "https://github.com/tektronix/tm_devices" -version = "1.0.1" +version = "1.1.0" [tool.poetry.dependencies] gpib-ctypes = ">=0.3.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md index 811e1b71..e752d2dc 100644 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ b/python_semantic_release_templates/.previous_changelog_for_template.md @@ -20,6 +20,20 @@ Things to be included in the next release go here. ### Added +- Added support for MSO4B device. + +______________________________________________________________________ + +## v1.0.1 (2023-12-01) + +### Merged Pull Requests + +- Fix import error on mac with system integrity protection ([#109](https://github.com/tektronix/tm_devices/issues/109)) +- feat(rest_api_device): Enable sending raw data for restful api devices. ([#107](https://github.com/tektronix/tm_devices/issues/107)) +- build: Update package classifiers. ([#106](https://github.com/tektronix/tm_devices/issues/106)) + +### Added + - Added an option to send raw data for RESTful API devices ### Changed diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md index e2479df8..e94db672 100644 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ b/python_semantic_release_templates/.previous_release_notes_for_template.md @@ -2,12 +2,4 @@ Things to be included in the next release go here. ### Added -- Added an option to send raw data for RESTful API devices - -### Changed - -- Updated the package classifiers for PyPI - -### Fixed - -- Fixed a crash observed on macOS when importing `tm_devices`, issue [#108](https://github.com/tektronix/tm_devices/issues/108) +- Added support for MSO4B device. From dd06c89a722234409f6000bb45d7bdfa0c06c81c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 20:40:30 +0000 Subject: [PATCH 34/50] gh-actions(deps): Bump the gh-actions-dependencies group with 2 updates (#116) * gh-actions(deps): Bump the gh-actions-dependencies group with 2 updates Bumps the gh-actions-dependencies group with 2 updates: [actions/setup-python](https://github.com/actions/setup-python) and [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release). Updates `actions/setup-python` from 4 to 5 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) Updates `python-semantic-release/python-semantic-release` from 8.2.0 to 8.5.0 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v8.2.0...v8.5.0) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: python-semantic-release/python-semantic-release dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] * Update .github/workflows/package-release.yml Signed-off-by: Nicholas Felt --------- Signed-off-by: dependabot[bot] Signed-off-by: Nicholas Felt Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Felt --- .github/workflows/package-build.yml | 2 +- .github/workflows/package-release.yml | 6 +++--- .github/workflows/package-testpypi.yml | 4 ++-- .github/workflows/test-code.yml | 4 ++-- .github/workflows/test-docs.yml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index 90cead88..aad1cd13 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -19,7 +19,7 @@ jobs: - uses: hynek/build-and-inspect-python-package@v1.5.4 id: build-pkg - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x # any version check-latest: true diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 79ac86fc..044d9547 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -41,7 +41,7 @@ jobs: fetch-depth: 0 token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x check-latest: true @@ -51,7 +51,7 @@ jobs: git add python_semantic_release_templates git config --global tag.gpgSign true - name: Python Semantic Release - uses: python-semantic-release/python-semantic-release@v8.2.0 # 8.3.0 has a bug in the version output variable + uses: python-semantic-release/python-semantic-release@v8.5.0 id: release with: force: ${{ inputs.release_level }} @@ -150,7 +150,7 @@ jobs: - ' --index-url=https://test.pypi.org/simple/ --extra-index-url=https://pypi.org/simple' steps: - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x check-latest: true diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 7f28ab86..cd3d3790 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -16,7 +16,7 @@ jobs: with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x check-latest: true @@ -60,7 +60,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x check-latest: true diff --git a/.github/workflows/test-code.yml b/.github/workflows/test-code.yml index f5200eaf..0e16d3dc 100644 --- a/.github/workflows/test-code.yml +++ b/.github/workflows/test-code.yml @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} check-latest: true @@ -49,7 +49,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: x # any version check-latest: true diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index b99b9107..0bf8446c 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -26,7 +26,7 @@ jobs: - run: npm install -g @mermaid-js/mermaid-cli - run: sudo apt install --no-install-recommends --assume-yes graphviz - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' # This needs to stay in sync with .readthedocs.yml and pyproject.toml - name: Install tox From 913a172ccf54276dea47c45d10eb7a4d47472648 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 11 Dec 2023 16:10:59 -0800 Subject: [PATCH 35/50] refactor(code-style): Switch to `ruff format` instead of `black` for code formatting. (#117) --- .github/CODEOWNERS | 5 +++++ .pre-commit-config.yaml | 11 ++++------ CHANGELOG.md | 4 ++++ README.rst | 6 +++--- docs/conf.py | 3 +-- .../custom_device_driver_support.py | 4 +--- .../dpojet/adding_dpojet_measurements.py | 4 +--- .../2400/smu_2400_load_script_and_run.py | 4 +--- .../2400/smu_2450_leakage_current.py | 4 +--- .../2400/smu_2450_measuring_lowr_devices.py | 4 +--- .../2400/smu_2450_rechargeable_battery.py | 4 +--- .../2400/smu_2450_solar_cell.py | 4 +--- .../2400/smu_2460_pulse_train.py | 3 ++- .../2400/smu_2461_1kw_pulsing.py | 4 +--- .../2400/smu_2470_mosfet_leakage.py | 4 +--- .../2600/reading_dynamic_buffers.py | 4 +--- pyproject.toml | 20 ++++--------------- src/tm_devices/commands/_smu2601b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2602b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2604b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2606b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2611b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2612b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2614b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2634b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2635b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2636b_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2651a_commands.py | 8 ++++++-- src/tm_devices/commands/_smu2657a_commands.py | 8 ++++++-- src/tm_devices/components/dm_config_parser.py | 2 +- src/tm_devices/drivers/pi/pi_device.py | 6 ++++-- tests/conftest.py | 4 +--- tests/requirements.txt | 3 +-- tests/test_device_manager.py | 3 ++- tests/test_rest_api_device.py | 3 ++- 35 files changed, 116 insertions(+), 93 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fd601444..265933b7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3,5 +3,10 @@ # will be requested for review when someone opens a pull request. * @tektronix/tm-devices-admin +/docs/ @tektronix/tm-devices-maintainers +/examples/ @tektronix/tm-devices-maintainers +/src/ @tektronix/tm-devices-maintainers +/tests/ @tektronix/tm-devices-maintainers + # Protect the configuration files .github/ @tektronix/tm-devices-admin diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e7a982f9..c9efddb9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: remove-tabs - id: forbid-tabs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.27.2 + rev: 0.27.3 hooks: - id: check-readthedocs - id: check-dependabot @@ -121,15 +121,12 @@ repos: pass_filenames: false always_run: true args: [., --min=10] - - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: v0.1.6 + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.1.7 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - - repo: https://github.com/psf/black - rev: 23.11.0 - hooks: - - id: black + - id: ruff-format - repo: https://github.com/PyCQA/docformatter rev: v1.7.0 # can't update due to https://github.com/PyCQA/docformatter/issues/174 hooks: diff --git a/CHANGELOG.md b/CHANGELOG.md index e17ecfde..8b6f992d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Changed + +- Switched to ruff's formatter instead of black's formatter for python code + ______________________________________________________________________ ## v1.1.0 (2023-12-07) diff --git a/README.rst b/README.rst index 8e356170..d6d13625 100644 --- a/README.rst +++ b/README.rst @@ -22,7 +22,7 @@ * - Documentation - |GitHub Pages status| * - Code Style - - |Test style: pytest| |Code style: black| |Imports: isort| |Docstring style: google| + - |Test style: pytest| |Code style: ruff| |Imports: isort| |Docstring style: google| * - Linting - |pre-commit enabled| |Docstring formatter: docformatter| |Type Checker: pyright| |Linter: pylint| |Linter: Ruff| @@ -74,8 +74,8 @@ .. |PyPI: Downloads| image:: https://pepy.tech/badge/tm-devices :target: https://pepy.tech/project/tm_devices -.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-black - :target: https://github.com/psf/black +.. |Code style: ruff| image:: https://img.shields.io/badge/code%20style-ruff-black + :target: https://docs.astral.sh/ruff/formatter/ .. |Imports: isort| image:: https://img.shields.io/badge/imports-isort-black :target: https://pycqa.github.io/isort/ diff --git a/docs/conf.py b/docs/conf.py index 54133f48..412080c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -211,8 +211,7 @@ def skip_member( if ( what == "module" # pylint: disable=too-many-boolean-expressions or ( - what == "package" - and obj.short_name not in _package_set # pyright: ignore [reportUnknownMemberType] + what == "package" and obj.short_name not in _package_set # pyright: ignore [reportUnknownMemberType] ) or f"{os.path.sep}commands{os.path.sep}" in obj.pathname or obj.pathname.endswith(f"{os.path.sep}commands") diff --git a/examples/miscellaneous/custom_device_driver_support.py b/examples/miscellaneous/custom_device_driver_support.py index d629900c..7ac9ad55 100644 --- a/examples/miscellaneous/custom_device_driver_support.py +++ b/examples/miscellaneous/custom_device_driver_support.py @@ -25,9 +25,7 @@ def custom_method(self, value: str) -> None: # Add a scope that is currently supported by the package mso5: MSO5 = device_manager.add_scope("192.168.0.1") # pyright: ignore[reportGeneralTypeIssues] # Add the custom scope - custom_scope: CustomScope = device_manager.add_scope( - "192.168.0.2" - ) # pyright: ignore[reportGeneralTypeIssues] + custom_scope: CustomScope = device_manager.add_scope("192.168.0.2") # pyright: ignore[reportGeneralTypeIssues] # Custom drivers inherit all methods custom_scope.expect_esr(0) # check for no errors diff --git a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py index 75dca12b..299be611 100644 --- a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py +++ b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py @@ -12,9 +12,7 @@ device_manager.visa_library = PYVISA_PY_BACKEND # Creating one 7K/70K/SX Scope driver object by providing ip address. - scope: MSO70KDX = device_manager.add_scope( - "127.0.0.1" - ) # pyright: ignore[reportGeneralTypeIssues] + scope: MSO70KDX = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportGeneralTypeIssues] # Starting DPOJET scope.commands.dpojet.activate.write() diff --git a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py index aa97f43c..1f5ab720 100644 --- a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py +++ b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py @@ -20,9 +20,7 @@ # Main code starts here with instantiation of the device manager and the SMU instrument connection. devmgr = DeviceManager(verbose=True) -smu2400: SMU2450 = devmgr.add_smu( - "192.168.0.1", alias="my2450" -) # pyright: ignore[reportGeneralTypeIssues] +smu2400: SMU2450 = devmgr.add_smu("192.168.0.1", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] smu2400.enable_verification = False # Capture the path to the script file and load it to working memory. diff --git a/examples/source_measure_units/2400/smu_2450_leakage_current.py b/examples/source_measure_units/2400/smu_2450_leakage_current.py index 4f3c2643..9a1a1ec7 100644 --- a/examples/source_measure_units/2400/smu_2450_leakage_current.py +++ b/examples/source_measure_units/2400/smu_2450_leakage_current.py @@ -13,9 +13,7 @@ from tm_devices.drivers import SMU2450 with DeviceManager(verbose=False) as device_manager: - inst: SMU2450 = device_manager.add_smu( - "192.168.1.4", alias="my2450" - ) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.1.4", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] # Reset the instrument, which also clears the buffer. inst.commands.reset() diff --git a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py index 947582a2..778f9785 100644 --- a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py +++ b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py @@ -21,9 +21,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu( - "192.168.4.74", alias="my2450" - ) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] # Configure the Simple Loop trigger model template to make 100 readings. inst.commands.trigger.model.load_simple_loop(100) diff --git a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py index 14259549..36715a04 100644 --- a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py +++ b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py @@ -19,9 +19,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu( - "192.168.4.74", alias="my2450" - ) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] # Clear the buffer. inst.commands.buffer_var["defbuffer1"].clear() diff --git a/examples/source_measure_units/2400/smu_2450_solar_cell.py b/examples/source_measure_units/2400/smu_2450_solar_cell.py index f27d855d..73bb247e 100644 --- a/examples/source_measure_units/2400/smu_2450_solar_cell.py +++ b/examples/source_measure_units/2400/smu_2450_solar_cell.py @@ -15,9 +15,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu( - "192.168.4.74", alias="my2450" - ) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] # Define the number of points in the sweep. POINTS = 56 diff --git a/examples/source_measure_units/2400/smu_2460_pulse_train.py b/examples/source_measure_units/2400/smu_2460_pulse_train.py index 5efeacdd..f218d6e1 100644 --- a/examples/source_measure_units/2400/smu_2460_pulse_train.py +++ b/examples/source_measure_units/2400/smu_2460_pulse_train.py @@ -78,7 +78,8 @@ inst.commands.trigger.model.setblock_trigger_block_wait(3, "trigger.EVENT_TIMER1") inst.commands.trigger.model.setblock_trigger_block_config_recall(4, "OutputList") inst.commands.trigger.model.setblock_trigger_block_delay_constant( - 5, MEASURE_DELAY # type: ignore + 5, + MEASURE_DELAY, # type: ignore ) inst.commands.trigger.model.setblock_trigger_block_measure_digitize(6) inst.commands.trigger.model.setblock_trigger_block_wait(7, "trigger.EVENT_TIMER2") diff --git a/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py b/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py index 2c6ac363..5110bb39 100644 --- a/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py +++ b/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py @@ -10,9 +10,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - smu2461: SMU2461 = device_manager.add_smu( - "TCPIP::0.0.0.0::inst0::INSTR", alias="my2461" - ) # pyright: ignore[reportGeneralTypeIssues] + smu2461: SMU2461 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2461") # pyright: ignore[reportGeneralTypeIssues] # Reset the instrument smu2461.commands.reset() diff --git a/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py b/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py index 92afb102..6a3422cf 100644 --- a/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py +++ b/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py @@ -10,9 +10,7 @@ from tm_devices.drivers import SMU2470 with DeviceManager(verbose=False) as device_manager: - smu2470: SMU2470 = device_manager.add_smu( - "TCPIP::0.0.0.0::inst0::INSTR", alias="my2470" - ) # pyright: ignore[reportGeneralTypeIssues] + smu2470: SMU2470 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2470") # pyright: ignore[reportGeneralTypeIssues] # Reset the instrument, which also clears the buffer. smu2470.commands.reset() diff --git a/examples/source_measure_units/2600/reading_dynamic_buffers.py b/examples/source_measure_units/2600/reading_dynamic_buffers.py index f814dc51..ecf5c8c6 100644 --- a/examples/source_measure_units/2600/reading_dynamic_buffers.py +++ b/examples/source_measure_units/2600/reading_dynamic_buffers.py @@ -4,9 +4,7 @@ with DeviceManager() as device_manager: # Create a SMU and type hint it as a 2601B - smu: SMU2601B = device_manager.add_smu( - "192.168.0.1" - ) # pyright: ignore[reportGeneralTypeIssues] + smu: SMU2601B = device_manager.add_smu("192.168.0.1") # pyright: ignore[reportGeneralTypeIssues] # Create a buffer BUFFER_NAME = "mybuffer" diff --git a/pyproject.toml b/pyproject.toml index 59e4e669..46444608 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,15 +4,6 @@ requires = ["poetry-core>=1.0.0"] [tool] -[tool.bandit] -skips = [ - 'B101', # allow the use of raw asserts, we don't compile to optimized byte code - 'B404' # allow the use of the subprocess module -] - -[tool.black] -line-length = 100 - [tool.coverage.report] exclude_lines = [ "if TYPE_CHECKING:", @@ -38,9 +29,6 @@ recursive = true wrap-descriptions = 100 wrap-summaries = 0 -[tool.mypy] -mypy_path = "./src/" - [tool.poetry] authors = [ "Tektronix ", @@ -100,7 +88,6 @@ zeroconf = ">=0.54.0" # Development dependencies [tool.poetry.group.dev.dependencies] -black = ">=22.6.0" coverage = {extras = ["toml"], version = ">=7.2.2"} docformatter = {extras = ["tomli"], version = ">=1.6.5,<1.7.1"} # upper bound is due to https://github.com/PyCQA/docformatter/issues/174 flask = ">=2.2.2" @@ -123,7 +110,7 @@ pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" python-semantic-release = ">=8.0" -ruff = ">=0.1.4" +ruff = ">=0.1.7" safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" sphinx-copybutton = ">=0.5.1" @@ -288,6 +275,7 @@ ignore = [ "FA100", # Missing `from __future__ import annotations`, but uses ... # TODO: enable this later "FBT", # flake8-boolean-trap "FIX002", # Line contains TODO + "ISC001", # single-line-implicit-string-concatenation (handled by formatter) "PGH003", # Use specific rule codes when ignoring type issues # TODO: enable this later "PTH", # flake8-use-pathlib # TODO: enable this later "PYI021", # Docstrings should not be included in stubs @@ -416,13 +404,13 @@ deps = setenv = DOC_PYTHON_VERSION = python3.11 # Keep this in sync with .readthedocs.yml and any CI scripts # Skip pre-commit checks that are explicitly performed by tox - SKIP = black,docformatter,ruff,pylint,pyright,pyright-verifytypes,pyroma + SKIP = ruff-format,docformatter,ruff,pylint,pyright,pyright-verifytypes,pyroma PYRIGHT_PYTHON_GLOBAL_NODE = False # This will cause python-pyright to use nodeenv to install node rather than use the system node commands_pre = poetry install --no-root commands = !tests: safety check - !tests: black --check --diff --color . + !tests: ruff format --check --diff . !tests: docformatter --check --diff . !tests: ruff check . !tests: pylint --report=y . diff --git a/src/tm_devices/commands/_smu2601b_commands.py b/src/tm_devices/commands/_smu2601b_commands.py index 5e5d3952..86f727fd 100644 --- a/src/tm_devices/commands/_smu2601b_commands.py +++ b/src/tm_devices/commands/_smu2601b_commands.py @@ -2029,7 +2029,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2063,7 +2065,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2602b_commands.py b/src/tm_devices/commands/_smu2602b_commands.py index 10eb20fd..1a807823 100644 --- a/src/tm_devices/commands/_smu2602b_commands.py +++ b/src/tm_devices/commands/_smu2602b_commands.py @@ -2135,7 +2135,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2169,7 +2171,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2604b_commands.py b/src/tm_devices/commands/_smu2604b_commands.py index e4a360ad..0554ac10 100644 --- a/src/tm_devices/commands/_smu2604b_commands.py +++ b/src/tm_devices/commands/_smu2604b_commands.py @@ -1917,7 +1917,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -1951,7 +1953,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2606b_commands.py b/src/tm_devices/commands/_smu2606b_commands.py index 4cf33597..b54036c9 100644 --- a/src/tm_devices/commands/_smu2606b_commands.py +++ b/src/tm_devices/commands/_smu2606b_commands.py @@ -2102,7 +2102,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2136,7 +2138,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2611b_commands.py b/src/tm_devices/commands/_smu2611b_commands.py index 08dc63f6..566edec2 100644 --- a/src/tm_devices/commands/_smu2611b_commands.py +++ b/src/tm_devices/commands/_smu2611b_commands.py @@ -2026,7 +2026,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2060,7 +2062,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2612b_commands.py b/src/tm_devices/commands/_smu2612b_commands.py index a320492d..ea0c2559 100644 --- a/src/tm_devices/commands/_smu2612b_commands.py +++ b/src/tm_devices/commands/_smu2612b_commands.py @@ -2132,7 +2132,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2166,7 +2168,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2614b_commands.py b/src/tm_devices/commands/_smu2614b_commands.py index e06b2320..68d63638 100644 --- a/src/tm_devices/commands/_smu2614b_commands.py +++ b/src/tm_devices/commands/_smu2614b_commands.py @@ -1914,7 +1914,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -1948,7 +1950,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2634b_commands.py b/src/tm_devices/commands/_smu2634b_commands.py index 8ca1baa1..86a5c2b0 100644 --- a/src/tm_devices/commands/_smu2634b_commands.py +++ b/src/tm_devices/commands/_smu2634b_commands.py @@ -1916,7 +1916,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -1950,7 +1952,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2635b_commands.py b/src/tm_devices/commands/_smu2635b_commands.py index 6e453578..6c68ae75 100644 --- a/src/tm_devices/commands/_smu2635b_commands.py +++ b/src/tm_devices/commands/_smu2635b_commands.py @@ -2028,7 +2028,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2062,7 +2064,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2636b_commands.py b/src/tm_devices/commands/_smu2636b_commands.py index d151b82f..946608dd 100644 --- a/src/tm_devices/commands/_smu2636b_commands.py +++ b/src/tm_devices/commands/_smu2636b_commands.py @@ -2134,7 +2134,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2168,7 +2170,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2651a_commands.py b/src/tm_devices/commands/_smu2651a_commands.py index cef8cbe1..9de55724 100644 --- a/src/tm_devices/commands/_smu2651a_commands.py +++ b/src/tm_devices/commands/_smu2651a_commands.py @@ -2064,7 +2064,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2098,7 +2100,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/commands/_smu2657a_commands.py b/src/tm_devices/commands/_smu2657a_commands.py index 53e082e4..ef0f08f6 100644 --- a/src/tm_devices/commands/_smu2657a_commands.py +++ b/src/tm_devices/commands/_smu2657a_commands.py @@ -2063,7 +2063,9 @@ def pulse_i_measure_v( f"PulseIMeasureV({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseIMeasureV()`` function." + ) raise NoDeviceProvidedError(msg) from error def pulse_v_measure_i( @@ -2097,7 +2099,9 @@ def pulse_v_measure_i( f"PulseVMeasureI({smu}, {bias}, {level}, {ton}, {toff}, {points})" ) except AttributeError as error: - msg = "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." # noqa: E501 + msg = ( + "No TSPDevice object was provided, unable to run the ``PulseVMeasureI()`` function." + ) raise NoDeviceProvidedError(msg) from error def query_pulse_config(self, tag: int) -> str: diff --git a/src/tm_devices/components/dm_config_parser.py b/src/tm_devices/components/dm_config_parser.py index 377e213f..c3376955 100644 --- a/src/tm_devices/components/dm_config_parser.py +++ b/src/tm_devices/components/dm_config_parser.py @@ -356,7 +356,7 @@ def __parse_env_devices(self) -> List[Dict[str, Any]]: @staticmethod def __parse_config_file( - config_file_path: Union[str, os.PathLike[str]] + config_file_path: Union[str, os.PathLike[str]], ) -> Tuple[DMConfigOptions, List[Dict[str, Any]]]: """Parse config file for the options flags and list of device configuration dictionaries. diff --git a/src/tm_devices/drivers/pi/pi_device.py b/src/tm_devices/drivers/pi/pi_device.py index 705ad38f..5d844662 100644 --- a/src/tm_devices/drivers/pi/pi_device.py +++ b/src/tm_devices/drivers/pi/pi_device.py @@ -281,13 +281,15 @@ def device_clear(self) -> None: # pragma: no cover def disable_srq_events(self) -> None: # pragma: no cover """Disable the service request event for the device.""" self._visa_resource.disable_event( - visa_constants.VI_EVENT_SERVICE_REQ, visa_constants.VI_QUEUE # type: ignore + visa_constants.VI_EVENT_SERVICE_REQ, # type: ignore + visa_constants.VI_QUEUE, # type: ignore ) def enable_srq_events(self) -> None: # pragma: no cover """Enable the service request event for the device.""" self._visa_resource.enable_event( - visa_constants.VI_EVENT_SERVICE_REQ, visa_constants.VI_QUEUE # type: ignore + visa_constants.VI_EVENT_SERVICE_REQ, # type: ignore + visa_constants.VI_QUEUE, # type: ignore ) def get_visa_stb(self) -> int: # pragma: no cover diff --git a/tests/conftest.py b/tests/conftest.py index f918d280..5b86e5c4 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -79,9 +79,7 @@ def fixture_device_manager() -> Generator[DeviceManager, None, None]: ), mock.patch( "pyvisa.resources.messagebased.MessageBasedResource.clear", mock.MagicMock(return_value=pyvisa.constants.StatusCode.success), - ), DeviceManager( - verbose=True - ) as dev_manager: + ), DeviceManager(verbose=True) as dev_manager: dev_manager.visa_library = SIMULATED_VISA_LIB yield dev_manager diff --git a/tests/requirements.txt b/tests/requirements.txt index 4ccf5dca..53039fa9 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,8 +1,7 @@ -black coverage[toml]>=7.2.2 http_server_mock pytest-cov pytest-html pytest-order pytest-profiling -ruff>=0.0.267 +ruff>=0.1.7 diff --git a/tests/test_device_manager.py b/tests/test_device_manager.py index d90370b5..78c8b80a 100644 --- a/tests/test_device_manager.py +++ b/tests/test_device_manager.py @@ -353,7 +353,8 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: [ # noqa: S603 sys.executable, "-m", - "black", + "ruff", + "format", "--quiet", os.path.basename(generated_stub_file), ] diff --git a/tests/test_rest_api_device.py b/tests/test_rest_api_device.py index e61f9b33..5fa1c433 100644 --- a/tests/test_rest_api_device.py +++ b/tests/test_rest_api_device.py @@ -160,7 +160,8 @@ def test_unsupported_request_type(rest_api_device: CustomRestApiDevice) -> None: """ with pytest.raises(ValueError, match="UNSUPPORTED is an unsupported request type."): rest_api_device._send_request( # noqa: SLF001 - request_type="UNSUPPORTED", url="/api" # type: ignore + request_type="UNSUPPORTED", # type: ignore + url="/api", ) From b67080c462813879154629ccbbe3376a80568779 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 11 Dec 2023 17:55:40 -0800 Subject: [PATCH 36/50] feat: Added a mechanism to reset cached properties whenever a device is rebooted. (#118) --- CHANGELOG.md | 4 ++++ src/tm_devices/drivers/device.py | 30 ++++++++++++++++++++++-------- tests/test_afgs.py | 10 ++++++++++ 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b6f992d..ceab36c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ ______________________________________________________________________ Things to be included in the next release go here. +### Added + +- Added a step during a device reboot that will reset all the cached properties in the event that one of them changed. + ### Changed - Switched to ruff's formatter instead of black's formatter for python code diff --git a/src/tm_devices/drivers/device.py b/src/tm_devices/drivers/device.py index 9b19a6ca..c66e1b56 100644 --- a/src/tm_devices/drivers/device.py +++ b/src/tm_devices/drivers/device.py @@ -3,7 +3,7 @@ import time from abc import ABC, abstractmethod -from contextlib import contextmanager +from contextlib import contextmanager, suppress from functools import cached_property from typing import ( Any, @@ -89,13 +89,9 @@ def __str__(self) -> str: retval = f"{'=' * (line_break_length // 2)} {self.name} {'=' * (line_break_length // 2)}\n" retval += f" {self.__class__} object at {id(self)}" - for prop in [ - p - for p in dir(self.__class__) - if isinstance(getattr(self.__class__, p), (cached_property, property)) - and not p.startswith("_") - ]: - retval += f"\n {prop}={self.__getattribute__(prop)!r}" + for prop in self._get_self_properties(): + if not prop.startswith("_"): + retval += f"\n {prop}={self.__getattribute__(prop)!r}" retval += f"\n{'=' * (line_break_length + 2 + len(self.name))}" return retval @@ -472,6 +468,16 @@ def reboot(self, quiet_period: int = 0) -> bool: Returns: A boolean representing the status of the reboot. """ + # Reset the cached properties + for prop in self._get_self_properties(): + if isinstance(getattr(self.__class__, prop), cached_property): + # Try to delete the cached_property, if it raises an AttributeError, + # that means that it has not previously been accessed and + # there is no need to delete the cached_property. + with suppress(AttributeError): + self.__delattr__(prop) # pylint: disable=unnecessary-dunder-call + + # Reboot the device print_with_timestamp(f"Rebooting {self._name_and_alias}") self._reboot() self.close() @@ -677,6 +683,14 @@ def wait_for_port_connection( # Private Methods ################################################################################################ + def _get_self_properties(self) -> Tuple[str, ...]: + """Get a complete list of all the properties of the device.""" + return tuple( + p + for p in dir(self.__class__) + if isinstance(getattr(self.__class__, p), (cached_property, property)) + ) + @staticmethod @final def _verify_numerical_value( diff --git a/tests/test_afgs.py b/tests/test_afgs.py index d6917974..8cf16466 100644 --- a/tests/test_afgs.py +++ b/tests/test_afgs.py @@ -124,9 +124,19 @@ def test_afg31k(device_manager: DeviceManager, capsys: pytest.CaptureFixture[str afg31k = device_manager.add_afg("afg31k-hostname") _ = capsys.readouterr().out # throw away stdout + + # Check hostname + assert afg31k.hostname == "AFG31K-HOSTNAME" + # Change hostname to test the reset of cached properties + afg31k.hostname = "temp-hostname" + assert afg31k.hostname == "temp-hostname" + # simulate a reboot afg31k.reboot() + # Test that the cached property was reset + assert afg31k.hostname == "AFG31K-HOSTNAME" + stdout = capsys.readouterr().out assert "SYSTem:RESTart" in stdout From 30b14c961a0e365af718312d5bcccf3645f2e686 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Mon, 18 Dec 2023 10:54:01 -0800 Subject: [PATCH 37/50] Update GitHub action versions used in workflows (#120) * gh-actions(deps): Bump the gh-actions-dependencies group with 6 updates Bumps the gh-actions-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [github/codeql-action](https://github.com/github/codeql-action) | `2` | `3` | | [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) | `2.28.0` | `3.0.0` | | [hynek/build-and-inspect-python-package](https://github.com/hynek/build-and-inspect-python-package) | `1.5.4` | `2.0.0` | | [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) | `8.5.0` | `8.5.1` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `3` | `4` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `3` | `4` | Updates `github/codeql-action` from 2 to 3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) Updates `dawidd6/action-download-artifact` from 2.28.0 to 3.0.0 - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2.28.0...v3.0.0) Updates `hynek/build-and-inspect-python-package` from 1.5.4 to 2.0.0 - [Release notes](https://github.com/hynek/build-and-inspect-python-package/releases) - [Changelog](https://github.com/hynek/build-and-inspect-python-package/blob/main/CHANGELOG.md) - [Commits](https://github.com/hynek/build-and-inspect-python-package/compare/v1.5.4...v2.0.0) Updates `python-semantic-release/python-semantic-release` from 8.5.0 to 8.5.1 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v8.5.0...v8.5.1) Updates `actions/download-artifact` from 3 to 4 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) Updates `actions/upload-artifact` from 3 to 4 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: hynek/build-and-inspect-python-package dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: python-semantic-release/python-semantic-release dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] * ci: Test removing the files that store the previous changelog and release notes from git tracking. * docs: Update changelog with information on the version bump for python-semantic-release. * docs: Reverted some changes made during testing of workflow updates. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .github/workflows/codeql-analysis.yml | 4 +- .github/workflows/deploy-documentation.yml | 6 +- .github/workflows/package-build.yml | 2 +- .github/workflows/package-release.yml | 11 +- .github/workflows/package-testpypi.yml | 4 +- .github/workflows/test-code.yml | 4 +- .github/workflows/test-docs.yml | 2 +- .gitignore | 2 + .pre-commit-config.yaml | 2 +- CHANGELOG.md | 1 + pyproject.toml | 2 +- .../.previous_changelog_for_template.md | 378 ------------------ .../.previous_release_notes_for_template.md | 5 - 13 files changed, 21 insertions(+), 402 deletions(-) delete mode 100644 python_semantic_release_templates/.previous_changelog_for_template.md delete mode 100644 python_semantic_release_templates/.previous_release_notes_for_template.md diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 75a2fae0..da9a50d7 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -24,11 +24,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} queries: security-extended,security-and-quality - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: /language:${{matrix.language}} diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml index 66606872..1dab624a 100644 --- a/.github/workflows/deploy-documentation.yml +++ b/.github/workflows/deploy-documentation.yml @@ -10,8 +10,8 @@ concurrency: jobs: publish-docs: runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} && github.ref == - 'refs/heads/main' + if: github.repository == 'tektronix/tm_devices' && github.event.workflow_run.conclusion + == 'success' && github.ref == 'refs/heads/main' permissions: pages: write id-token: write @@ -20,7 +20,7 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} steps: - name: Download Artifact - uses: dawidd6/action-download-artifact@v2.28.0 + uses: dawidd6/action-download-artifact@v3.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} run_id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index aad1cd13..7d6cd359 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: hynek/build-and-inspect-python-package@v1.5.4 + - uses: hynek/build-and-inspect-python-package@v2.0.0 id: build-pkg - name: Set up Python uses: actions/setup-python@v5 diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 044d9547..dd111c7b 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -48,10 +48,9 @@ jobs: - name: Check for unreleased entries in the Changelog and copy files to templates run: | python scripts/check_unreleased_changelog_items.py - git add python_semantic_release_templates git config --global tag.gpgSign true - name: Python Semantic Release - uses: python-semantic-release/python-semantic-release@v8.5.0 + uses: python-semantic-release/python-semantic-release@v8.5.1 id: release with: force: ${{ inputs.release_level }} @@ -74,7 +73,7 @@ jobs: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5.4 + uses: hynek/build-and-inspect-python-package@v2.0.0 upload-testpypi: name: Upload package to TestPyPI needs: [pypi-build] @@ -85,7 +84,7 @@ jobs: id-token: write steps: - name: Download built packages - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Packages path: dist @@ -103,7 +102,7 @@ jobs: id-token: write steps: - name: Download built packages - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Packages path: dist @@ -123,7 +122,7 @@ jobs: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 - name: Download built packages - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Packages path: dist diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index cd3d3790..44a0ce4b 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -32,7 +32,7 @@ jobs: python scripts/project_version.py --set-version=$NEW_VERSION echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT - name: Build package - uses: hynek/build-and-inspect-python-package@v1.5.4 + uses: hynek/build-and-inspect-python-package@v2.0.0 outputs: built-version: ${{ steps.create-version.outputs.NEW_VERSION }} test-pypi-upload: @@ -45,7 +45,7 @@ jobs: id-token: write steps: - name: Download built packages - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Packages path: dist diff --git a/.github/workflows/test-code.yml b/.github/workflows/test-code.yml index 0e16d3dc..8ce1bccb 100644 --- a/.github/workflows/test-code.yml +++ b/.github/workflows/test-code.yml @@ -32,7 +32,7 @@ jobs: python -m pip install --upgrade tox tox-gh-actions - name: Run tox run: tox -v - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: name: artifact_${{ matrix.platform }}_${{ matrix.python-version }}_tests_and_linting @@ -59,7 +59,7 @@ jobs: python -m pip install --upgrade tox - name: Test run: tox -ve tests - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: name: artifact_${{ matrix.os_name }}_tests diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 0bf8446c..1a68a232 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -41,7 +41,7 @@ jobs: type: zip filename: ${{ matrix.tox_env }}_results.zip path: .results_${{ matrix.tox_env }}/ - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: name: artifact_${{ matrix.tox_env }} diff --git a/.gitignore b/.gitignore index f6c14b35..517da526 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,8 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST +python_semantic_release_templates/.previous_changelog_for_template.md +python_semantic_release_templates/.previous_release_notes_for_template.md # PyInstaller # Usually these files are written by a python script from a template diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c9efddb9..ebd7f524 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -122,7 +122,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.7 + rev: v0.1.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/CHANGELOG.md b/CHANGELOG.md index ceab36c9..bf414161 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Things to be included in the next release go here. ### Changed - Switched to ruff's formatter instead of black's formatter for python code +- Updated the version of `python-semantic-release` that is used to avoid needing to store a copy of the previous changelog in the repo ______________________________________________________________________ diff --git a/pyproject.toml b/pyproject.toml index 46444608..a2a6b029 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -109,7 +109,7 @@ pytest-cov = ">=3.0.0" pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" -python-semantic-release = ">=8.0" +python-semantic-release = ">=8.5.1" ruff = ">=0.1.7" safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" diff --git a/python_semantic_release_templates/.previous_changelog_for_template.md b/python_semantic_release_templates/.previous_changelog_for_template.md deleted file mode 100644 index e752d2dc..00000000 --- a/python_semantic_release_templates/.previous_changelog_for_template.md +++ /dev/null @@ -1,378 +0,0 @@ -# Changelog - -The format is based on [Keep a Changelog](https://keepachangelog.com), and this -project adheres to [Semantic Versioning](https://semver.org). - -Valid subsections within a version are: - -- Added -- Changed -- Deprecated -- Removed -- Fixed -- Security - -______________________________________________________________________ - -## Unreleased - -Things to be included in the next release go here. - -### Added - -- Added support for MSO4B device. - -______________________________________________________________________ - -## v1.0.1 (2023-12-01) - -### Merged Pull Requests - -- Fix import error on mac with system integrity protection ([#109](https://github.com/tektronix/tm_devices/issues/109)) -- feat(rest_api_device): Enable sending raw data for restful api devices. ([#107](https://github.com/tektronix/tm_devices/issues/107)) -- build: Update package classifiers. ([#106](https://github.com/tektronix/tm_devices/issues/106)) - -### Added - -- Added an option to send raw data for RESTful API devices - -### Changed - -- Updated the package classifiers for PyPI - -### Fixed - -- Fixed a crash observed on macOS when importing `tm_devices`, issue [#108](https://github.com/tektronix/tm_devices/issues/108) - -______________________________________________________________________ - -## v1.0.0 (2023-11-13) - -### Merged Pull Requests - -- docs: Remove the TestPyPI badge from the readme, it is not important. ([#105](https://github.com/tektronix/tm_devices/issues/105)) -- Update the Readme ([#100](https://github.com/tektronix/tm_devices/issues/100)) -- ci: Increase timeout when installing tm_devices from pypi servers to avoid issues caused by long wheel build times for packages that tm_devices depends on (such as zeroconf). ([#98](https://github.com/tektronix/tm_devices/issues/98)) -- feat: Add USBTMC support for the 3706A device. ([#97](https://github.com/tektronix/tm_devices/issues/97)) -- Add new options for REST API devices ([#96](https://github.com/tektronix/tm_devices/issues/96)) -- ci: Update how the changelog generation macro selects PR numbers. ([#95](https://github.com/tektronix/tm_devices/issues/95)) -- gh-actions(deps): Bump the gh-actions-dependencies group with 5 updates ([#93](https://github.com/tektronix/tm_devices/issues/93)) -- ci: Added a workflow to scan for security issues in dependencies on all PRs. ([#91](https://github.com/tektronix/tm_devices/issues/91)) -- fix: Update a few comments to have better wording. ([#85](https://github.com/tektronix/tm_devices/issues/85)) -- Update the basic usage docs and Readme ([#84](https://github.com/tektronix/tm_devices/issues/84)) -- docs: Update basic usage with better wording for examples. ([#83](https://github.com/tektronix/tm_devices/issues/83)) -- refactor: Removed some API files that are no longer needed (outdated/broken) ([#82](https://github.com/tektronix/tm_devices/issues/82)) - -### Added - -- New examples added to the basic usage guide showing how to use the commands for some scope drivers -- Added an example showing how to change the VISA backend that is used for connecting to devices -- Added a new support table in the Readme showing the API support for Software Solutions -- Added an option to bypass SSL certificate verification for RESTful API devices -- Added an option to allow URL redirects for RESTful API devices -- Added the 3706a to the list of supported usb devices - -### Changed - -- Updated the support level tables in the Readme - -### Removed - -- Removed some outdated and broken API files - -______________________________________________________________________ - -## v0.1.24 (2023-10-30) - -### Merged Pull Requests - -- fix: Build docs without parallelization to fix pop-up issues with sphinx-tippy ([#80](https://github.com/tektronix/tm_devices/issues/80)) - -### Fixed - -- Fixed the `tippy.js` pop-ups in the documentation - -______________________________________________________________________ - -## v0.1.23 (2023-10-30) - -### Merged Pull Requests - -- fix: Handle non-standard software versions with alpha characters in the last part of the version. ([#81](https://github.com/tektronix/tm_devices/issues/81)) -- docs: Updated the custom styling for the badge table in the readme to make sure the badges are spaced vertically properly. ([#79](https://github.com/tektronix/tm_devices/issues/79)) -- Update contribution guide and documentation publishing workflow ([#78](https://github.com/tektronix/tm_devices/issues/78)) -- docs: Added new workflow which can deploy the documentation to GitHub Pages ([#76](https://github.com/tektronix/tm_devices/issues/76)) -- Update version of GitHub action used to build the package ([#75](https://github.com/tektronix/tm_devices/issues/75)) -- fix: Update auto-generated command API files to fix various issues. ([#72](https://github.com/tektronix/tm_devices/issues/72)) -- fix: Remove outdated comment. ([#71](https://github.com/tektronix/tm_devices/issues/71)) -- ci: Update workflow name and add Python 3.12 classifier ([#70](https://github.com/tektronix/tm_devices/issues/70)) - -### Fixed - -- Updated the auto-generated commands for a handful of models to fix various issues -- Updated the function responsible for converting version strings into `Version` objects to be able to handle software versions with non-standard formats. - -______________________________________________________________________ - -## v0.1.22 (2023-10-24) - -### Merged Pull Requests - -- fix: Update the version of the semantic release action used to fix a bug with the output version. ([#69](https://github.com/tektronix/tm_devices/issues/69)) - -### Fixed - -- Fixed the package release workflow to use a version of the `python-semantic-release` GitHub action that doesn't have any bugs - -______________________________________________________________________ - -## v0.1.21 (2023-10-24) - -### Merged Pull Requests - -- ci: Update macro to enable GitHub Release template to function properly. ([#68](https://github.com/tektronix/tm_devices/issues/68)) - -### Fixed - -- Fixed the GitHub Release template generation - -______________________________________________________________________ - -## v0.1.20 (2023-10-24) - -### Merged Pull Requests - -- Add template for GitHub Releases ([#67](https://github.com/tektronix/tm_devices/issues/67)) - -### Added - -- Added a template for rendering custom Release Notes for GitHub Releases - -______________________________________________________________________ - -## v0.1.19 (2023-10-24) - -### Merged Pull Requests - -- Update the code that checks for package updates ([#66](https://github.com/tektronix/tm_devices/issues/66)) - -### Fixed - -- Fixed a potential `PermissionsError` crash that occurred when trying to check for any available package updates - -### Added - -- A config flag to enable checking for updates when creating a new instance of the `DeviceManager` - -### Changed - -- The default behavior of the `DeviceManager` is changed to **not** check for updates - -______________________________________________________________________ - -## v0.1.18 (2023-10-23) - -### Merged Pull Requests - -- Update badge displaying total number of downloads ([#41](https://github.com/tektronix/tm_devices/issues/41)) -- ci: Update permissions to allow the workflow to modify GitHub Releases. ([#40](https://github.com/tektronix/tm_devices/issues/40)) - -### Fixed - -- Updated permissions for the release workflow to allow it to upload the distribution files to the GitHub Release -- Updated the README to include the correct link to the badge displaying the total number of package downloads - -______________________________________________________________________ - -## v0.1.17 (2023-10-20) - -### Merged Pull Requests - -- Fix readme links and release workflow ([#39](https://github.com/tektronix/tm_devices/issues/39)) - -### Fixed - -- Updated links in the README to properly redirect to GitHub when accessed from PyPI -- Updated the release workflow to be able to upload artifacts to the GitHub Release page - -______________________________________________________________________ - -## v0.1.16 (2023-10-20) - -### Merged Pull Requests - -- Update package release workflow to build correct version ([#38](https://github.com/tektronix/tm_devices/issues/38)) - -### Fixed - -- Updated the release workflow to properly build the latest version after `python-semantic-release` updates the main branch - -______________________________________________________________________ - -## v0.1.15 (2023-10-20) - -### Merged Pull Requests - -- ci: Update workflow to enable signed commits. ([#37](https://github.com/tektronix/tm_devices/issues/37)) -- ci: Add missing command to workflow. ([#36](https://github.com/tektronix/tm_devices/issues/36)) -- ci: Update semantic release step to not use the docker container. ([#35](https://github.com/tektronix/tm_devices/issues/35)) -- Update packaging workflow ([#34](https://github.com/tektronix/tm_devices/issues/34)) -- Update package release workflow with necessary permissions ([#33](https://github.com/tektronix/tm_devices/issues/33)) -- docs: Update links in readme. Also add badge for project publish workflow. ([#32](https://github.com/tektronix/tm_devices/issues/32)) -- Update changelog update process ([#31](https://github.com/tektronix/tm_devices/issues/31)) -- ci: Update git config during package release. ([#30](https://github.com/tektronix/tm_devices/issues/30)) -- ci: Added a workflow and necessary support scripts/templates to enable automated released via GitHub's workflow_dispatch trigger. ([#29](https://github.com/tektronix/tm_devices/issues/29)) -- Added a command-line script to print the available VISA resources. ([#26](https://github.com/tektronix/tm_devices/issues/26)) -- Update test.pypi.org upload workflow ([#25](https://github.com/tektronix/tm_devices/issues/25)) -- Add a wait time to allow for the package to be available to install. ([#24](https://github.com/tektronix/tm_devices/issues/24)) -- Custom testpypi version creation script ([#23](https://github.com/tektronix/tm_devices/issues/23)) -- Fix TestPyPI upload ([#22](https://github.com/tektronix/tm_devices/issues/22)) -- Update python-semantic-release config settings. ([#21](https://github.com/tektronix/tm_devices/issues/21)) -- Implement separate TestPyPI upload workflow ([#20](https://github.com/tektronix/tm_devices/issues/20)) -- Upload unique dev packages to test.pypi.org ([#19](https://github.com/tektronix/tm_devices/issues/19)) - -### Added - -- A command-line script to list all available VISA resources, `list-visa-resources` - -______________________________________________________________________ - -## v0.1.14 (2023-10-05) - -### Added - -- Added support for Python 3.12. - -______________________________________________________________________ - -## v0.1.13 (2023-09-21) - -### Fixed - -- Fixed bug when generating a waveform using Burst Mode on an AFG. - -______________________________________________________________________ - -## v0.1.12 (2023-09-06) - -### Added - -- Support for DPOJET to TekScope5k7k70k models. - -______________________________________________________________________ - -## v0.1.11 (2023-08-29) - -### Added - -- Cache `*OPT?` on first access. - -______________________________________________________________________ - -## v0.1.10 (2023-08-29) - -### Added - -- Support for AWG7KB - -______________________________________________________________________ - -## v0.1.9 (2023-08-24) - -### Added - -- Support for `num_dig_bits_in_ch` and `total_channels` properties to TekScope5k7k70k. - -______________________________________________________________________ - -## v0.1.8 (2023-08-09) - -### Added - -- Support for AWG5KB - -### Changed - -- Changed waveform generation to enforce CustomStrEnum function type. - -______________________________________________________________________ - -## v0.1.7 (2023-08-02) - -### Added - -- Support for connecting to instruments created on top of the `pyvisa-mock` framework. - -### Changed - -- Updated auto-generated API documentation to not show all inherited attributes and methods in order to speed up documentation build time. -- `SourceDeviceConstants.function_list` was changed to be `SourceDeviceConstants.functions`, which is now an Enumeration of valid functions. - -______________________________________________________________________ - -## v0.1.6 (2023-07-25) - -### Changed - -- Fixed bug with not allowing empty license lists. - -______________________________________________________________________ - -## v0.1.5 (2023-07-25) - -### Changed - -- Updated syntax for AFG polarities. - -______________________________________________________________________ - -## v0.1.4 (2023-07-21) - -### Added - -- `channel` property to TekScope -- Abstract mixin classes for licenses, analysis objects, and usb drives. -- @family_base_class to denote and enforce end of method definitions in the inheritance tree. - -### Changed - -- Refactored abstract method inheritance to use Mixins for many methods and properties for ease of expandability. -- Channel specific functions now only accept strings as input. - -### Removed - -- `all_channel_numbers_list` property since MSO2 breaks convention so can no longer rely on sequential channel numbering. - -______________________________________________________________________ - -## v0.1.3 (2023-07-03) - -### Changed - -- Removed TRIANGLE from AFG function list. -- Added symmetry to waveform generation function call. - -______________________________________________________________________ - -## v0.1.2 (2023-06-27) - -### Changed - -- Updated the add_new dynamic item methods to work with numbers higher than 9. -- Fixed malformed command syntax due to a bug in determining the preceding separator character. - -______________________________________________________________________ - -## v0.1.1 (2023-06-20) - -### Added - -- Added support for .dev versions. - -______________________________________________________________________ - -## v0.1.0 (2022-08-08) - -### Added - -- First release of `tm_devices`! diff --git a/python_semantic_release_templates/.previous_release_notes_for_template.md b/python_semantic_release_templates/.previous_release_notes_for_template.md deleted file mode 100644 index e94db672..00000000 --- a/python_semantic_release_templates/.previous_release_notes_for_template.md +++ /dev/null @@ -1,5 +0,0 @@ -Things to be included in the next release go here. - -### Added - -- Added support for MSO4B device. From ec0971d0826694c9a98b70d3f75c8cb9ca8688a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Dec 2023 08:04:53 -0800 Subject: [PATCH 38/50] gh-actions(deps): Bump the gh-actions-dependencies group with 3 updates (#121) Bumps the gh-actions-dependencies group with 3 updates: [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact), [actions/deploy-pages](https://github.com/actions/deploy-pages) and [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release). Updates `actions/upload-pages-artifact` from 2 to 3 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v2...v3) Updates `actions/deploy-pages` from 3 to 4 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/v3...v4) Updates `python-semantic-release/python-semantic-release` from 8.5.1 to 8.7.0 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v8.5.1...v8.7.0) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: actions/deploy-pages dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies - dependency-name: python-semantic-release/python-semantic-release dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy-documentation.yml | 4 ++-- .github/workflows/package-release.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml index 1dab624a..50e4dca5 100644 --- a/.github/workflows/deploy-documentation.yml +++ b/.github/workflows/deploy-documentation.yml @@ -31,9 +31,9 @@ jobs: unzip docs_results.zip rm -r .results_docs/html/.doctrees - name: Upload To Pages - uses: actions/upload-pages-artifact@v2 + uses: actions/upload-pages-artifact@v3 with: path: .results_docs/html - name: Deploy To Pages - uses: actions/deploy-pages@v3 + uses: actions/deploy-pages@v4 id: deployment diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index dd111c7b..fbaeb227 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -50,7 +50,7 @@ jobs: python scripts/check_unreleased_changelog_items.py git config --global tag.gpgSign true - name: Python Semantic Release - uses: python-semantic-release/python-semantic-release@v8.5.1 + uses: python-semantic-release/python-semantic-release@v8.7.0 id: release with: force: ${{ inputs.release_level }} From d8136ea396b982becfc4d4852b1af1ba64a86916 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 07:49:27 -0800 Subject: [PATCH 39/50] gh-actions(deps): Bump the gh-actions-dependencies group with 1 update (#123) Bumps the gh-actions-dependencies group with 1 update: [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release). Updates `python-semantic-release/python-semantic-release` from 8.7.0 to 8.7.2 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v8.7.0...v8.7.2) --- updated-dependencies: - dependency-name: python-semantic-release/python-semantic-release dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/package-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index fbaeb227..dc7aba5b 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -50,7 +50,7 @@ jobs: python scripts/check_unreleased_changelog_items.py git config --global tag.gpgSign true - name: Python Semantic Release - uses: python-semantic-release/python-semantic-release@v8.7.0 + uses: python-semantic-release/python-semantic-release@v8.7.2 id: release with: force: ${{ inputs.release_level }} From 7422b08f64c750d75031e0509e0d2b9d92504bfa Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Thu, 11 Jan 2024 21:13:26 -0800 Subject: [PATCH 40/50] MSO5k, DPO5k, and DPO7k full driver support (#125) * feat: Added full support for MSO5K, DPO5K, and DPO7K devices. Co-authored-by: Shashank P * feat: Added a read-only implementation of a cached property. --------- Co-authored-by: Shashank P --- .pre-commit-config.yaml | 3 +- CHANGELOG.md | 2 + pyproject.toml | 6 + src/tm_devices/commands/_60xy3r_smu/smu.py | 56 +- .../commands/_60xy3r_smu/upgrade.py | 4 +- src/tm_devices/commands/_6srh1x_smu/smu.py | 56 +- .../commands/_6srh1x_smu/upgrade.py | 4 +- src/tm_devices/commands/_6vynmi_smu/acal.py | 8 +- src/tm_devices/commands/_6vynmi_smu/smu.py | 80 +- .../commands/_6vynmi_smu/trigger.py | 104 +- .../commands/_6vynmi_smu/upgrade.py | 4 +- .../commands/_6w7311_smu/trigger.py | 104 +- src/tm_devices/commands/_6xiuc2_smu/smu.py | 56 +- .../commands/_6xiuc2_smu/upgrade.py | 4 +- .../commands/_7kqm9p_smu/buffervar.py | 9 +- .../commands/_7kqm9p_smu/display.py | 4 +- .../commands/_7kqm9p_smu/tsplink.py | 24 +- src/tm_devices/commands/_7kqm9p_smu/tspnet.py | 4 +- src/tm_devices/commands/_7ryhce_smu/status.py | 628 +- .../commands/_7s2p1p_smu/display.py | 16 +- src/tm_devices/commands/_7s2p1p_smu/serial.py | 8 +- src/tm_devices/commands/_7s2p1p_smu/smux.py | 120 +- src/tm_devices/commands/_7s2p1p_smu/status.py | 304 +- src/tm_devices/commands/_7s43m8_smu/status.py | 628 +- src/tm_devices/commands/_7s6wr5_smu/status.py | 628 +- .../commands/_8ojdkz_smu/display.py | 28 +- src/tm_devices/commands/_8ojdkz_smu/smux.py | 112 +- src/tm_devices/commands/_8ojdkz_smu/status.py | 628 +- src/tm_devices/commands/_8wm55i_smu/smux.py | 120 +- src/tm_devices/commands/_9kezla_smu/smux.py | 120 +- src/tm_devices/commands/_9mzp2j_smu/digio.py | 28 +- .../commands/_9mzp2j_smu/display.py | 28 +- .../commands/_9mzp2j_smu/tsplink.py | 36 +- .../commands/_9ncc6e_smu/display.py | 28 +- src/tm_devices/commands/_9nnkq7_smu/status.py | 628 +- src/tm_devices/commands/_9slyux_smu/status.py | 628 +- src/tm_devices/commands/__init__.py | 12 + src/tm_devices/commands/_afg3k_commands.py | 8 +- src/tm_devices/commands/_afg3kb_commands.py | 8 +- src/tm_devices/commands/_afg3kc_commands.py | 8 +- .../commands/_ahkybr_smu/buffervar.py | 12 +- .../commands/_ahkybr_smu/eventlog.py | 4 +- src/tm_devices/commands/_ahkybr_smu/lan.py | 44 +- src/tm_devices/commands/_ahkybr_smu/script.py | 8 +- .../commands/_ahkybr_smu/scriptvar.py | 16 +- .../commands/_ahkybr_smu/setup_1.py | 8 +- src/tm_devices/commands/_ahkybr_smu/tspnet.py | 4 +- .../commands/_aih9e2_smu/trigger.py | 25 +- src/tm_devices/commands/_ak4990_smu/smux.py | 120 +- src/tm_devices/commands/_am6pcr_smu/smux.py | 132 +- src/tm_devices/commands/_am6pcr_smu/status.py | 644 +- src/tm_devices/commands/_amm5lc_smu/digio.py | 28 +- .../commands/_amm5lc_smu/tsplink.py | 36 +- src/tm_devices/commands/_aostep_smu/serial.py | 12 +- .../commands/_aqr1t1_smu/localnode.py | 8 +- .../commands/_as1ejq_smu/localnode.py | 8 +- src/tm_devices/commands/_as1ejq_smu/smux.py | 136 +- src/tm_devices/commands/_as1ejq_smu/status.py | 660 +- .../commands/_at7jl1_smu/display.py | 28 +- src/tm_devices/commands/_au597k_smu/digio.py | 28 +- src/tm_devices/commands/_au597k_smu/format.py | 8 +- .../commands/_au597k_smu/tsplink.py | 36 +- src/tm_devices/commands/_auyr50_smu/format.py | 8 +- .../commands/_auyr50_smu/localnode.py | 8 +- .../commands/_avh0iw_smu/display.py | 28 +- .../commands/_avh0iw_smu/trigger.py | 20 +- src/tm_devices/commands/_awg5200_commands.py | 10 +- src/tm_devices/commands/_awg5k_commands.py | 10 +- src/tm_devices/commands/_awg5kc_commands.py | 10 +- src/tm_devices/commands/_awg70ka_commands.py | 10 +- src/tm_devices/commands/_awg70kb_commands.py | 10 +- src/tm_devices/commands/_awg7k_commands.py | 10 +- src/tm_devices/commands/_awg7kc_commands.py | 10 +- src/tm_devices/commands/_awhjao_smu/status.py | 628 +- .../commands/_by991s_smudaq/digio.py | 16 +- .../commands/_by991s_smudaq/status.py | 8 +- .../commands/_canxny_daq/buffervar.py | 8 +- .../commands/_canxny_daq/display.py | 4 +- src/tm_devices/commands/_canxny_daq/dmm.py | 76 +- src/tm_devices/commands/_canxny_daq/scan.py | 16 +- src/tm_devices/commands/_canxny_daq/slot.py | 8 +- .../commands/_canxny_daq/trigger.py | 124 +- .../commands/_canxny_daq/tsplink.py | 16 +- .../commands/_canxny_daq/upgrade.py | 4 +- src/tm_devices/commands/_d6b496_dmm/acal.py | 12 +- .../commands/_d6b496_dmm/buffervar.py | 8 +- .../commands/_d6b496_dmm/display.py | 4 +- src/tm_devices/commands/_d6b496_dmm/dmm.py | 64 +- .../commands/_d6b496_dmm/localnode.py | 8 +- .../commands/_d6b496_dmm/trigger.py | 124 +- .../commands/_d83qe0_dmm/buffervar.py | 8 +- .../commands/_d83qe0_dmm/display.py | 4 +- src/tm_devices/commands/_d83qe0_dmm/dmm.py | 56 +- src/tm_devices/commands/_d83qe0_dmm/scan.py | 16 +- src/tm_devices/commands/_d83qe0_dmm/slot.py | 4 +- .../commands/_d83qe0_dmm/trigger.py | 124 +- src/tm_devices/commands/_daq6510_commands.py | 32 +- .../commands/_dawv9y_smudaqdmm/localnode.py | 8 +- .../commands/_dbdq3i_smudaqdmm/eventlog.py | 4 +- .../commands/_dbdq3i_smudaqdmm/file.py | 4 +- .../commands/_dbdq3i_smudaqdmm/format.py | 8 +- .../commands/_dbdq3i_smudaqdmm/scriptvar.py | 4 +- .../commands/_dbdq3i_smudaqdmm/timer.py | 4 +- src/tm_devices/commands/_dbqd7k_dmm/digio.py | 16 +- src/tm_devices/commands/_dbqd7k_dmm/status.py | 8 +- .../commands/_dbqd7k_dmm/tsplink.py | 16 +- src/tm_devices/commands/_dbqd7k_dmm/tspnet.py | 4 +- .../commands/_dbqd7k_dmm/upgrade.py | 4 +- src/tm_devices/commands/_dmm6500_commands.py | 32 +- src/tm_devices/commands/_dmm7510_commands.py | 32 +- src/tm_devices/commands/_dpo2k_commands.py | 54 +- src/tm_devices/commands/_dpo2kb_commands.py | 54 +- src/tm_devices/commands/_dpo4k_commands.py | 54 +- src/tm_devices/commands/_dpo4kb_commands.py | 54 +- src/tm_devices/commands/_dpo5k_commands.py | 3986 ++ src/tm_devices/commands/_dpo5kb_commands.py | 188 +- src/tm_devices/commands/_dpo70kc_commands.py | 190 +- src/tm_devices/commands/_dpo70kd_commands.py | 190 +- src/tm_devices/commands/_dpo70kdx_commands.py | 190 +- src/tm_devices/commands/_dpo70ksx_commands.py | 184 +- src/tm_devices/commands/_dpo7k_commands.py | 3986 ++ src/tm_devices/commands/_dpo7kc_commands.py | 190 +- src/tm_devices/commands/_dsa70kc_commands.py | 190 +- src/tm_devices/commands/_dsa70kd_commands.py | 190 +- .../commands/_e3e9uu_lpdmso/measurement.py | 4 +- .../commands/_e3pief_ss/buffervar.py | 12 +- src/tm_devices/commands/_e3pief_ss/channel.py | 20 +- src/tm_devices/commands/_e3pief_ss/digio.py | 28 +- src/tm_devices/commands/_e3pief_ss/display.py | 4 +- src/tm_devices/commands/_e3pief_ss/dmm.py | 56 +- .../commands/_e3pief_ss/eventlog.py | 4 +- src/tm_devices/commands/_e3pief_ss/format.py | 8 +- src/tm_devices/commands/_e3pief_ss/lan.py | 44 +- .../commands/_e3pief_ss/localnode.py | 8 +- src/tm_devices/commands/_e3pief_ss/scan.py | 56 +- .../commands/_e3pief_ss/schedule.py | 4 +- src/tm_devices/commands/_e3pief_ss/script.py | 8 +- .../commands/_e3pief_ss/scriptvar.py | 16 +- src/tm_devices/commands/_e3pief_ss/setup_1.py | 4 +- src/tm_devices/commands/_e3pief_ss/slot.py | 16 +- src/tm_devices/commands/_e3pief_ss/status.py | 164 +- src/tm_devices/commands/_e3pief_ss/trigger.py | 20 +- src/tm_devices/commands/_e3pief_ss/tsplink.py | 36 +- src/tm_devices/commands/_e3pief_ss/upgrade.py | 4 +- .../commands/_eat5s3_smudaqdmmss/dataqueue.py | 4 +- .../commands/_eat5s3_smudaqdmmss/fs.py | 4 +- .../_eat5s3_smudaqdmmss/userstring.py | 4 +- .../commands/_ed9nkc_daqss/tspnet.py | 4 +- .../commands/_efap3f_smuss/errorqueue.py | 4 +- src/tm_devices/commands/_efap3f_smuss/io.py | 4 +- .../commands/_efap3f_smuss/timer.py | 8 +- .../__init__.py | 0 .../bus.py | 2 +- .../__init__.py | 0 .../curve.py | 5 +- .../date.py | 5 +- .../mathvar.py | 5 +- .../save_and_recall.py | 5 +- .../__init__.py | 0 .../acquire.py | 3 +- .../allocate.py | 3 +- .../application.py | 3 +- .../autoset.py | 3 +- .../auxin.py | 3 +- .../auxout.py | 3 +- .../bell.py | 3 +- .../calibrate.py | 3 +- .../ch.py | 3 +- .../clear.py | 3 +- .../cmdbatch.py | 3 +- .../cq.py | 3 +- .../cursor.py | 3 +- .../curvenext.py | 3 +- .../curvestream.py | 3 +- .../custom.py | 3 +- .../d.py | 3 +- .../data.py | 3 +- .../delete.py | 3 +- .../diag.py | 3 +- .../display.py | 3 +- .../email.py | 3 +- .../export.py | 3 +- .../fastacq.py | 3 +- .../filesystem.py | 3 +- .../gpibusb.py | 3 +- .../hardcopy.py | 3 +- .../hdr.py | 3 +- .../histogram.py | 3 +- .../horizontal.py | 3 +- .../limit.py | 3 +- .../mark.py | 3 +- .../mask.py | 3 +- .../math.py | 3 +- .../matharbflt.py | 3 +- .../mch.py | 3 +- .../measurement.py | 3 +- .../multiscope.py | 3 +- .../opcextended.py | 3 +- .../pcenable.py | 3 +- .../recall.py | 3 +- .../ref.py | 3 +- .../save.py | 3 +- .../save_and_recall.py | 3 +- .../saveon.py | 3 +- .../search.py | 3 +- .../select.py | 3 +- .../setup_1.py | 3 +- .../system.py | 3 +- .../teklink.py | 3 +- .../test.py | 3 +- .../trig.py | 3 +- .../usbtmc.py | 3 +- .../visual.py | 3 +- .../wavfrmstream.py | 3 +- .../wfminpre.py | 3 +- .../wfmoutpre.py | 3 +- .../wfmpre.py | 3 +- .../zoom.py | 3 +- .../__init__.py | 0 .../time.py | 4 +- .../__init__.py | 0 .../commands/_fn2qbf_msodpo/errordetector.py | 6092 +++ .../commands/_fn2qbf_msodpo/trigger.py | 36710 ++++++++++++++++ .../__init__.py | 0 .../counter.py | 3 +- .../linktraining.py | 3 +- .../rosc.py | 3 +- .../__init__.py | 0 .../calibration.py | 6 +- .../miscellaneous.py | 6 +- .../status_and_error.py | 6 +- .../__init__.py | 0 .../status_and_error.py | 6 +- .../__init__.py | 0 .../status_and_error.py | 8 +- .../commands/_fuzvln_lpdmsodpodsa/__init__.py | 0 .../alias.py | 4 +- .../header.py | 4 +- .../status_and_error.py | 4 +- .../verbose.py | 4 +- .../_fx54ua_lpdmsodpomdodsa/__init__.py | 0 .../allev.py | 6 +- .../busy.py | 6 +- .../dese.py | 6 +- .../event.py | 6 +- .../evmsg.py | 6 +- .../evqty.py | 6 +- .../factory.py | 6 +- .../id.py | 6 +- .../miscellaneous.py | 6 +- .../newpass.py | 6 +- .../password.py | 6 +- .../rem.py | 6 +- .../set.py | 6 +- .../status_and_error.py | 6 +- .../teksecure.py | 6 +- .../wavfrm.py | 6 +- .../_fzn174_lpdmsodpomdodsa/__init__.py | 0 .../lock.py | 6 +- .../unlock.py | 6 +- .../commands/_helpers/generic_commands.py | 2 +- src/tm_devices/commands/_lpd6_commands.py | 54 +- src/tm_devices/commands/_mdo3_commands.py | 50 +- src/tm_devices/commands/_mdo3k_commands.py | 54 +- src/tm_devices/commands/_mdo4k_commands.py | 54 +- src/tm_devices/commands/_mdo4kb_commands.py | 54 +- src/tm_devices/commands/_mdo4kc_commands.py | 54 +- src/tm_devices/commands/_mso2_commands.py | 54 +- src/tm_devices/commands/_mso2k_commands.py | 54 +- src/tm_devices/commands/_mso2kb_commands.py | 54 +- src/tm_devices/commands/_mso4_commands.py | 54 +- src/tm_devices/commands/_mso4b_commands.py | 54 +- src/tm_devices/commands/_mso4k_commands.py | 54 +- src/tm_devices/commands/_mso4kb_commands.py | 54 +- src/tm_devices/commands/_mso5_commands.py | 54 +- src/tm_devices/commands/_mso5b_commands.py | 54 +- src/tm_devices/commands/_mso5k_commands.py | 3986 ++ src/tm_devices/commands/_mso5kb_commands.py | 188 +- src/tm_devices/commands/_mso5lp_commands.py | 54 +- src/tm_devices/commands/_mso6_commands.py | 54 +- src/tm_devices/commands/_mso6b_commands.py | 54 +- src/tm_devices/commands/_mso70kc_commands.py | 188 +- src/tm_devices/commands/_mso70kdx_commands.py | 190 +- src/tm_devices/commands/_smu2450_commands.py | 32 +- src/tm_devices/commands/_smu2460_commands.py | 32 +- src/tm_devices/commands/_smu2461_commands.py | 32 +- src/tm_devices/commands/_smu2470_commands.py | 32 +- src/tm_devices/commands/_smu2601b_commands.py | 48 +- src/tm_devices/commands/_smu2602b_commands.py | 48 +- src/tm_devices/commands/_smu2604b_commands.py | 48 +- src/tm_devices/commands/_smu2606b_commands.py | 48 +- src/tm_devices/commands/_smu2611b_commands.py | 48 +- src/tm_devices/commands/_smu2612b_commands.py | 48 +- src/tm_devices/commands/_smu2614b_commands.py | 48 +- src/tm_devices/commands/_smu2634b_commands.py | 48 +- src/tm_devices/commands/_smu2635b_commands.py | 48 +- src/tm_devices/commands/_smu2636b_commands.py | 48 +- src/tm_devices/commands/_smu2651a_commands.py | 48 +- src/tm_devices/commands/_smu2657a_commands.py | 48 +- src/tm_devices/commands/_ss3706a_commands.py | 44 +- .../driver_mixins/licensed_mixin.py | 6 +- .../driver_mixins/usb_drives_mixin.py | 6 +- .../rest_api/margin_testers/margin_tester.py | 11 +- .../api/rest_api/margin_testers/tmt4.py | 19 +- src/tm_devices/drivers/device.py | 15 +- .../pi/data_acquisition_systems/daq6510.py | 5 +- src/tm_devices/drivers/pi/pi_device.py | 18 +- .../pi/power_supplies/psu2200/psu2200.py | 7 +- src/tm_devices/drivers/pi/scopes/scope.py | 5 +- .../drivers/pi/scopes/tekscope/mso2.py | 5 +- .../drivers/pi/scopes/tekscope/tekscope.py | 13 +- .../drivers/pi/scopes/tekscope/tekscopesw.py | 5 +- .../drivers/pi/scopes/tekscope_3k_4k/mdo3.py | 6 +- .../scopes/tekscope_3k_4k/tekscope_3k_4k.py | 6 +- .../pi/scopes/tekscope_5k_7k_70k/dpo5k.py | 3 +- .../pi/scopes/tekscope_5k_7k_70k/dpo7k.py | 3 +- .../pi/scopes/tekscope_5k_7k_70k/mso5k.py | 3 +- .../tekscope_5k_7k_70k/tekscope_5k_7k_70k.py | 5 +- .../drivers/pi/signal_sources/afgs/afg.py | 8 +- .../drivers/pi/signal_sources/awgs/awg.py | 5 +- .../pi/signal_sources/signal_source.py | 5 +- .../smu2400/smu2400_interactive.py | 5 +- .../smu2400/smu2400_standard.py | 4 +- .../source_measure_units/smu2600/smu2600.py | 6 +- .../source_measure_units/smu6000/smu6000.py | 4 +- .../drivers/pi/systems_switches/ss3706a.py | 5 +- src/tm_devices/helpers/__init__.py | 2 + src/tm_devices/helpers/alias_dict.py | 2 + .../helpers/read_only_cached_property.py | 68 + tests/requirements.txt | 1 + tests/test_afgs.py | 6 - tests/test_helpers.py | 36 +- tests/test_rest_api_device.py | 10 +- 333 files changed, 64466 insertions(+), 4469 deletions(-) create mode 100644 src/tm_devices/commands/_dpo5k_commands.py create mode 100644 src/tm_devices/commands/_dpo7k_commands.py rename src/tm_devices/commands/{_5uw825_msodpomdodsa => _ffz2xs_dpodsamso}/__init__.py (100%) rename src/tm_devices/commands/{_60ea5c_dpodsamso => _ffz2xs_dpodsamso}/bus.py (99%) rename src/tm_devices/commands/{_5x02qd_msodpodsa => _fhrp27_msodpomdodsa}/__init__.py (100%) rename src/tm_devices/commands/{_5uw825_msodpomdodsa => _fhrp27_msodpomdodsa}/curve.py (93%) rename src/tm_devices/commands/{_5uw825_msodpomdodsa => _fhrp27_msodpomdodsa}/date.py (86%) rename src/tm_devices/commands/{_5uw825_msodpomdodsa => _fhrp27_msodpomdodsa}/mathvar.py (94%) rename src/tm_devices/commands/{_5uw825_msodpomdodsa => _fhrp27_msodpomdodsa}/save_and_recall.py (90%) rename src/tm_devices/commands/{_60ea5c_dpodsamso => _fk3z56_dpodsamso}/__init__.py (100%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/acquire.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/allocate.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/application.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/autoset.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/auxin.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/auxout.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/bell.py (88%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/calibrate.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/ch.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/clear.py (87%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/cmdbatch.py (93%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/cq.py (96%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/cursor.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/curvenext.py (92%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/curvestream.py (96%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/custom.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/d.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/data.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/delete.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/diag.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/display.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/email.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/export.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/fastacq.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/filesystem.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/gpibusb.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/hardcopy.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/hdr.py (93%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/histogram.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/horizontal.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/limit.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/mark.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/mask.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/math.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/matharbflt.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/mch.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/measurement.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/multiscope.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/opcextended.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/pcenable.py (90%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/recall.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/ref.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/save.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/save_and_recall.py (91%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/saveon.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/search.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/select.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/setup_1.py (96%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/system.py (95%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/teklink.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/test.py (98%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/trig.py (97%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/usbtmc.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/visual.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/wavfrmstream.py (92%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/wfminpre.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/wfmoutpre.py (99%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/wfmpre.py (94%) rename src/tm_devices/commands/{_5y90wx_dpodsamso => _fk3z56_dpodsamso}/zoom.py (99%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fkjfe8_msodpodsa}/__init__.py (100%) rename src/tm_devices/commands/{_5x02qd_msodpodsa => _fkjfe8_msodpodsa}/time.py (91%) rename src/tm_devices/commands/{_e5nqsy_lpdmsodpodsa => _fn2qbf_msodpo}/__init__.py (100%) create mode 100644 src/tm_devices/commands/_fn2qbf_msodpo/errordetector.py create mode 100644 src/tm_devices/commands/_fn2qbf_msodpo/trigger.py rename src/tm_devices/commands/{_e5td2t_lpdmsodpomdodsa => _fpx9s1_dpodsamso}/__init__.py (100%) rename src/tm_devices/commands/{_5xwdsk_dpodsamso => _fpx9s1_dpodsamso}/counter.py (99%) rename src/tm_devices/commands/{_5xwdsk_dpodsamso => _fpx9s1_dpodsamso}/linktraining.py (99%) rename src/tm_devices/commands/{_5xwdsk_dpodsamso => _fpx9s1_dpodsamso}/rosc.py (99%) rename src/tm_devices/commands/{_e9znur_lpdmsomdodpoafgawgdsa => _ft5uww_lpdmsodpomdoafgawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_ea3vk0_lpdmsodpomdoafgawgdsa => _ft5uww_lpdmsodpomdoafgawgdsa}/calibration.py (81%) rename src/tm_devices/commands/{_ea3vk0_lpdmsodpomdoafgawgdsa => _ft5uww_lpdmsodpomdoafgawgdsa}/miscellaneous.py (89%) rename src/tm_devices/commands/{_ea3vk0_lpdmsodpomdoafgawgdsa => _ft5uww_lpdmsodpomdoafgawgdsa}/status_and_error.py (96%) rename src/tm_devices/commands/{_ea3vk0_lpdmsodpomdoafgawgdsa => _fteabn_lpdmsomdodpoafgawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_e9znur_lpdmsomdodpoafgawgdsa => _fteabn_lpdmsomdodpoafgawgdsa}/status_and_error.py (86%) rename src/tm_devices/commands/{_ecer2i_lpdmsodpomdoawgdsa => _fug7nl_lpdmsodpomdoawgdsa}/__init__.py (100%) rename src/tm_devices/commands/{_ecer2i_lpdmsodpomdoawgdsa => _fug7nl_lpdmsodpomdoawgdsa}/status_and_error.py (91%) create mode 100644 src/tm_devices/commands/_fuzvln_lpdmsodpodsa/__init__.py rename src/tm_devices/commands/{_e5nqsy_lpdmsodpodsa => _fuzvln_lpdmsodpodsa}/alias.py (98%) rename src/tm_devices/commands/{_e5nqsy_lpdmsodpodsa => _fuzvln_lpdmsodpodsa}/header.py (91%) rename src/tm_devices/commands/{_e5nqsy_lpdmsodpodsa => _fuzvln_lpdmsodpodsa}/status_and_error.py (92%) rename src/tm_devices/commands/{_e5nqsy_lpdmsodpodsa => _fuzvln_lpdmsodpodsa}/verbose.py (88%) create mode 100644 src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/__init__.py rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/allev.py (82%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/busy.py (79%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/dese.py (86%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/event.py (80%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/evmsg.py (81%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/evqty.py (80%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/factory.py (84%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/id.py (80%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/miscellaneous.py (91%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/newpass.py (81%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/password.py (85%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/rem.py (80%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/set.py (85%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/status_and_error.py (84%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/teksecure.py (80%) rename src/tm_devices/commands/{_e3bgpz_lpdmsodpomdodsa => _fx54ua_lpdmsodpomdodsa}/wavfrm.py (81%) create mode 100644 src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/__init__.py rename src/tm_devices/commands/{_e5td2t_lpdmsodpomdodsa => _fzn174_lpdmsodpomdodsa}/lock.py (88%) rename src/tm_devices/commands/{_e5td2t_lpdmsodpomdodsa => _fzn174_lpdmsodpomdodsa}/unlock.py (80%) create mode 100644 src/tm_devices/commands/_mso5k_commands.py create mode 100644 src/tm_devices/helpers/read_only_cached_property.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ebd7f524..bda136ad 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,6 +49,7 @@ repos: rev: 1.16.0 hooks: - id: blacken-docs + files: \.(rst|md|markdown|tex)$ - repo: https://github.com/lyz-code/yamlfix/ rev: 1.16.0 hooks: @@ -122,7 +123,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.8 + rev: v0.1.11 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/CHANGELOG.md b/CHANGELOG.md index bf414161..c7ee08d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ Things to be included in the next release go here. ### Added - Added a step during a device reboot that will reset all the cached properties in the event that one of them changed. +- Added command API support for MSO5K, DPO5K, and DPO7K models. +- Added a custom, read-only implementation of the [`cached_property`](https://docs.python.org/3/library/functools.html#functools.cached_property) decorator. ### Changed diff --git a/pyproject.toml b/pyproject.toml index a2a6b029..d6f13ee0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,10 @@ requires = ["poetry-core>=1.0.0"] [tool] +[tool.coverage.coverage_conditional_plugin.rules] +py-gte-39 = "sys_version_info >= (3, 9)" +py-lt-39 = "sys_version_info < (3, 9)" + [tool.coverage.report] exclude_lines = [ "if TYPE_CHECKING:", @@ -20,6 +24,7 @@ skip_empty = true [tool.coverage.run] branch = true cover_pylib = false +plugins = ["coverage_conditional_plugin"] source = ["tm_devices"] [tool.docformatter] @@ -89,6 +94,7 @@ zeroconf = ">=0.54.0" # Development dependencies [tool.poetry.group.dev.dependencies] coverage = {extras = ["toml"], version = ">=7.2.2"} +coverage-conditional-plugin = ">=0.9.0" docformatter = {extras = ["tomli"], version = ">=1.6.5,<1.7.1"} # upper bound is due to https://github.com/PyCQA/docformatter/issues/174 flask = ">=2.2.2" graphviz = ">=0.20.1" diff --git a/src/tm_devices/commands/_60xy3r_smu/smu.py b/src/tm_devices/commands/_60xy3r_smu/smu.py index f5a1b14c..de458f47 100644 --- a/src/tm_devices/commands/_60xy3r_smu/smu.py +++ b/src/tm_devices/commands/_60xy3r_smu/smu.py @@ -1011,7 +1011,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1043,7 +1045,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2782,7 +2786,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2822,7 +2828,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3001,7 +3009,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3035,7 +3045,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3435,7 +3447,9 @@ def once(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.once()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3973,7 +3987,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4005,7 +4021,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4062,7 +4080,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4095,7 +4115,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4333,7 +4355,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4366,7 +4390,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5113,7 +5139,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_60xy3r_smu/upgrade.py b/src/tm_devices/commands/_60xy3r_smu/upgrade.py index ae9e04ed..60883646 100644 --- a/src/tm_devices/commands/_60xy3r_smu/upgrade.py +++ b/src/tm_devices/commands/_60xy3r_smu/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6srh1x_smu/smu.py b/src/tm_devices/commands/_6srh1x_smu/smu.py index 27b8899e..0296dc51 100644 --- a/src/tm_devices/commands/_6srh1x_smu/smu.py +++ b/src/tm_devices/commands/_6srh1x_smu/smu.py @@ -1011,7 +1011,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1043,7 +1045,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2782,7 +2786,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2822,7 +2828,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3001,7 +3009,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3035,7 +3045,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3435,7 +3447,9 @@ def once(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.once()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3973,7 +3987,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4005,7 +4021,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4062,7 +4080,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4095,7 +4115,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4333,7 +4355,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4366,7 +4390,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5113,7 +5139,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6srh1x_smu/upgrade.py b/src/tm_devices/commands/_6srh1x_smu/upgrade.py index 9f4b583e..d47e1326 100644 --- a/src/tm_devices/commands/_6srh1x_smu/upgrade.py +++ b/src/tm_devices/commands/_6srh1x_smu/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6vynmi_smu/acal.py b/src/tm_devices/commands/_6vynmi_smu/acal.py index 2b323df0..8767b654 100644 --- a/src/tm_devices/commands/_6vynmi_smu/acal.py +++ b/src/tm_devices/commands/_6vynmi_smu/acal.py @@ -118,7 +118,9 @@ def time(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".time" - return self._device.query(f"print({self._cmd_syntax}.time)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.time)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.time`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -193,7 +195,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6vynmi_smu/smu.py b/src/tm_devices/commands/_6vynmi_smu/smu.py index 44a1296d..9d3c0db9 100644 --- a/src/tm_devices/commands/_6vynmi_smu/smu.py +++ b/src/tm_devices/commands/_6vynmi_smu/smu.py @@ -1314,7 +1314,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1346,7 +1348,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3507,7 +3511,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3547,7 +3553,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3726,7 +3734,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3760,7 +3770,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4161,7 +4173,9 @@ def once(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.once()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4699,7 +4713,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4731,7 +4747,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4788,7 +4806,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4821,7 +4841,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5059,7 +5081,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5092,7 +5116,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6311,7 +6337,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6351,7 +6379,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6618,7 +6648,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6650,7 +6682,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6921,7 +6955,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6954,7 +6990,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7918,7 +7956,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6vynmi_smu/trigger.py b/src/tm_devices/commands/_6vynmi_smu/trigger.py index e0dfaf41..f1e405e6 100644 --- a/src/tm_devices/commands/_6vynmi_smu/trigger.py +++ b/src/tm_devices/commands/_6vynmi_smu/trigger.py @@ -378,7 +378,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -402,7 +404,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -450,7 +454,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -487,7 +493,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -544,7 +552,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1279,7 +1289,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1303,7 +1315,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1420,7 +1434,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1496,7 +1512,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1611,7 +1629,9 @@ def load_empty(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.load()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.load()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.load()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2001,7 +2021,9 @@ def pause(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.pause()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.pause()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.pause()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2022,7 +2044,9 @@ def resume(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.resume()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.resume()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.resume()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3264,7 +3288,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3288,7 +3314,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3312,7 +3340,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3360,7 +3390,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3397,7 +3429,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3453,7 +3487,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3748,7 +3784,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3772,7 +3810,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3820,7 +3860,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3857,7 +3899,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3913,7 +3957,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4127,7 +4173,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4151,7 +4199,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4883,7 +4933,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6vynmi_smu/upgrade.py b/src/tm_devices/commands/_6vynmi_smu/upgrade.py index c326ca0e..d1c682b8 100644 --- a/src/tm_devices/commands/_6vynmi_smu/upgrade.py +++ b/src/tm_devices/commands/_6vynmi_smu/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6w7311_smu/trigger.py b/src/tm_devices/commands/_6w7311_smu/trigger.py index d331f6d8..880be137 100644 --- a/src/tm_devices/commands/_6w7311_smu/trigger.py +++ b/src/tm_devices/commands/_6w7311_smu/trigger.py @@ -377,7 +377,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -401,7 +403,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -449,7 +453,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -486,7 +492,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -543,7 +551,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1278,7 +1288,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1302,7 +1314,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1417,7 +1431,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1493,7 +1509,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1608,7 +1626,9 @@ def load_empty(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.load()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.load()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.load()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1998,7 +2018,9 @@ def pause(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.pause()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.pause()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.pause()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2019,7 +2041,9 @@ def resume(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.resume()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.resume()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.resume()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3232,7 +3256,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3256,7 +3282,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3280,7 +3308,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3328,7 +3358,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3365,7 +3397,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3421,7 +3455,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3716,7 +3752,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3740,7 +3778,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3788,7 +3828,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3825,7 +3867,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3881,7 +3925,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4095,7 +4141,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4119,7 +4167,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4864,7 +4914,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6xiuc2_smu/smu.py b/src/tm_devices/commands/_6xiuc2_smu/smu.py index ebeaea7d..8ae92feb 100644 --- a/src/tm_devices/commands/_6xiuc2_smu/smu.py +++ b/src/tm_devices/commands/_6xiuc2_smu/smu.py @@ -1012,7 +1012,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1044,7 +1046,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2783,7 +2787,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2823,7 +2829,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3002,7 +3010,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3036,7 +3046,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3437,7 +3449,9 @@ def once(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.once()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.once()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.once()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3975,7 +3989,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4007,7 +4023,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4064,7 +4082,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4097,7 +4117,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4335,7 +4357,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4368,7 +4392,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5187,7 +5213,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_6xiuc2_smu/upgrade.py b/src/tm_devices/commands/_6xiuc2_smu/upgrade.py index d952f247..8ab71c89 100644 --- a/src/tm_devices/commands/_6xiuc2_smu/upgrade.py +++ b/src/tm_devices/commands/_6xiuc2_smu/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7kqm9p_smu/buffervar.py b/src/tm_devices/commands/_7kqm9p_smu/buffervar.py index 8c9fe3e9..45311aba 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/buffervar.py +++ b/src/tm_devices/commands/_7kqm9p_smu/buffervar.py @@ -1,5 +1,6 @@ # ruff: noqa: D402,PLR0913 # pyright: reportConstantRedefinition=none +# pylint: disable=too-many-lines """The buffervar commands module. These commands are used in the following models: @@ -621,7 +622,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -993,7 +996,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7kqm9p_smu/display.py b/src/tm_devices/commands/_7kqm9p_smu/display.py index a12e1e77..f0a979f9 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/display.py +++ b/src/tm_devices/commands/_7kqm9p_smu/display.py @@ -621,7 +621,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7kqm9p_smu/tsplink.py b/src/tm_devices/commands/_7kqm9p_smu/tsplink.py index 972953bf..368c5f6c 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/tsplink.py +++ b/src/tm_devices/commands/_7kqm9p_smu/tsplink.py @@ -77,7 +77,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -113,7 +115,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -211,7 +215,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -390,7 +396,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -422,7 +430,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -531,7 +541,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7kqm9p_smu/tspnet.py b/src/tm_devices/commands/_7kqm9p_smu/tspnet.py index 15133659..e3c93e2f 100644 --- a/src/tm_devices/commands/_7kqm9p_smu/tspnet.py +++ b/src/tm_devices/commands/_7kqm9p_smu/tspnet.py @@ -593,7 +593,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7ryhce_smu/status.py b/src/tm_devices/commands/_7ryhce_smu/status.py index 63d1b821..d314e743 100644 --- a/src/tm_devices/commands/_7ryhce_smu/status.py +++ b/src/tm_devices/commands/_7ryhce_smu/status.py @@ -399,7 +399,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -433,7 +435,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -464,7 +468,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -498,7 +504,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -674,7 +682,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -708,7 +718,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -739,7 +751,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -773,7 +787,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -949,7 +965,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -983,7 +1001,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1014,7 +1034,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1048,7 +1070,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1224,7 +1248,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1258,7 +1284,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1289,7 +1317,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1323,7 +1353,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1499,7 +1531,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1533,7 +1567,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1564,7 +1600,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1598,7 +1636,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1826,7 +1866,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1859,7 +1901,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1889,7 +1933,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1922,7 +1968,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2105,7 +2153,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2139,7 +2189,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2170,7 +2222,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2204,7 +2258,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2385,7 +2441,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2419,7 +2477,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2450,7 +2510,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2484,7 +2546,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2723,7 +2787,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2761,7 +2827,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2796,7 +2864,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2834,7 +2904,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3024,7 +3096,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3058,7 +3132,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3089,7 +3165,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3123,7 +3201,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3335,7 +3415,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3369,7 +3451,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3400,7 +3484,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3434,7 +3520,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3692,7 +3780,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3725,7 +3815,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3774,7 +3866,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3807,7 +3901,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4081,7 +4177,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4114,7 +4212,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4144,7 +4244,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4177,7 +4279,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4380,7 +4484,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4414,7 +4520,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4445,7 +4553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4479,7 +4589,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4659,7 +4771,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4692,7 +4806,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4722,7 +4838,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4755,7 +4873,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4939,7 +5059,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4972,7 +5094,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5002,7 +5126,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5035,7 +5161,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5217,7 +5345,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5250,7 +5380,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5280,7 +5412,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5313,7 +5447,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5491,7 +5627,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5526,7 +5664,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5558,7 +5698,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5593,7 +5735,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5778,7 +5922,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5813,7 +5959,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5845,7 +5993,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5880,7 +6030,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6106,7 +6258,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6140,7 +6294,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6171,7 +6327,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6205,7 +6363,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6396,7 +6556,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6430,7 +6592,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6461,7 +6625,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6495,7 +6661,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6738,7 +6906,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6772,7 +6942,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6803,7 +6975,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6837,7 +7011,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7028,7 +7204,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7062,7 +7240,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7093,7 +7273,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7127,7 +7309,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7368,7 +7552,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7402,7 +7588,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7433,7 +7621,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7467,7 +7657,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7720,7 +7912,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7758,7 +7952,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7793,7 +7989,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7831,7 +8029,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8070,7 +8270,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8104,7 +8306,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8135,7 +8339,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8169,7 +8375,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8374,7 +8582,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8408,7 +8618,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8439,7 +8651,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8473,7 +8687,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8683,7 +8899,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8718,7 +8936,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8750,7 +8970,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8785,7 +9007,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8981,7 +9205,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9016,7 +9242,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9048,7 +9276,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9083,7 +9313,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9371,7 +9603,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9405,7 +9639,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9436,7 +9672,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9470,7 +9708,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9740,7 +9980,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9774,7 +10016,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9805,7 +10049,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9839,7 +10085,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10158,7 +10406,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10191,7 +10441,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10221,7 +10473,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10254,7 +10508,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10533,7 +10789,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10567,7 +10825,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10598,7 +10858,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10632,7 +10894,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10813,7 +11077,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10847,7 +11113,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10878,7 +11146,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10912,7 +11182,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11162,7 +11434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11201,7 +11475,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11237,7 +11513,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11276,7 +11554,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11471,7 +11751,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11506,7 +11788,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11538,7 +11822,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11573,7 +11859,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11784,7 +12072,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11818,7 +12108,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11849,7 +12141,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11883,7 +12177,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12072,7 +12368,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12106,7 +12404,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12137,7 +12437,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12171,7 +12473,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12469,7 +12773,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12502,7 +12808,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12532,7 +12840,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12565,7 +12875,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13173,7 +13485,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s2p1p_smu/display.py b/src/tm_devices/commands/_7s2p1p_smu/display.py index 32780da0..ccd6be87 100644 --- a/src/tm_devices/commands/_7s2p1p_smu/display.py +++ b/src/tm_devices/commands/_7s2p1p_smu/display.py @@ -79,7 +79,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -112,7 +114,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -150,7 +154,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -183,7 +189,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s2p1p_smu/serial.py b/src/tm_devices/commands/_7s2p1p_smu/serial.py index b7e97f87..fdbf5ccf 100644 --- a/src/tm_devices/commands/_7s2p1p_smu/serial.py +++ b/src/tm_devices/commands/_7s2p1p_smu/serial.py @@ -61,7 +61,9 @@ def baud(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".baud" - return self._device.query(f"print({self._cmd_syntax}.baud)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.baud)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.baud`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -93,7 +95,9 @@ def baud(self, value: Union[str, float]) -> None: self._cmd_syntax + ".baud", value ) else: - self._device.write(f"{self._cmd_syntax}.baud = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.baud = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.baud`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s2p1p_smu/smux.py b/src/tm_devices/commands/_7s2p1p_smu/smux.py index 49f86ac5..b0059196 100644 --- a/src/tm_devices/commands/_7s2p1p_smu/smux.py +++ b/src/tm_devices/commands/_7s2p1p_smu/smux.py @@ -671,7 +671,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -847,7 +849,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -900,7 +904,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -925,7 +931,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -950,7 +958,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -971,7 +981,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1213,7 +1225,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1380,7 +1394,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1670,7 +1686,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1963,7 +1981,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1995,7 +2015,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3088,7 +3110,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3120,7 +3144,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4548,7 +4574,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4582,7 +4610,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5341,7 +5371,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5374,7 +5406,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6216,7 +6250,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6240,7 +6276,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6353,7 +6391,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6385,7 +6425,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6414,7 +6456,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6446,7 +6490,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6495,7 +6541,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6612,7 +6660,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6661,7 +6711,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6685,7 +6737,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7314,7 +7368,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7515,7 +7571,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7540,7 +7598,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s2p1p_smu/status.py b/src/tm_devices/commands/_7s2p1p_smu/status.py index e06bba92..05e35320 100644 --- a/src/tm_devices/commands/_7s2p1p_smu/status.py +++ b/src/tm_devices/commands/_7s2p1p_smu/status.py @@ -699,7 +699,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -733,7 +735,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -764,7 +768,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -798,7 +804,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -976,7 +984,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1010,7 +1020,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1041,7 +1053,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1075,7 +1089,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1294,7 +1310,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1328,7 +1346,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1359,7 +1379,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1393,7 +1415,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1579,7 +1603,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1613,7 +1639,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1644,7 +1672,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1678,7 +1708,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1886,7 +1918,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1920,7 +1954,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1951,7 +1987,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1985,7 +2023,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2238,7 +2278,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2271,7 +2313,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2318,7 +2362,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2351,7 +2397,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2633,7 +2681,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2667,7 +2717,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2698,7 +2750,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2732,7 +2786,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2909,7 +2965,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2942,7 +3000,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2972,7 +3032,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3005,7 +3067,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3205,7 +3269,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3238,7 +3304,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3268,7 +3336,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3301,7 +3371,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4150,7 +4222,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4184,7 +4258,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4215,7 +4291,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4249,7 +4327,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4499,7 +4579,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4533,7 +4615,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4564,7 +4648,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4598,7 +4684,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5022,7 +5110,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5056,7 +5146,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5087,7 +5179,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5121,7 +5215,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5299,7 +5395,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5333,7 +5431,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5364,7 +5464,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5398,7 +5500,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5575,7 +5679,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5610,7 +5716,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5642,7 +5750,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5677,7 +5787,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5907,7 +6019,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5942,7 +6056,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5974,7 +6090,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6009,7 +6127,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6200,7 +6320,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6235,7 +6357,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6267,7 +6391,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6302,7 +6428,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6510,7 +6638,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6544,7 +6674,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6575,7 +6707,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6609,7 +6743,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6791,7 +6927,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6825,7 +6963,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6856,7 +6996,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6890,7 +7032,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7184,7 +7328,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7217,7 +7363,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7260,7 +7408,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7293,7 +7443,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s43m8_smu/status.py b/src/tm_devices/commands/_7s43m8_smu/status.py index 2e52f1ca..79c673f8 100644 --- a/src/tm_devices/commands/_7s43m8_smu/status.py +++ b/src/tm_devices/commands/_7s43m8_smu/status.py @@ -434,7 +434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -468,7 +470,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -499,7 +503,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -533,7 +539,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -776,7 +784,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -810,7 +820,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +853,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -875,7 +889,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1118,7 +1134,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1152,7 +1170,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1183,7 +1203,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1217,7 +1239,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1460,7 +1484,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1494,7 +1520,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1525,7 +1553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1559,7 +1589,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1802,7 +1834,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1836,7 +1870,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1867,7 +1903,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1901,7 +1939,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2129,7 +2169,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2162,7 +2204,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2192,7 +2236,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2225,7 +2271,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2408,7 +2456,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2442,7 +2492,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2473,7 +2525,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2507,7 +2561,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2688,7 +2744,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2722,7 +2780,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2753,7 +2813,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2787,7 +2849,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3026,7 +3090,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3064,7 +3130,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3099,7 +3167,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3137,7 +3207,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3327,7 +3399,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3361,7 +3435,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3392,7 +3468,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3426,7 +3504,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3638,7 +3718,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3672,7 +3754,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3703,7 +3787,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3737,7 +3823,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3995,7 +4083,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4028,7 +4118,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4077,7 +4169,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4110,7 +4204,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4384,7 +4480,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4417,7 +4515,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4447,7 +4547,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4480,7 +4582,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4695,7 +4799,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4729,7 +4835,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4760,7 +4868,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4794,7 +4904,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4974,7 +5086,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5007,7 +5121,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5037,7 +5153,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5070,7 +5188,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5254,7 +5374,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5287,7 +5409,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5317,7 +5441,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5350,7 +5476,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5532,7 +5660,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5565,7 +5695,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5595,7 +5727,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5628,7 +5762,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5821,7 +5957,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5856,7 +5994,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5888,7 +6028,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5923,7 +6065,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6119,7 +6263,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6154,7 +6300,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6186,7 +6334,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6221,7 +6371,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6455,7 +6607,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6489,7 +6643,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6520,7 +6676,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6554,7 +6712,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6745,7 +6905,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6779,7 +6941,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6810,7 +6974,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6844,7 +7010,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7087,7 +7255,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7121,7 +7291,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7152,7 +7324,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7186,7 +7360,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7377,7 +7553,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7411,7 +7589,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7442,7 +7622,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7476,7 +7658,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7717,7 +7901,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7751,7 +7937,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7782,7 +7970,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7816,7 +8006,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8069,7 +8261,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8107,7 +8301,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8142,7 +8338,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8180,7 +8378,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8419,7 +8619,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8453,7 +8655,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8484,7 +8688,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8518,7 +8724,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8723,7 +8931,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8757,7 +8967,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8788,7 +9000,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8822,7 +9036,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9091,7 +9307,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9126,7 +9344,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9158,7 +9378,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9193,7 +9415,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9389,7 +9613,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9424,7 +9650,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9456,7 +9684,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9491,7 +9721,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9821,7 +10053,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9855,7 +10089,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9886,7 +10122,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9920,7 +10158,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10196,7 +10436,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10230,7 +10472,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10261,7 +10505,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10295,7 +10541,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10620,7 +10868,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10653,7 +10903,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10683,7 +10935,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10716,7 +10970,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11001,7 +11257,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11035,7 +11293,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11066,7 +11326,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11100,7 +11362,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11281,7 +11545,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11315,7 +11581,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11346,7 +11614,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11380,7 +11650,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11630,7 +11902,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11669,7 +11943,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11705,7 +11981,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11744,7 +12022,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11939,7 +12219,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11974,7 +12256,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12006,7 +12290,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12041,7 +12327,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12252,7 +12540,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12286,7 +12576,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12317,7 +12609,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12351,7 +12645,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12540,7 +12836,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12574,7 +12872,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12605,7 +12905,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12639,7 +12941,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12937,7 +13241,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12970,7 +13276,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13000,7 +13308,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13033,7 +13343,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13802,7 +14114,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_7s6wr5_smu/status.py b/src/tm_devices/commands/_7s6wr5_smu/status.py index e89e057b..3b8563d7 100644 --- a/src/tm_devices/commands/_7s6wr5_smu/status.py +++ b/src/tm_devices/commands/_7s6wr5_smu/status.py @@ -434,7 +434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -468,7 +470,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -499,7 +503,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -533,7 +539,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -776,7 +784,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -810,7 +820,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +853,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -875,7 +889,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1118,7 +1134,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1152,7 +1170,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1183,7 +1203,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1217,7 +1239,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1460,7 +1484,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1494,7 +1520,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1525,7 +1553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1559,7 +1589,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1802,7 +1834,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1836,7 +1870,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1867,7 +1903,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1901,7 +1939,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2129,7 +2169,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2162,7 +2204,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2192,7 +2236,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2225,7 +2271,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2397,7 +2445,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2431,7 +2481,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2462,7 +2514,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2496,7 +2550,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2668,7 +2724,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2702,7 +2760,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2733,7 +2793,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2767,7 +2829,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3006,7 +3070,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3044,7 +3110,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3079,7 +3147,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3117,7 +3187,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3303,7 +3375,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3337,7 +3411,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3368,7 +3444,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3402,7 +3480,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3610,7 +3690,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3644,7 +3726,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3675,7 +3759,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3709,7 +3795,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3938,7 +4026,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3971,7 +4061,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4014,7 +4106,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4047,7 +4141,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4267,7 +4363,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4300,7 +4398,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4330,7 +4430,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4363,7 +4465,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4574,7 +4678,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4608,7 +4714,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4639,7 +4747,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4673,7 +4783,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4850,7 +4962,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4883,7 +4997,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4913,7 +5029,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4946,7 +5064,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5130,7 +5250,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5163,7 +5285,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5193,7 +5317,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5226,7 +5352,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5404,7 +5532,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5437,7 +5567,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5467,7 +5599,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5500,7 +5634,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5693,7 +5829,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5728,7 +5866,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5760,7 +5900,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5795,7 +5937,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5991,7 +6135,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6026,7 +6172,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6058,7 +6206,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6093,7 +6243,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6327,7 +6479,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6361,7 +6515,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6392,7 +6548,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6426,7 +6584,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6617,7 +6777,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6651,7 +6813,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6682,7 +6846,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6716,7 +6882,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6959,7 +7127,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6993,7 +7163,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7024,7 +7196,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7058,7 +7232,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7249,7 +7425,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7283,7 +7461,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7314,7 +7494,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7348,7 +7530,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7589,7 +7773,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7623,7 +7809,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7654,7 +7842,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7688,7 +7878,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7941,7 +8133,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7979,7 +8173,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8014,7 +8210,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8052,7 +8250,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8291,7 +8491,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8325,7 +8527,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8356,7 +8560,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8390,7 +8596,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8595,7 +8803,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8629,7 +8839,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8660,7 +8872,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8694,7 +8908,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8963,7 +9179,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8998,7 +9216,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9030,7 +9250,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9065,7 +9287,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9261,7 +9485,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9296,7 +9522,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9328,7 +9556,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9363,7 +9593,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9689,7 +9921,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9723,7 +9957,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9754,7 +9990,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9788,7 +10026,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10061,7 +10301,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10095,7 +10337,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10126,7 +10370,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10160,7 +10406,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10480,7 +10728,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10513,7 +10763,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10543,7 +10795,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10576,7 +10830,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10837,7 +11093,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10871,7 +11129,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10902,7 +11162,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10936,7 +11198,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11114,7 +11378,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11148,7 +11414,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11179,7 +11447,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11213,7 +11483,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11463,7 +11735,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11502,7 +11776,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11538,7 +11814,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11577,7 +11855,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11768,7 +12048,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11803,7 +12085,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11835,7 +12119,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11870,7 +12156,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12078,7 +12366,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12112,7 +12402,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12143,7 +12435,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12177,7 +12471,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12359,7 +12655,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12393,7 +12691,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12424,7 +12724,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12458,7 +12760,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12750,7 +13054,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12783,7 +13089,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12813,7 +13121,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12846,7 +13156,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13600,7 +13912,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_8ojdkz_smu/display.py b/src/tm_devices/commands/_8ojdkz_smu/display.py index 68a78831..a6cd45bf 100644 --- a/src/tm_devices/commands/_8ojdkz_smu/display.py +++ b/src/tm_devices/commands/_8ojdkz_smu/display.py @@ -112,7 +112,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -179,7 +181,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -212,7 +216,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -259,7 +265,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -297,7 +305,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1035,7 +1045,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1393,7 +1405,9 @@ def settext(self, text: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.settext("{text}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.settext("{text}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.settext()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_8ojdkz_smu/smux.py b/src/tm_devices/commands/_8ojdkz_smu/smux.py index 6a33f262..8de5ed26 100644 --- a/src/tm_devices/commands/_8ojdkz_smu/smux.py +++ b/src/tm_devices/commands/_8ojdkz_smu/smux.py @@ -630,7 +630,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -826,7 +828,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -879,7 +883,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -904,7 +910,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -929,7 +937,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -954,7 +964,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1232,7 +1244,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1423,7 +1437,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1754,7 +1770,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2083,7 +2101,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2119,7 +2139,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4290,7 +4312,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4328,7 +4352,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5176,7 +5202,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5212,7 +5240,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6023,7 +6053,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6051,7 +6083,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6180,7 +6214,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6216,7 +6252,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6249,7 +6287,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6285,7 +6325,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6340,7 +6382,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6471,7 +6515,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6524,7 +6570,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6548,7 +6596,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7203,7 +7253,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7408,7 +7460,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7433,7 +7487,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_8ojdkz_smu/status.py b/src/tm_devices/commands/_8ojdkz_smu/status.py index 9bc319bd..6fe82268 100644 --- a/src/tm_devices/commands/_8ojdkz_smu/status.py +++ b/src/tm_devices/commands/_8ojdkz_smu/status.py @@ -429,7 +429,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -462,7 +464,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -492,7 +496,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -525,7 +531,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -763,7 +771,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -796,7 +806,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -826,7 +838,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -859,7 +873,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1097,7 +1113,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1130,7 +1148,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1160,7 +1180,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1193,7 +1215,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1431,7 +1455,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1464,7 +1490,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1494,7 +1522,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1527,7 +1557,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1765,7 +1797,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1798,7 +1832,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1828,7 +1864,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1861,7 +1899,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2089,7 +2129,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2122,7 +2164,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2152,7 +2196,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2185,7 +2231,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2368,7 +2416,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2402,7 +2452,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2433,7 +2485,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2467,7 +2521,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2648,7 +2704,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2682,7 +2740,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2713,7 +2773,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2747,7 +2809,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2966,7 +3030,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3000,7 +3066,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3031,7 +3099,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3065,7 +3135,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3255,7 +3327,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3289,7 +3363,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3320,7 +3396,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3354,7 +3432,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3566,7 +3646,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3600,7 +3682,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3631,7 +3715,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3665,7 +3751,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3923,7 +4011,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3956,7 +4046,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4005,7 +4097,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4038,7 +4132,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4312,7 +4408,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4345,7 +4443,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4375,7 +4475,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4408,7 +4510,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4623,7 +4727,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4657,7 +4763,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4688,7 +4796,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4722,7 +4832,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4902,7 +5014,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4935,7 +5049,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4965,7 +5081,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4998,7 +5116,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5182,7 +5302,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5215,7 +5337,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5245,7 +5369,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5278,7 +5404,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5460,7 +5588,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5493,7 +5623,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5523,7 +5655,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5556,7 +5690,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5744,7 +5880,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5778,7 +5916,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5809,7 +5949,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5843,7 +5985,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6034,7 +6178,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6068,7 +6214,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6099,7 +6247,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6133,7 +6283,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6367,7 +6519,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6401,7 +6555,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6432,7 +6588,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6466,7 +6624,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6657,7 +6817,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6691,7 +6853,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6722,7 +6886,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6756,7 +6922,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6999,7 +7167,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7033,7 +7203,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7064,7 +7236,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7098,7 +7272,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7289,7 +7465,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7323,7 +7501,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7354,7 +7534,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7388,7 +7570,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7629,7 +7813,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7663,7 +7849,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7694,7 +7882,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7728,7 +7918,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7981,7 +8173,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8019,7 +8213,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8054,7 +8250,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8092,7 +8290,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8331,7 +8531,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8365,7 +8567,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8396,7 +8600,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8430,7 +8636,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8635,7 +8843,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8669,7 +8879,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8700,7 +8912,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8734,7 +8948,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8998,7 +9214,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9032,7 +9250,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9063,7 +9283,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9097,7 +9319,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9288,7 +9512,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9322,7 +9548,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9353,7 +9581,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9387,7 +9617,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9717,7 +9949,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9751,7 +9985,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9782,7 +10018,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9816,7 +10054,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10092,7 +10332,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10126,7 +10368,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10157,7 +10401,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10191,7 +10437,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10516,7 +10764,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10549,7 +10799,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10579,7 +10831,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10612,7 +10866,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10897,7 +11153,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10931,7 +11189,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10962,7 +11222,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10996,7 +11258,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11177,7 +11441,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11211,7 +11477,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11242,7 +11510,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11276,7 +11546,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11506,7 +11778,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11541,7 +11815,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11573,7 +11849,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11608,7 +11886,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11803,7 +12083,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11838,7 +12120,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11870,7 +12154,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11905,7 +12191,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12116,7 +12404,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12150,7 +12440,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12181,7 +12473,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12215,7 +12509,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12404,7 +12700,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12438,7 +12736,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12469,7 +12769,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12503,7 +12805,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12801,7 +13105,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12834,7 +13140,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12864,7 +13172,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12897,7 +13207,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13664,7 +13976,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_8wm55i_smu/smux.py b/src/tm_devices/commands/_8wm55i_smu/smux.py index 507d2ac7..33d7e308 100644 --- a/src/tm_devices/commands/_8wm55i_smu/smux.py +++ b/src/tm_devices/commands/_8wm55i_smu/smux.py @@ -632,7 +632,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -828,7 +830,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -881,7 +885,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -906,7 +912,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -931,7 +939,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -956,7 +966,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1234,7 +1246,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1425,7 +1439,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1756,7 +1772,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2086,7 +2104,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2122,7 +2142,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3418,7 +3440,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3454,7 +3478,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4362,7 +4388,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4400,7 +4428,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5326,7 +5356,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5362,7 +5394,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6180,7 +6214,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6209,7 +6245,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6338,7 +6376,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6374,7 +6414,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6407,7 +6449,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6443,7 +6487,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6498,7 +6544,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6629,7 +6677,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6682,7 +6732,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6706,7 +6758,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7363,7 +7417,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7568,7 +7624,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7593,7 +7651,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9kezla_smu/smux.py b/src/tm_devices/commands/_9kezla_smu/smux.py index bee5c289..2ebc0c16 100644 --- a/src/tm_devices/commands/_9kezla_smu/smux.py +++ b/src/tm_devices/commands/_9kezla_smu/smux.py @@ -632,7 +632,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -828,7 +830,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -881,7 +885,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -906,7 +912,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -931,7 +939,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -956,7 +966,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1234,7 +1246,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1425,7 +1439,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1756,7 +1772,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2086,7 +2104,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2122,7 +2142,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3418,7 +3440,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3454,7 +3478,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4362,7 +4388,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4400,7 +4428,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5326,7 +5356,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5362,7 +5394,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6180,7 +6214,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6209,7 +6245,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6338,7 +6376,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6374,7 +6414,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6407,7 +6449,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6443,7 +6487,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6498,7 +6544,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6629,7 +6677,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6682,7 +6732,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6706,7 +6758,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7353,7 +7407,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7558,7 +7614,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7583,7 +7641,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9mzp2j_smu/digio.py b/src/tm_devices/commands/_9mzp2j_smu/digio.py index a6de6eeb..37fa0730 100644 --- a/src/tm_devices/commands/_9mzp2j_smu/digio.py +++ b/src/tm_devices/commands/_9mzp2j_smu/digio.py @@ -102,7 +102,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -140,7 +142,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -350,7 +354,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -375,7 +381,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -400,7 +408,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -425,7 +435,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -676,7 +688,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9mzp2j_smu/display.py b/src/tm_devices/commands/_9mzp2j_smu/display.py index a6e4ac67..6537f9e5 100644 --- a/src/tm_devices/commands/_9mzp2j_smu/display.py +++ b/src/tm_devices/commands/_9mzp2j_smu/display.py @@ -112,7 +112,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -187,7 +189,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -224,7 +228,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -271,7 +277,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -309,7 +317,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1043,7 +1053,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1400,7 +1412,9 @@ def settext(self, text: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.settext("{text}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.settext("{text}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.settext()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9mzp2j_smu/tsplink.py b/src/tm_devices/commands/_9mzp2j_smu/tsplink.py index d48a4d9b..b8e9947e 100644 --- a/src/tm_devices/commands/_9mzp2j_smu/tsplink.py +++ b/src/tm_devices/commands/_9mzp2j_smu/tsplink.py @@ -106,7 +106,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -143,7 +145,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -353,7 +357,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -378,7 +384,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -403,7 +411,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -428,7 +438,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -609,7 +621,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -642,7 +656,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -907,7 +923,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9ncc6e_smu/display.py b/src/tm_devices/commands/_9ncc6e_smu/display.py index f93fdab7..5eea3dee 100644 --- a/src/tm_devices/commands/_9ncc6e_smu/display.py +++ b/src/tm_devices/commands/_9ncc6e_smu/display.py @@ -112,7 +112,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -187,7 +189,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -224,7 +228,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -271,7 +277,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -309,7 +317,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -944,7 +954,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1301,7 +1313,9 @@ def settext(self, text: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.settext("{text}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.settext("{text}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.settext()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9nnkq7_smu/status.py b/src/tm_devices/commands/_9nnkq7_smu/status.py index cffc3a9d..ebee087a 100644 --- a/src/tm_devices/commands/_9nnkq7_smu/status.py +++ b/src/tm_devices/commands/_9nnkq7_smu/status.py @@ -399,7 +399,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -433,7 +435,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -464,7 +468,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -498,7 +504,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -674,7 +682,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -708,7 +718,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -739,7 +751,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -773,7 +787,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -949,7 +965,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -983,7 +1001,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1014,7 +1034,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1048,7 +1070,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1224,7 +1248,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1258,7 +1284,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1289,7 +1317,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1323,7 +1353,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1499,7 +1531,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1533,7 +1567,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1564,7 +1600,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1598,7 +1636,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1826,7 +1866,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1859,7 +1901,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1889,7 +1933,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1922,7 +1968,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2105,7 +2153,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2139,7 +2189,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2170,7 +2222,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2204,7 +2258,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2385,7 +2441,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2419,7 +2477,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2450,7 +2510,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2484,7 +2546,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2723,7 +2787,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2761,7 +2827,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2796,7 +2864,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2834,7 +2904,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3024,7 +3096,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3058,7 +3132,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3089,7 +3165,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3123,7 +3201,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3335,7 +3415,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3369,7 +3451,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3400,7 +3484,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3434,7 +3520,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3698,7 +3786,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3731,7 +3821,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3780,7 +3872,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3813,7 +3907,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4087,7 +4183,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4120,7 +4218,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4150,7 +4250,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4183,7 +4285,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4386,7 +4490,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4420,7 +4526,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4451,7 +4559,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4485,7 +4595,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4665,7 +4777,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4698,7 +4812,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4728,7 +4844,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4761,7 +4879,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4945,7 +5065,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4978,7 +5100,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5008,7 +5132,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5041,7 +5167,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5223,7 +5351,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5256,7 +5386,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5286,7 +5418,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5319,7 +5453,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5497,7 +5633,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5532,7 +5670,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5564,7 +5704,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5599,7 +5741,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5784,7 +5928,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5819,7 +5965,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5851,7 +5999,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5886,7 +6036,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6112,7 +6264,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6146,7 +6300,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6177,7 +6333,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6211,7 +6369,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6402,7 +6562,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6436,7 +6598,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6467,7 +6631,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6501,7 +6667,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6744,7 +6912,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6778,7 +6948,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6809,7 +6981,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6843,7 +7017,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7034,7 +7210,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7068,7 +7246,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7099,7 +7279,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7133,7 +7315,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7374,7 +7558,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7408,7 +7594,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7439,7 +7627,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7473,7 +7663,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7726,7 +7918,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7764,7 +7958,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7799,7 +7995,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7837,7 +8035,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8076,7 +8276,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8110,7 +8312,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8141,7 +8345,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8175,7 +8381,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8380,7 +8588,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8414,7 +8624,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8445,7 +8657,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8479,7 +8693,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8689,7 +8905,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8724,7 +8942,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8756,7 +8976,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8791,7 +9013,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8987,7 +9211,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9022,7 +9248,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9054,7 +9282,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9089,7 +9319,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9377,7 +9609,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9411,7 +9645,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9442,7 +9678,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9476,7 +9714,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9746,7 +9986,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9780,7 +10022,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9811,7 +10055,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9845,7 +10091,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10164,7 +10412,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10197,7 +10447,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10227,7 +10479,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10260,7 +10514,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10539,7 +10795,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10573,7 +10831,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10604,7 +10864,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10638,7 +10900,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10819,7 +11083,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10853,7 +11119,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10884,7 +11152,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10918,7 +11188,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11168,7 +11440,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11207,7 +11481,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11243,7 +11519,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11282,7 +11560,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11477,7 +11757,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11512,7 +11794,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11544,7 +11828,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11579,7 +11865,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11790,7 +12078,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11824,7 +12114,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11855,7 +12147,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11889,7 +12183,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12078,7 +12374,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12112,7 +12410,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12143,7 +12443,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12177,7 +12479,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12475,7 +12779,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12508,7 +12814,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12538,7 +12846,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12571,7 +12881,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13183,7 +13495,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_9slyux_smu/status.py b/src/tm_devices/commands/_9slyux_smu/status.py index 1bef2fec..d8828e7b 100644 --- a/src/tm_devices/commands/_9slyux_smu/status.py +++ b/src/tm_devices/commands/_9slyux_smu/status.py @@ -434,7 +434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -468,7 +470,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -499,7 +503,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -533,7 +539,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -776,7 +784,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -810,7 +820,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +853,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -875,7 +889,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1118,7 +1134,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1152,7 +1170,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1183,7 +1203,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1217,7 +1239,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1460,7 +1484,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1494,7 +1520,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1525,7 +1553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1559,7 +1589,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1802,7 +1834,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1836,7 +1870,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1867,7 +1903,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1901,7 +1939,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2129,7 +2169,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2162,7 +2204,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2192,7 +2236,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2225,7 +2271,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2397,7 +2445,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2431,7 +2481,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2462,7 +2514,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2496,7 +2550,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2668,7 +2724,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2702,7 +2760,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2733,7 +2793,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2767,7 +2829,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3006,7 +3070,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3044,7 +3110,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3079,7 +3147,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3117,7 +3187,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3303,7 +3375,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3337,7 +3411,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3368,7 +3444,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3402,7 +3480,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3610,7 +3690,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3644,7 +3726,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3675,7 +3759,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3709,7 +3795,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3944,7 +4032,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3977,7 +4067,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4020,7 +4112,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4053,7 +4147,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4273,7 +4369,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4306,7 +4404,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4336,7 +4436,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4369,7 +4471,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4580,7 +4684,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4614,7 +4720,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4645,7 +4753,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4679,7 +4789,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4856,7 +4968,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4889,7 +5003,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4919,7 +5035,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4952,7 +5070,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5136,7 +5256,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5169,7 +5291,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5199,7 +5323,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5232,7 +5358,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5410,7 +5538,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5443,7 +5573,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5473,7 +5605,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5506,7 +5640,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5699,7 +5835,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5734,7 +5872,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5766,7 +5906,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5801,7 +5943,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5997,7 +6141,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6032,7 +6178,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6064,7 +6212,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6099,7 +6249,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6333,7 +6485,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6367,7 +6521,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6398,7 +6554,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6432,7 +6590,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6623,7 +6783,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6657,7 +6819,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6688,7 +6852,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6722,7 +6888,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6965,7 +7133,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6999,7 +7169,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7030,7 +7202,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7064,7 +7238,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7255,7 +7431,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7289,7 +7467,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7320,7 +7500,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7354,7 +7536,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7595,7 +7779,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7629,7 +7815,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7660,7 +7848,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7694,7 +7884,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7947,7 +8139,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7985,7 +8179,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8020,7 +8216,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8058,7 +8256,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8297,7 +8497,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8331,7 +8533,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8362,7 +8566,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8396,7 +8602,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8601,7 +8809,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8635,7 +8845,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8666,7 +8878,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8700,7 +8914,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8969,7 +9185,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9004,7 +9222,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9036,7 +9256,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9071,7 +9293,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9267,7 +9491,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9302,7 +9528,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9334,7 +9562,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9369,7 +9599,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9695,7 +9927,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9729,7 +9963,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9760,7 +9996,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9794,7 +10032,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10067,7 +10307,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10101,7 +10343,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10132,7 +10376,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10166,7 +10412,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10486,7 +10734,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10519,7 +10769,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10549,7 +10801,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10582,7 +10836,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10843,7 +11099,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10877,7 +11135,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10908,7 +11168,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10942,7 +11204,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11120,7 +11384,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11154,7 +11420,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11185,7 +11453,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11219,7 +11489,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11469,7 +11741,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11508,7 +11782,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11544,7 +11820,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11583,7 +11861,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11774,7 +12054,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11809,7 +12091,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11841,7 +12125,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11876,7 +12162,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12084,7 +12372,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12118,7 +12408,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12149,7 +12441,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12183,7 +12477,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12365,7 +12661,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12399,7 +12697,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12430,7 +12730,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12464,7 +12766,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12756,7 +13060,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12789,7 +13095,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12819,7 +13127,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12852,7 +13162,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13610,7 +13922,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/__init__.py b/src/tm_devices/commands/__init__.py index 8b680010..26ecc7b1 100644 --- a/src/tm_devices/commands/__init__.py +++ b/src/tm_devices/commands/__init__.py @@ -21,7 +21,9 @@ from ._dpo2kb_commands import DPO2KBCommandConstants, DPO2KBCommands, DPO2KBMixin from ._dpo4k_commands import DPO4KCommandConstants, DPO4KCommands, DPO4KMixin from ._dpo4kb_commands import DPO4KBCommandConstants, DPO4KBCommands, DPO4KBMixin +from ._dpo5k_commands import DPO5KCommandConstants, DPO5KCommands, DPO5KMixin from ._dpo5kb_commands import DPO5KBCommandConstants, DPO5KBCommands, DPO5KBMixin +from ._dpo7k_commands import DPO7KCommandConstants, DPO7KCommands, DPO7KMixin from ._dpo7kc_commands import DPO7KCCommandConstants, DPO7KCCommands, DPO7KCMixin from ._dpo70kc_commands import DPO70KCCommandConstants, DPO70KCCommands, DPO70KCMixin from ._dpo70kd_commands import DPO70KDCommandConstants, DPO70KDCommands, DPO70KDMixin @@ -45,6 +47,7 @@ from ._mso4kb_commands import MSO4KBCommandConstants, MSO4KBCommands, MSO4KBMixin from ._mso5_commands import MSO5CommandConstants, MSO5Commands, MSO5Mixin from ._mso5b_commands import MSO5BCommandConstants, MSO5BCommands, MSO5BMixin +from ._mso5k_commands import MSO5KCommandConstants, MSO5KCommands, MSO5KMixin from ._mso5kb_commands import MSO5KBCommandConstants, MSO5KBCommands, MSO5KBMixin from ._mso5lp_commands import MSO5LPCommandConstants, MSO5LPCommands, MSO5LPMixin from ._mso6_commands import MSO6CommandConstants, MSO6Commands, MSO6Mixin @@ -129,6 +132,9 @@ "DPO5KBCommandConstants", "DPO5KBCommands", "DPO5KBMixin", + "DPO5KCommandConstants", + "DPO5KCommands", + "DPO5KMixin", "DPO70KCCommandConstants", "DPO70KCCommands", "DPO70KCMixin", @@ -144,6 +150,9 @@ "DPO7KCCommandConstants", "DPO7KCCommands", "DPO7KCMixin", + "DPO7KCommandConstants", + "DPO7KCommands", + "DPO7KMixin", "DSA70KCCommandConstants", "DSA70KCCommands", "DSA70KCMixin", @@ -197,6 +206,9 @@ "MSO5KBCommandConstants", "MSO5KBCommands", "MSO5KBMixin", + "MSO5KCommandConstants", + "MSO5KCommands", + "MSO5KMixin", "MSO5LPCommandConstants", "MSO5LPCommands", "MSO5LPMixin", diff --git a/src/tm_devices/commands/_afg3k_commands.py b/src/tm_devices/commands/_afg3k_commands.py index 9a1024a0..d057ba55 100644 --- a/src/tm_devices/commands/_afg3k_commands.py +++ b/src/tm_devices/commands/_afg3k_commands.py @@ -28,10 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_afg3kb_commands.py b/src/tm_devices/commands/_afg3kb_commands.py index 02d005c6..4accb864 100644 --- a/src/tm_devices/commands/_afg3kb_commands.py +++ b/src/tm_devices/commands/_afg3kb_commands.py @@ -28,10 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_afg3kc_commands.py b/src/tm_devices/commands/_afg3kc_commands.py index 8629a9bf..6df578d7 100644 --- a/src/tm_devices/commands/_afg3kc_commands.py +++ b/src/tm_devices/commands/_afg3kc_commands.py @@ -28,10 +28,10 @@ from ._22daqs_afg.trigger import Trigger from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/_ahkybr_smu/buffervar.py b/src/tm_devices/commands/_ahkybr_smu/buffervar.py index 52c383a5..9dc0a38c 100644 --- a/src/tm_devices/commands/_ahkybr_smu/buffervar.py +++ b/src/tm_devices/commands/_ahkybr_smu/buffervar.py @@ -726,7 +726,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1026,7 +1028,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1051,7 +1055,9 @@ def clearcache(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clearcache()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clearcache()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clearcache()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/eventlog.py b/src/tm_devices/commands/_ahkybr_smu/eventlog.py index d242d55a..69b02431 100644 --- a/src/tm_devices/commands/_ahkybr_smu/eventlog.py +++ b/src/tm_devices/commands/_ahkybr_smu/eventlog.py @@ -275,7 +275,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/lan.py b/src/tm_devices/commands/_ahkybr_smu/lan.py index 9131abe0..bc8742b2 100644 --- a/src/tm_devices/commands/_ahkybr_smu/lan.py +++ b/src/tm_devices/commands/_ahkybr_smu/lan.py @@ -244,7 +244,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -281,7 +283,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -559,7 +563,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -583,7 +589,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -607,7 +615,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -631,7 +641,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -704,7 +716,9 @@ def dst(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".dst" - return self._device.query(f"print({self._cmd_syntax}.dst)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.dst)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dst`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -869,7 +883,9 @@ def name(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".name" - return self._device.query(f"print({self._cmd_syntax}.name)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.name)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2348,7 +2364,9 @@ def applysettings(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.applysettings()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.applysettings()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.applysettings()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2369,7 +2387,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2390,7 +2410,9 @@ def restoredefaults(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.restoredefaults()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.restoredefaults()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.restoredefaults()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/script.py b/src/tm_devices/commands/_ahkybr_smu/script.py index 312e3f73..cb179083 100644 --- a/src/tm_devices/commands/_ahkybr_smu/script.py +++ b/src/tm_devices/commands/_ahkybr_smu/script.py @@ -234,7 +234,9 @@ def restore(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.restore({name})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.restore({name})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.restore()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -255,7 +257,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/scriptvar.py b/src/tm_devices/commands/_ahkybr_smu/scriptvar.py index d6c1f488..048e2d4d 100644 --- a/src/tm_devices/commands/_ahkybr_smu/scriptvar.py +++ b/src/tm_devices/commands/_ahkybr_smu/scriptvar.py @@ -145,7 +145,9 @@ def name(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".name" - return self._device.query(f"print({self._cmd_syntax}.name)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.name)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -180,7 +182,9 @@ def name(self, value: Union[str, float]) -> None: self._cmd_syntax + ".name", value ) else: - self._device.write(f"{self._cmd_syntax}.name = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.name = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -277,7 +281,9 @@ def list(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.list()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.list()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.list()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -301,7 +307,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/setup_1.py b/src/tm_devices/commands/_ahkybr_smu/setup_1.py index f47cb7c2..b2ef95de 100644 --- a/src/tm_devices/commands/_ahkybr_smu/setup_1.py +++ b/src/tm_devices/commands/_ahkybr_smu/setup_1.py @@ -122,7 +122,9 @@ def recall(self, id_: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.recall({id_})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.recall({id_})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -146,7 +148,9 @@ def save(self, id_: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save({id_})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save({id_})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ahkybr_smu/tspnet.py b/src/tm_devices/commands/_ahkybr_smu/tspnet.py index 949259de..7a733013 100644 --- a/src/tm_devices/commands/_ahkybr_smu/tspnet.py +++ b/src/tm_devices/commands/_ahkybr_smu/tspnet.py @@ -586,7 +586,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_aih9e2_smu/trigger.py b/src/tm_devices/commands/_aih9e2_smu/trigger.py index fe300211..ca3fd5eb 100644 --- a/src/tm_devices/commands/_aih9e2_smu/trigger.py +++ b/src/tm_devices/commands/_aih9e2_smu/trigger.py @@ -1,5 +1,6 @@ # ruff: noqa: D402,PLR0913 # pyright: reportConstantRedefinition=none +# pylint: disable=too-many-lines """The trigger commands module. These commands are used in the following models: @@ -496,7 +497,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -520,7 +523,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -597,7 +602,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -792,7 +799,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -816,7 +825,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -954,7 +965,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ak4990_smu/smux.py b/src/tm_devices/commands/_ak4990_smu/smux.py index 7ef3b610..09de0b6b 100644 --- a/src/tm_devices/commands/_ak4990_smu/smux.py +++ b/src/tm_devices/commands/_ak4990_smu/smux.py @@ -632,7 +632,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -828,7 +830,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -881,7 +885,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -906,7 +912,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -931,7 +939,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -956,7 +966,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1234,7 +1246,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1425,7 +1439,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1756,7 +1772,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2086,7 +2104,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2122,7 +2142,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3418,7 +3440,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3454,7 +3478,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4362,7 +4388,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4400,7 +4428,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5326,7 +5356,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5362,7 +5394,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6180,7 +6214,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6209,7 +6245,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6338,7 +6376,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6374,7 +6414,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6407,7 +6449,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6443,7 +6487,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6498,7 +6544,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6629,7 +6677,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6682,7 +6732,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6706,7 +6758,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7360,7 +7414,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7565,7 +7621,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7590,7 +7648,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_am6pcr_smu/smux.py b/src/tm_devices/commands/_am6pcr_smu/smux.py index dd20348b..4b86f0b7 100644 --- a/src/tm_devices/commands/_am6pcr_smu/smux.py +++ b/src/tm_devices/commands/_am6pcr_smu/smux.py @@ -593,7 +593,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -769,7 +771,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -822,7 +826,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -847,7 +853,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -872,7 +880,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -893,7 +903,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1135,7 +1147,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1302,7 +1316,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1591,7 +1607,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1885,7 +1903,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1917,7 +1937,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3077,7 +3099,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3109,7 +3133,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3925,7 +3951,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3959,7 +3987,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4033,7 +4063,9 @@ def adc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".adc" - return self._device.query(f"print({self._cmd_syntax}.adc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.adc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.adc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4069,7 +4101,9 @@ def adc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".adc", value ) else: - self._device.write(f"{self._cmd_syntax}.adc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.adc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.adc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4787,7 +4821,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4819,7 +4855,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5586,7 +5624,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5610,7 +5650,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5724,7 +5766,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5756,7 +5800,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5785,7 +5831,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5817,7 +5865,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5866,7 +5916,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5983,7 +6035,9 @@ def fastadc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.fastadc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.fastadc()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.fastadc()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6004,7 +6058,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6053,7 +6109,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6077,7 +6135,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6694,7 +6754,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6895,7 +6957,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6920,7 +6984,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_am6pcr_smu/status.py b/src/tm_devices/commands/_am6pcr_smu/status.py index 5bf04671..e2c99e46 100644 --- a/src/tm_devices/commands/_am6pcr_smu/status.py +++ b/src/tm_devices/commands/_am6pcr_smu/status.py @@ -434,7 +434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -467,7 +469,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -497,7 +501,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -530,7 +536,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -768,7 +776,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -801,7 +811,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -831,7 +843,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -864,7 +878,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1102,7 +1118,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1135,7 +1153,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1165,7 +1185,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1198,7 +1220,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1436,7 +1460,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1469,7 +1495,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1499,7 +1527,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1532,7 +1562,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1770,7 +1802,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1803,7 +1837,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1833,7 +1869,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1866,7 +1904,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2094,7 +2134,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2127,7 +2169,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2157,7 +2201,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2190,7 +2236,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2370,7 +2418,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2404,7 +2454,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2435,7 +2487,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2469,7 +2523,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2647,7 +2703,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2681,7 +2739,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2712,7 +2772,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2746,7 +2808,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2965,7 +3029,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2999,7 +3065,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3030,7 +3098,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3064,7 +3134,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3250,7 +3322,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3284,7 +3358,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3315,7 +3391,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3349,7 +3427,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3557,7 +3637,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3591,7 +3673,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3622,7 +3706,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3656,7 +3742,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3909,7 +3997,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3942,7 +4032,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3989,7 +4081,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4022,7 +4116,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4294,7 +4390,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4327,7 +4425,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4357,7 +4457,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4390,7 +4492,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4601,7 +4705,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4635,7 +4741,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4666,7 +4774,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4700,7 +4810,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4877,7 +4989,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4910,7 +5024,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4940,7 +5056,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4973,7 +5091,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5157,7 +5277,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5190,7 +5312,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5220,7 +5344,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5253,7 +5379,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5431,7 +5559,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5464,7 +5594,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5494,7 +5626,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5527,7 +5661,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5715,7 +5851,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5749,7 +5887,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5780,7 +5920,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5814,7 +5956,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6005,7 +6149,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6039,7 +6185,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6070,7 +6218,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6104,7 +6254,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6338,7 +6490,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6372,7 +6526,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6403,7 +6559,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6437,7 +6595,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6628,7 +6788,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6662,7 +6824,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6693,7 +6857,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6727,7 +6893,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6970,7 +7138,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7004,7 +7174,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7035,7 +7207,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7069,7 +7243,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7260,7 +7436,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7294,7 +7472,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7325,7 +7505,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7359,7 +7541,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7600,7 +7784,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7634,7 +7820,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7665,7 +7853,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7699,7 +7889,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7932,7 +8124,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7966,7 +8160,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7997,7 +8193,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8031,7 +8229,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8270,7 +8470,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8304,7 +8506,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8335,7 +8539,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8369,7 +8575,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8574,7 +8782,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8608,7 +8818,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8639,7 +8851,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8673,7 +8887,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8937,7 +9153,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8971,7 +9189,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9002,7 +9222,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9036,7 +9258,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9227,7 +9451,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9261,7 +9487,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9292,7 +9520,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9326,7 +9556,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9652,7 +9884,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9686,7 +9920,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9717,7 +9953,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9751,7 +9989,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10024,7 +10264,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10058,7 +10300,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10089,7 +10333,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10123,7 +10369,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10443,7 +10691,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10476,7 +10726,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10506,7 +10758,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10539,7 +10793,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10817,7 +11073,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10851,7 +11109,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10882,7 +11142,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10916,7 +11178,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11088,7 +11352,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11122,7 +11388,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11153,7 +11421,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11187,7 +11457,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11365,7 +11637,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11399,7 +11673,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11430,7 +11706,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11464,7 +11742,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11694,7 +11974,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11729,7 +12011,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11761,7 +12045,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11796,7 +12082,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11987,7 +12275,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12022,7 +12312,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12054,7 +12346,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12089,7 +12383,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12297,7 +12593,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12331,7 +12629,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12362,7 +12662,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12396,7 +12698,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12578,7 +12882,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12612,7 +12918,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12643,7 +12951,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12677,7 +12987,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12971,7 +13283,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13004,7 +13318,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13034,7 +13350,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13067,7 +13385,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13845,7 +14165,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_amm5lc_smu/digio.py b/src/tm_devices/commands/_amm5lc_smu/digio.py index 8117558a..25444e2d 100644 --- a/src/tm_devices/commands/_amm5lc_smu/digio.py +++ b/src/tm_devices/commands/_amm5lc_smu/digio.py @@ -102,7 +102,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -140,7 +142,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -350,7 +354,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -375,7 +381,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -400,7 +408,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -425,7 +435,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -728,7 +740,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_amm5lc_smu/tsplink.py b/src/tm_devices/commands/_amm5lc_smu/tsplink.py index 504afb4f..a9cc492e 100644 --- a/src/tm_devices/commands/_amm5lc_smu/tsplink.py +++ b/src/tm_devices/commands/_amm5lc_smu/tsplink.py @@ -107,7 +107,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -144,7 +146,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -354,7 +358,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -379,7 +385,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -404,7 +412,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -429,7 +439,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -655,7 +667,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -688,7 +702,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -953,7 +969,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_aostep_smu/serial.py b/src/tm_devices/commands/_aostep_smu/serial.py index a040f240..655e8568 100644 --- a/src/tm_devices/commands/_aostep_smu/serial.py +++ b/src/tm_devices/commands/_aostep_smu/serial.py @@ -86,7 +86,9 @@ def baud(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".baud" - return self._device.query(f"print({self._cmd_syntax}.baud)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.baud)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.baud`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -118,7 +120,9 @@ def baud(self, value: Union[str, float]) -> None: self._cmd_syntax + ".baud", value ) else: - self._device.write(f"{self._cmd_syntax}.baud = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.baud = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.baud`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -372,7 +376,9 @@ def write(self, data: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.write("{data}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.write("{data}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.write()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_aqr1t1_smu/localnode.py b/src/tm_devices/commands/_aqr1t1_smu/localnode.py index 4a409542..bc25a34c 100644 --- a/src/tm_devices/commands/_aqr1t1_smu/localnode.py +++ b/src/tm_devices/commands/_aqr1t1_smu/localnode.py @@ -379,7 +379,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -736,7 +738,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_as1ejq_smu/localnode.py b/src/tm_devices/commands/_as1ejq_smu/localnode.py index 9e92587e..9b19245a 100644 --- a/src/tm_devices/commands/_as1ejq_smu/localnode.py +++ b/src/tm_devices/commands/_as1ejq_smu/localnode.py @@ -308,7 +308,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -665,7 +667,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_as1ejq_smu/smux.py b/src/tm_devices/commands/_as1ejq_smu/smux.py index 23ce4dec..d7c9a338 100644 --- a/src/tm_devices/commands/_as1ejq_smu/smux.py +++ b/src/tm_devices/commands/_as1ejq_smu/smux.py @@ -593,7 +593,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -769,7 +771,9 @@ def i(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.i({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.i({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.i()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -822,7 +826,9 @@ def p(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.p({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.p({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.p()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -847,7 +853,9 @@ def r(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.r({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.r({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -872,7 +880,9 @@ def v(self, rbuffer: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.v({rbuffer})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.v({rbuffer})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.v()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -893,7 +903,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1135,7 +1147,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1302,7 +1316,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1591,7 +1607,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1885,7 +1903,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1917,7 +1937,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3077,7 +3099,9 @@ def sink(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".sink" - return self._device.query(f"print({self._cmd_syntax}.sink)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.sink)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3109,7 +3133,9 @@ def sink(self, value: Union[str, float]) -> None: self._cmd_syntax + ".sink", value ) else: - self._device.write(f"{self._cmd_syntax}.sink = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.sink = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.sink`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3925,7 +3951,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3959,7 +3987,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4032,7 +4062,9 @@ def adc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".adc" - return self._device.query(f"print({self._cmd_syntax}.adc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.adc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.adc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4068,7 +4100,9 @@ def adc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".adc", value ) else: - self._device.write(f"{self._cmd_syntax}.adc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.adc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.adc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4715,7 +4749,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4747,7 +4783,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5514,7 +5552,9 @@ def check(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.check()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.check()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.check()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5538,7 +5578,9 @@ def r(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.r())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.r())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.r()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5653,7 +5695,9 @@ def date(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".date" - return self._device.query(f"print({self._cmd_syntax}.date)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.date)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5685,7 +5729,9 @@ def date(self, value: Union[str, float]) -> None: self._cmd_syntax + ".date", value ) else: - self._device.write(f"{self._cmd_syntax}.date = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.date = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.date`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5714,7 +5760,9 @@ def due(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".due" - return self._device.query(f"print({self._cmd_syntax}.due)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.due)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5746,7 +5794,9 @@ def due(self, value: Union[str, float]) -> None: self._cmd_syntax + ".due", value ) else: - self._device.write(f"{self._cmd_syntax}.due = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.due = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.due`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5795,7 +5845,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5912,7 +5964,9 @@ def fastadc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.fastadc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.fastadc()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.fastadc()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5933,7 +5987,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5954,7 +6010,9 @@ def ovp(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.ovp()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ovp()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.ovp()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6003,7 +6061,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6027,7 +6087,9 @@ def unlock(self, password: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unlock({password})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unlock({password})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unlock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6644,7 +6706,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6845,7 +6909,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6870,7 +6936,9 @@ def savebuffer(self, y: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.savebuffer({y})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.savebuffer({y})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.savebuffer()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_as1ejq_smu/status.py b/src/tm_devices/commands/_as1ejq_smu/status.py index 68adf1c0..aaf0d800 100644 --- a/src/tm_devices/commands/_as1ejq_smu/status.py +++ b/src/tm_devices/commands/_as1ejq_smu/status.py @@ -439,7 +439,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -472,7 +474,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -502,7 +506,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -535,7 +541,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -773,7 +781,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -806,7 +816,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -836,7 +848,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -869,7 +883,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1107,7 +1123,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1140,7 +1158,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1170,7 +1190,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1203,7 +1225,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1441,7 +1465,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1474,7 +1500,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1504,7 +1532,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1537,7 +1567,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1775,7 +1807,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1808,7 +1842,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1838,7 +1874,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1871,7 +1909,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2099,7 +2139,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2132,7 +2174,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2162,7 +2206,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2195,7 +2241,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2375,7 +2423,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2409,7 +2459,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2440,7 +2492,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2474,7 +2528,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2652,7 +2708,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2686,7 +2744,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2717,7 +2777,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2751,7 +2813,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2970,7 +3034,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3004,7 +3070,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3035,7 +3103,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3069,7 +3139,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3255,7 +3327,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3289,7 +3363,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3320,7 +3396,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3354,7 +3432,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3562,7 +3642,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3596,7 +3678,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3627,7 +3711,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3661,7 +3747,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3914,7 +4002,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3947,7 +4037,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3994,7 +4086,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4027,7 +4121,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4299,7 +4395,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4332,7 +4430,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4362,7 +4462,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4395,7 +4497,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4606,7 +4710,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4640,7 +4746,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4671,7 +4779,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4705,7 +4815,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4882,7 +4994,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4915,7 +5029,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4945,7 +5061,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4978,7 +5096,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5162,7 +5282,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5195,7 +5317,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5225,7 +5349,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5258,7 +5384,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5436,7 +5564,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5469,7 +5599,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5499,7 +5631,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5532,7 +5666,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5720,7 +5856,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5754,7 +5892,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5785,7 +5925,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5819,7 +5961,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6010,7 +6154,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6044,7 +6190,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6075,7 +6223,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6109,7 +6259,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6343,7 +6495,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6377,7 +6531,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6408,7 +6564,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6442,7 +6600,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6633,7 +6793,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6667,7 +6829,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6698,7 +6862,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6732,7 +6898,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6975,7 +7143,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7009,7 +7179,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7040,7 +7212,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7074,7 +7248,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7265,7 +7441,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7299,7 +7477,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7330,7 +7510,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7364,7 +7546,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7605,7 +7789,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7639,7 +7825,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7670,7 +7858,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7704,7 +7894,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7937,7 +8129,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7971,7 +8165,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8002,7 +8198,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8036,7 +8234,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8275,7 +8475,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8309,7 +8511,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8340,7 +8544,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8374,7 +8580,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8579,7 +8787,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8613,7 +8823,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8644,7 +8856,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8678,7 +8892,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8942,7 +9158,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8976,7 +9194,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9007,7 +9227,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9041,7 +9263,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9232,7 +9456,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9266,7 +9492,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9297,7 +9525,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9331,7 +9561,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9657,7 +9889,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9691,7 +9925,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9722,7 +9958,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9756,7 +9994,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10029,7 +10269,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10063,7 +10305,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10094,7 +10338,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10128,7 +10374,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10448,7 +10696,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10481,7 +10731,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10511,7 +10763,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10544,7 +10798,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10822,7 +11078,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10856,7 +11114,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10887,7 +11147,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10921,7 +11183,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11093,7 +11357,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11127,7 +11393,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11158,7 +11426,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11192,7 +11462,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11370,7 +11642,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11404,7 +11678,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11435,7 +11711,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11469,7 +11747,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11641,7 +11921,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11675,7 +11957,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11706,7 +11990,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11740,7 +12026,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11970,7 +12258,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12005,7 +12295,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12037,7 +12329,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12072,7 +12366,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12263,7 +12559,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12298,7 +12596,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12330,7 +12630,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12365,7 +12667,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12573,7 +12877,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12607,7 +12913,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12638,7 +12946,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12672,7 +12982,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12854,7 +13166,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12888,7 +13202,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12919,7 +13235,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12953,7 +13271,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13249,7 +13569,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13282,7 +13604,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13325,7 +13649,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13358,7 +13684,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -14137,7 +14465,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_at7jl1_smu/display.py b/src/tm_devices/commands/_at7jl1_smu/display.py index fae42ef9..424bb650 100644 --- a/src/tm_devices/commands/_at7jl1_smu/display.py +++ b/src/tm_devices/commands/_at7jl1_smu/display.py @@ -112,7 +112,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -187,7 +189,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -224,7 +228,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -271,7 +277,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -309,7 +317,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1049,7 +1059,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1406,7 +1418,9 @@ def settext(self, text: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.settext("{text}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.settext("{text}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.settext()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_au597k_smu/digio.py b/src/tm_devices/commands/_au597k_smu/digio.py index 86985f3c..16f770ad 100644 --- a/src/tm_devices/commands/_au597k_smu/digio.py +++ b/src/tm_devices/commands/_au597k_smu/digio.py @@ -101,7 +101,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -138,7 +140,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -346,7 +350,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -370,7 +376,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -394,7 +402,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -418,7 +428,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -714,7 +726,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_au597k_smu/format.py b/src/tm_devices/commands/_au597k_smu/format.py index 3d1c4ec5..c851bd1e 100644 --- a/src/tm_devices/commands/_au597k_smu/format.py +++ b/src/tm_devices/commands/_au597k_smu/format.py @@ -283,7 +283,9 @@ def data(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".data" - return self._device.query(f"print({self._cmd_syntax}.data)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.data)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -316,7 +318,9 @@ def data(self, value: Union[str, float]) -> None: self._cmd_syntax + ".data", value ) else: - self._device.write(f"{self._cmd_syntax}.data = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.data = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_au597k_smu/tsplink.py b/src/tm_devices/commands/_au597k_smu/tsplink.py index c92dec5a..90e52dc1 100644 --- a/src/tm_devices/commands/_au597k_smu/tsplink.py +++ b/src/tm_devices/commands/_au597k_smu/tsplink.py @@ -106,7 +106,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -142,7 +144,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -352,7 +356,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -376,7 +382,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -400,7 +408,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -425,7 +435,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -646,7 +658,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -678,7 +692,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -935,7 +951,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_auyr50_smu/format.py b/src/tm_devices/commands/_auyr50_smu/format.py index d55adba7..d4977e7e 100644 --- a/src/tm_devices/commands/_auyr50_smu/format.py +++ b/src/tm_devices/commands/_auyr50_smu/format.py @@ -271,7 +271,9 @@ def data(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".data" - return self._device.query(f"print({self._cmd_syntax}.data)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.data)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -304,7 +306,9 @@ def data(self, value: Union[str, float]) -> None: self._cmd_syntax + ".data", value ) else: - self._device.write(f"{self._cmd_syntax}.data = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.data = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_auyr50_smu/localnode.py b/src/tm_devices/commands/_auyr50_smu/localnode.py index cac4c4ae..6acf47b1 100644 --- a/src/tm_devices/commands/_auyr50_smu/localnode.py +++ b/src/tm_devices/commands/_auyr50_smu/localnode.py @@ -379,7 +379,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -736,7 +738,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_avh0iw_smu/display.py b/src/tm_devices/commands/_avh0iw_smu/display.py index 7e1d463f..85e03783 100644 --- a/src/tm_devices/commands/_avh0iw_smu/display.py +++ b/src/tm_devices/commands/_avh0iw_smu/display.py @@ -112,7 +112,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -179,7 +181,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -212,7 +216,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -250,7 +256,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -283,7 +291,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -960,7 +970,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1318,7 +1330,9 @@ def settext(self, text: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.settext("{text}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.settext("{text}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.settext()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_avh0iw_smu/trigger.py b/src/tm_devices/commands/_avh0iw_smu/trigger.py index be5a8852..98cd9cea 100644 --- a/src/tm_devices/commands/_avh0iw_smu/trigger.py +++ b/src/tm_devices/commands/_avh0iw_smu/trigger.py @@ -495,7 +495,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -519,7 +521,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -762,7 +766,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -786,7 +792,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -918,7 +926,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_awg5200_commands.py b/src/tm_devices/commands/_awg5200_commands.py index 37ad2081..d4257c1f 100644 --- a/src/tm_devices/commands/_awg5200_commands.py +++ b/src/tm_devices/commands/_awg5200_commands.py @@ -31,11 +31,11 @@ from ._3n9auv_awg.slist import Slist from ._3n9auv_awg.status import Status from ._3n9auv_awg.wplugin import Wplugin -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg5k_commands.py b/src/tm_devices/commands/_awg5k_commands.py index 6c674d90..8c105802 100644 --- a/src/tm_devices/commands/_awg5k_commands.py +++ b/src/tm_devices/commands/_awg5k_commands.py @@ -24,11 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg5kc_commands.py b/src/tm_devices/commands/_awg5kc_commands.py index a8c066c7..1c39e298 100644 --- a/src/tm_devices/commands/_awg5kc_commands.py +++ b/src/tm_devices/commands/_awg5kc_commands.py @@ -24,11 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg70ka_commands.py b/src/tm_devices/commands/_awg70ka_commands.py index e2f638f6..e6e50fe6 100644 --- a/src/tm_devices/commands/_awg70ka_commands.py +++ b/src/tm_devices/commands/_awg70ka_commands.py @@ -30,11 +30,11 @@ from ._3rs8qy_awg.system import System from ._3rs8qy_awg.trigger import Trigger from ._3rs8qy_awg.wlist import Wlist -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg70kb_commands.py b/src/tm_devices/commands/_awg70kb_commands.py index 1792f8a4..f70fa382 100644 --- a/src/tm_devices/commands/_awg70kb_commands.py +++ b/src/tm_devices/commands/_awg70kb_commands.py @@ -30,11 +30,11 @@ from ._3rs8qy_awg.system import System from ._3rs8qy_awg.trigger import Trigger from ._3rs8qy_awg.wlist import Wlist -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg7k_commands.py b/src/tm_devices/commands/_awg7k_commands.py index 9b687f5d..da28e7e3 100644 --- a/src/tm_devices/commands/_awg7k_commands.py +++ b/src/tm_devices/commands/_awg7k_commands.py @@ -24,11 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awg7kc_commands.py b/src/tm_devices/commands/_awg7kc_commands.py index 98a51a17..19751fa4 100644 --- a/src/tm_devices/commands/_awg7kc_commands.py +++ b/src/tm_devices/commands/_awg7kc_commands.py @@ -24,11 +24,11 @@ from ._32dszm_awg.wlist import Wlist from ._33ijgq_afgawg.abort import Abort from ._33ijgq_afgawg.calibration import Calibration -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_awhjao_smu/status.py b/src/tm_devices/commands/_awhjao_smu/status.py index 6c18661c..8f4ff810 100644 --- a/src/tm_devices/commands/_awhjao_smu/status.py +++ b/src/tm_devices/commands/_awhjao_smu/status.py @@ -434,7 +434,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -468,7 +470,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -499,7 +503,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -533,7 +539,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -776,7 +784,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -810,7 +820,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +853,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -875,7 +889,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1118,7 +1134,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1152,7 +1170,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1183,7 +1203,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1217,7 +1239,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1460,7 +1484,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1494,7 +1520,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1525,7 +1553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1559,7 +1589,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1802,7 +1834,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1836,7 +1870,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1867,7 +1903,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1901,7 +1939,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2129,7 +2169,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2162,7 +2204,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2192,7 +2236,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2225,7 +2271,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2408,7 +2456,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2442,7 +2492,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2473,7 +2525,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2507,7 +2561,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2688,7 +2744,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2722,7 +2780,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2753,7 +2813,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2787,7 +2849,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3026,7 +3090,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3064,7 +3130,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3099,7 +3167,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3137,7 +3207,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3327,7 +3399,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3361,7 +3435,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3392,7 +3468,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3426,7 +3504,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3638,7 +3718,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3672,7 +3754,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3703,7 +3787,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3737,7 +3823,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4001,7 +4089,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4034,7 +4124,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4083,7 +4175,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4116,7 +4210,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4390,7 +4486,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4423,7 +4521,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4453,7 +4553,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4486,7 +4588,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4701,7 +4805,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4735,7 +4841,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4766,7 +4874,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4800,7 +4910,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4980,7 +5092,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5013,7 +5127,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5043,7 +5159,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5076,7 +5194,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5260,7 +5380,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5293,7 +5415,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5323,7 +5447,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5356,7 +5482,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5538,7 +5666,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5571,7 +5701,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5601,7 +5733,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5634,7 +5768,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5827,7 +5963,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5862,7 +6000,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5894,7 +6034,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5929,7 +6071,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6125,7 +6269,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6160,7 +6306,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6192,7 +6340,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6227,7 +6377,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6461,7 +6613,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6495,7 +6649,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6526,7 +6682,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6560,7 +6718,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6751,7 +6911,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6785,7 +6947,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6816,7 +6980,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6850,7 +7016,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7093,7 +7261,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7127,7 +7297,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7158,7 +7330,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7192,7 +7366,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7383,7 +7559,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7417,7 +7595,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7448,7 +7628,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7482,7 +7664,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7723,7 +7907,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7757,7 +7943,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7788,7 +7976,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7822,7 +8012,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8075,7 +8267,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8113,7 +8307,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8148,7 +8344,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8186,7 +8384,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8425,7 +8625,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8459,7 +8661,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8490,7 +8694,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8524,7 +8730,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8729,7 +8937,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8763,7 +8973,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8794,7 +9006,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -8828,7 +9042,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9097,7 +9313,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9132,7 +9350,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9164,7 +9384,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9199,7 +9421,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9395,7 +9619,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9430,7 +9656,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9462,7 +9690,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9497,7 +9727,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9827,7 +10059,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9861,7 +10095,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9892,7 +10128,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -9926,7 +10164,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10202,7 +10442,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10236,7 +10478,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10267,7 +10511,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10301,7 +10547,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10626,7 +10874,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10659,7 +10909,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10689,7 +10941,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -10722,7 +10976,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11007,7 +11263,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11041,7 +11299,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11072,7 +11332,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11106,7 +11368,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11287,7 +11551,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11321,7 +11587,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11352,7 +11620,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11386,7 +11656,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11636,7 +11908,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11675,7 +11949,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11711,7 +11987,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11750,7 +12028,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11945,7 +12225,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -11980,7 +12262,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12012,7 +12296,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12047,7 +12333,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12258,7 +12546,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12292,7 +12582,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12323,7 +12615,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12357,7 +12651,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12546,7 +12842,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12580,7 +12878,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12611,7 +12911,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12645,7 +12947,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12943,7 +13247,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -12976,7 +13282,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13006,7 +13314,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13039,7 +13349,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -13812,7 +14124,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_by991s_smudaq/digio.py b/src/tm_devices/commands/_by991s_smudaq/digio.py index 06797cc7..b7509060 100644 --- a/src/tm_devices/commands/_by991s_smudaq/digio.py +++ b/src/tm_devices/commands/_by991s_smudaq/digio.py @@ -72,7 +72,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -108,7 +110,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -207,7 +211,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -320,7 +326,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_by991s_smudaq/status.py b/src/tm_devices/commands/_by991s_smudaq/status.py index f8d45c0b..9e35113f 100644 --- a/src/tm_devices/commands/_by991s_smudaq/status.py +++ b/src/tm_devices/commands/_by991s_smudaq/status.py @@ -781,7 +781,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -802,7 +804,9 @@ def preset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.preset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.preset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.preset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/buffervar.py b/src/tm_devices/commands/_canxny_daq/buffervar.py index 98dbb993..a9ce1e82 100644 --- a/src/tm_devices/commands/_canxny_daq/buffervar.py +++ b/src/tm_devices/commands/_canxny_daq/buffervar.py @@ -629,7 +629,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -886,7 +888,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/display.py b/src/tm_devices/commands/_canxny_daq/display.py index 34d98a2d..f4a00aa0 100644 --- a/src/tm_devices/commands/_canxny_daq/display.py +++ b/src/tm_devices/commands/_canxny_daq/display.py @@ -719,7 +719,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/dmm.py b/src/tm_devices/commands/_canxny_daq/dmm.py index 0394768d..0c6c9e29 100644 --- a/src/tm_devices/commands/_canxny_daq/dmm.py +++ b/src/tm_devices/commands/_canxny_daq/dmm.py @@ -1413,7 +1413,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1611,7 +1613,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1645,7 +1649,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2581,7 +2587,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2615,7 +2623,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3398,7 +3408,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3430,7 +3442,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3620,7 +3634,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3653,7 +3669,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4592,7 +4610,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4625,7 +4645,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5736,7 +5758,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6179,7 +6203,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6214,7 +6240,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6641,7 +6669,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6673,7 +6703,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6943,7 +6975,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6976,7 +7010,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -7815,7 +7851,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/scan.py b/src/tm_devices/commands/_canxny_daq/scan.py index 9606eaaf..ab170545 100644 --- a/src/tm_devices/commands/_canxny_daq/scan.py +++ b/src/tm_devices/commands/_canxny_daq/scan.py @@ -420,7 +420,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -453,7 +455,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -966,7 +970,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -998,7 +1004,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/slot.py b/src/tm_devices/commands/_canxny_daq/slot.py index 4826b01f..6b306b31 100644 --- a/src/tm_devices/commands/_canxny_daq/slot.py +++ b/src/tm_devices/commands/_canxny_daq/slot.py @@ -268,7 +268,9 @@ def rows(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".rows" - return self._device.query(f"print({self._cmd_syntax}.rows)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.rows)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.rows`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -721,7 +723,9 @@ def idn(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".idn" - return self._device.query(f"print({self._cmd_syntax}.idn)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.idn)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.idn`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/trigger.py b/src/tm_devices/commands/_canxny_daq/trigger.py index e120c393..8dfeb64e 100644 --- a/src/tm_devices/commands/_canxny_daq/trigger.py +++ b/src/tm_devices/commands/_canxny_daq/trigger.py @@ -383,7 +383,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -407,7 +409,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -455,7 +459,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -492,7 +498,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -549,7 +557,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1284,7 +1294,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1308,7 +1320,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1421,7 +1435,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1497,7 +1513,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1608,7 +1626,9 @@ def load_empty(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.load()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.load()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.load()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1784,7 +1804,9 @@ def pause(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.pause()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.pause()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.pause()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1805,7 +1827,9 @@ def resume(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.resume()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.resume()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.resume()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2979,7 +3003,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3003,7 +3029,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3027,7 +3055,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3075,7 +3105,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3112,7 +3144,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3168,7 +3202,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3366,7 +3402,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3407,7 +3445,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3440,7 +3480,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3490,7 +3532,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3549,7 +3593,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3821,7 +3867,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3845,7 +3893,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3893,7 +3943,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3930,7 +3982,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3990,7 +4044,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4204,7 +4260,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4228,7 +4286,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4919,7 +4979,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/tsplink.py b/src/tm_devices/commands/_canxny_daq/tsplink.py index 8edfc63d..96886c8b 100644 --- a/src/tm_devices/commands/_canxny_daq/tsplink.py +++ b/src/tm_devices/commands/_canxny_daq/tsplink.py @@ -140,7 +140,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -318,7 +320,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -350,7 +354,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -459,7 +465,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_canxny_daq/upgrade.py b/src/tm_devices/commands/_canxny_daq/upgrade.py index 2613077c..61138530 100644 --- a/src/tm_devices/commands/_canxny_daq/upgrade.py +++ b/src/tm_devices/commands/_canxny_daq/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/acal.py b/src/tm_devices/commands/_d6b496_dmm/acal.py index 6d569f68..7d63ea09 100644 --- a/src/tm_devices/commands/_d6b496_dmm/acal.py +++ b/src/tm_devices/commands/_d6b496_dmm/acal.py @@ -60,7 +60,9 @@ def time(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".time" - return self._device.query(f"print({self._cmd_syntax}.time)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.time)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.time`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -157,7 +159,9 @@ def time(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".time" - return self._device.query(f"print({self._cmd_syntax}.time)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.time)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.time`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -271,7 +275,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/buffervar.py b/src/tm_devices/commands/_d6b496_dmm/buffervar.py index 251d4528..37b067d5 100644 --- a/src/tm_devices/commands/_d6b496_dmm/buffervar.py +++ b/src/tm_devices/commands/_d6b496_dmm/buffervar.py @@ -586,7 +586,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +843,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/display.py b/src/tm_devices/commands/_d6b496_dmm/display.py index c60ea546..2aa78f12 100644 --- a/src/tm_devices/commands/_d6b496_dmm/display.py +++ b/src/tm_devices/commands/_d6b496_dmm/display.py @@ -621,7 +621,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/dmm.py b/src/tm_devices/commands/_d6b496_dmm/dmm.py index daadf886..962019a3 100644 --- a/src/tm_devices/commands/_d6b496_dmm/dmm.py +++ b/src/tm_devices/commands/_d6b496_dmm/dmm.py @@ -1651,7 +1651,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1849,7 +1851,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1883,7 +1887,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2926,7 +2932,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2960,7 +2968,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3730,7 +3740,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3762,7 +3774,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3951,7 +3965,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3984,7 +4000,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4723,7 +4741,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4756,7 +4776,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4997,7 +5019,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5030,7 +5054,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5820,7 +5846,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -5855,7 +5883,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -6270,7 +6300,9 @@ def reset(self, scope: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset({scope})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset({scope})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/localnode.py b/src/tm_devices/commands/_d6b496_dmm/localnode.py index e2ed5c2c..f15b7816 100644 --- a/src/tm_devices/commands/_d6b496_dmm/localnode.py +++ b/src/tm_devices/commands/_d6b496_dmm/localnode.py @@ -278,7 +278,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -562,7 +564,9 @@ def gettime(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.gettime()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.gettime()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.gettime()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d6b496_dmm/trigger.py b/src/tm_devices/commands/_d6b496_dmm/trigger.py index 2c61e31c..8a83e746 100644 --- a/src/tm_devices/commands/_d6b496_dmm/trigger.py +++ b/src/tm_devices/commands/_d6b496_dmm/trigger.py @@ -379,7 +379,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -403,7 +405,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -451,7 +455,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -488,7 +494,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -545,7 +553,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1280,7 +1290,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1304,7 +1316,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1410,7 +1424,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1486,7 +1502,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1550,7 +1568,9 @@ def load_empty(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.load()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.load()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.load()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1790,7 +1810,9 @@ def pause(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.pause()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.pause()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.pause()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1811,7 +1833,9 @@ def resume(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.resume()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.resume()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.resume()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2856,7 +2880,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2880,7 +2906,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2904,7 +2932,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2952,7 +2982,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2989,7 +3021,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3045,7 +3079,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3243,7 +3279,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3284,7 +3322,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3317,7 +3357,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3368,7 +3410,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3427,7 +3471,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3699,7 +3745,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3723,7 +3771,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3771,7 +3821,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3808,7 +3860,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3868,7 +3922,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4082,7 +4138,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4106,7 +4164,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4766,7 +4826,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/buffervar.py b/src/tm_devices/commands/_d83qe0_dmm/buffervar.py index 2d0de9b8..d71672c1 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/buffervar.py +++ b/src/tm_devices/commands/_d83qe0_dmm/buffervar.py @@ -622,7 +622,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -877,7 +879,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/display.py b/src/tm_devices/commands/_d83qe0_dmm/display.py index 2be2f071..8747c482 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/display.py +++ b/src/tm_devices/commands/_d83qe0_dmm/display.py @@ -692,7 +692,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/dmm.py b/src/tm_devices/commands/_d83qe0_dmm/dmm.py index cd4b11d9..330b94eb 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/dmm.py +++ b/src/tm_devices/commands/_d83qe0_dmm/dmm.py @@ -1304,7 +1304,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1502,7 +1504,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1536,7 +1540,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2183,7 +2189,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2217,7 +2225,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2904,7 +2914,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2936,7 +2948,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3125,7 +3139,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3158,7 +3174,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4028,7 +4046,9 @@ def unit(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".unit" - return self._device.query(f"print({self._cmd_syntax}.unit)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.unit)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4061,7 +4081,9 @@ def unit(self, value: Union[str, float]) -> None: self._cmd_syntax + ".unit", value ) else: - self._device.write(f"{self._cmd_syntax}.unit = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.unit`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4549,7 +4571,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4584,7 +4608,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4951,7 +4977,9 @@ def reset(self, scope: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset({scope})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset({scope})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/scan.py b/src/tm_devices/commands/_d83qe0_dmm/scan.py index 99d78bb3..9bb43065 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/scan.py +++ b/src/tm_devices/commands/_d83qe0_dmm/scan.py @@ -418,7 +418,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -451,7 +453,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -880,7 +884,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -912,7 +918,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/slot.py b/src/tm_devices/commands/_d83qe0_dmm/slot.py index a6e33fbe..68902c9b 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/slot.py +++ b/src/tm_devices/commands/_d83qe0_dmm/slot.py @@ -131,7 +131,9 @@ def idn(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".idn" - return self._device.query(f"print({self._cmd_syntax}.idn)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.idn)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.idn`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_d83qe0_dmm/trigger.py b/src/tm_devices/commands/_d83qe0_dmm/trigger.py index a74af00c..a7ad7cd8 100644 --- a/src/tm_devices/commands/_d83qe0_dmm/trigger.py +++ b/src/tm_devices/commands/_d83qe0_dmm/trigger.py @@ -378,7 +378,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -402,7 +404,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -450,7 +454,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -487,7 +493,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -544,7 +552,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1279,7 +1289,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1303,7 +1315,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1408,7 +1422,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1484,7 +1500,9 @@ def initiate(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.initiate()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.initiate()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.initiate()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1548,7 +1566,9 @@ def load_empty(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.load()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.load()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.load()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1724,7 +1744,9 @@ def pause(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.pause()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.pause()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.pause()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1745,7 +1767,9 @@ def resume(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.resume()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.resume()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.resume()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2790,7 +2814,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2814,7 +2840,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2838,7 +2866,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2886,7 +2916,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2923,7 +2955,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2979,7 +3013,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3177,7 +3213,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3218,7 +3256,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3251,7 +3291,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3302,7 +3344,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3361,7 +3405,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3633,7 +3679,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3657,7 +3705,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3705,7 +3755,9 @@ def edge(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".edge" - return self._device.query(f"print({self._cmd_syntax}.edge)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.edge)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3742,7 +3794,9 @@ def edge(self, value: Union[str, float]) -> None: self._cmd_syntax + ".edge", value ) else: - self._device.write(f"{self._cmd_syntax}.edge = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.edge = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.edge`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3802,7 +3856,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4016,7 +4072,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4040,7 +4098,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -4699,7 +4759,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_daq6510_commands.py b/src/tm_devices/commands/_daq6510_commands.py index 0fe42922..56a6e9d0 100644 --- a/src/tm_devices/commands/_daq6510_commands.py +++ b/src/tm_devices/commands/_daq6510_commands.py @@ -1854,7 +1854,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1878,7 +1880,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1899,7 +1903,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1921,7 +1927,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1945,7 +1953,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2006,7 +2016,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2031,7 +2043,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2056,7 +2070,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dawv9y_smudaqdmm/localnode.py b/src/tm_devices/commands/_dawv9y_smudaqdmm/localnode.py index afb4b683..dc166c76 100644 --- a/src/tm_devices/commands/_dawv9y_smudaqdmm/localnode.py +++ b/src/tm_devices/commands/_dawv9y_smudaqdmm/localnode.py @@ -247,7 +247,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -531,7 +533,9 @@ def gettime(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.gettime()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.gettime()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.gettime()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/eventlog.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/eventlog.py index dc1cc07e..048658b9 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/eventlog.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/eventlog.py @@ -72,7 +72,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/file.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/file.py index 5a833114..09d60664 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/file.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/file.py @@ -141,7 +141,9 @@ def mkdir(self, path: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.mkdir("{path}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.mkdir("{path}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.mkdir()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/format.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/format.py index f1976b9d..58348395 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/format.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/format.py @@ -252,7 +252,9 @@ def data(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".data" - return self._device.query(f"print({self._cmd_syntax}.data)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.data)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -285,7 +287,9 @@ def data(self, value: Union[str, float]) -> None: self._cmd_syntax + ".data", value ) else: - self._device.write(f"{self._cmd_syntax}.data = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.data = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/scriptvar.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/scriptvar.py index 4ccd2ac3..97e2b1e6 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/scriptvar.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/scriptvar.py @@ -92,7 +92,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbdq3i_smudaqdmm/timer.py b/src/tm_devices/commands/_dbdq3i_smudaqdmm/timer.py index a2c36725..e312a6f2 100644 --- a/src/tm_devices/commands/_dbdq3i_smudaqdmm/timer.py +++ b/src/tm_devices/commands/_dbdq3i_smudaqdmm/timer.py @@ -51,7 +51,9 @@ def cleartime(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.cleartime()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.cleartime()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.cleartime()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbqd7k_dmm/digio.py b/src/tm_devices/commands/_dbqd7k_dmm/digio.py index abb0b944..7dfe1abd 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/digio.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/digio.py @@ -71,7 +71,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -106,7 +108,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -205,7 +209,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -318,7 +324,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbqd7k_dmm/status.py b/src/tm_devices/commands/_dbqd7k_dmm/status.py index ab856a15..dbbf6169 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/status.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/status.py @@ -729,7 +729,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -750,7 +752,9 @@ def preset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.preset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.preset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.preset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py b/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py index c9e2c068..04e3dfe4 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/tsplink.py @@ -140,7 +140,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -318,7 +320,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -350,7 +354,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -460,7 +466,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbqd7k_dmm/tspnet.py b/src/tm_devices/commands/_dbqd7k_dmm/tspnet.py index 6c1b45ef..ffc718e2 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/tspnet.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/tspnet.py @@ -571,7 +571,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dbqd7k_dmm/upgrade.py b/src/tm_devices/commands/_dbqd7k_dmm/upgrade.py index acd6f064..df412fed 100644 --- a/src/tm_devices/commands/_dbqd7k_dmm/upgrade.py +++ b/src/tm_devices/commands/_dbqd7k_dmm/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dmm6500_commands.py b/src/tm_devices/commands/_dmm6500_commands.py index ee84cb5f..36d3ae71 100644 --- a/src/tm_devices/commands/_dmm6500_commands.py +++ b/src/tm_devices/commands/_dmm6500_commands.py @@ -1221,7 +1221,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1245,7 +1247,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1266,7 +1270,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1288,7 +1294,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1312,7 +1320,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1373,7 +1383,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1398,7 +1410,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1423,7 +1437,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dmm7510_commands.py b/src/tm_devices/commands/_dmm7510_commands.py index 440311dc..0cb20a1b 100644 --- a/src/tm_devices/commands/_dmm7510_commands.py +++ b/src/tm_devices/commands/_dmm7510_commands.py @@ -1181,7 +1181,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1205,7 +1207,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1226,7 +1230,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1248,7 +1254,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1272,7 +1280,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1333,7 +1343,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1358,7 +1370,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1383,7 +1397,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_dpo2k_commands.py b/src/tm_devices/commands/_dpo2k_commands.py index 2f3061b2..2eae4711 100644 --- a/src/tm_devices/commands/_dpo2k_commands.py +++ b/src/tm_devices/commands/_dpo2k_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fkjfe8_msodpodsa.time import Time +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_dpo2kb_commands.py b/src/tm_devices/commands/_dpo2kb_commands.py index 7b49c118..9507ce1f 100644 --- a/src/tm_devices/commands/_dpo2kb_commands.py +++ b/src/tm_devices/commands/_dpo2kb_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fkjfe8_msodpodsa.time import Time +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_dpo4k_commands.py b/src/tm_devices/commands/_dpo4k_commands.py index 11c850ae..0127edf6 100644 --- a/src/tm_devices/commands/_dpo4k_commands.py +++ b/src/tm_devices/commands/_dpo4k_commands.py @@ -68,36 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo4kb_commands.py b/src/tm_devices/commands/_dpo4kb_commands.py index a8e03138..30703783 100644 --- a/src/tm_devices/commands/_dpo4kb_commands.py +++ b/src/tm_devices/commands/_dpo4kb_commands.py @@ -68,36 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo5k_commands.py b/src/tm_devices/commands/_dpo5k_commands.py new file mode 100644 index 00000000..ebe2716c --- /dev/null +++ b/src/tm_devices/commands/_dpo5k_commands.py @@ -0,0 +1,3986 @@ +# pylint: disable=too-many-lines +"""The DPO5K commands module. + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. +""" +from typing import Any, Dict, Optional + +from tm_devices.drivers.pi.pi_device import PIDevice + +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fn2qbf_msodpo.errordetector import Errordetector +from ._fn2qbf_msodpo.trigger import Trigger +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock +from ._helpers import DefaultDictPassKeyToFactory + + +# pylint: disable=too-few-public-methods +class DPO5KCommandConstants: + """The DPO5K command argument constants. + + This provides access to all the string constants which can be used as arguments for DPO5K + commands. + """ + + A = "A" + ABSOLUTE = "ABSOLUTE" # ABSolute + AC = "AC" + ACCEPT = "ACCEPT" # ACCept + ACK = "ACK" + ACKERRORREPORT = "ACKERRORREPORT" # ACKErrorreport + ACKMISS = "ACKMISS" + ADDR10 = "ADDR10" + ADDR7 = "ADDR7" + ADDRANDDATA = "ADDRANDDATA" + ADDRESS = "ADDRESS" # ADDress + ALL = "ALL" + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines + AMI = "AMI" + AMPLITUDE = "AMPLITUDE" # AMPlitude + ANALOG = "ANALOG" # ANALog + AND = "AND" + ANY = "ANY" + AREA = "AREA" + # AREA = "AREa" + ARMATRIGB = "ARMATRIGB" # ARMAtrigb + ASCII = "ASCII" # ASCIi + # ASCII = "ASCii" + ATI = "ATI" + ATRIGGER = "ATRIGGER" # ATRIGger + AUTO = "AUTO" + AUXILIARY = "AUXILIARY" # AUXiliary + AVERAGE = "AVERAGE" # AVErage + B = "B" + B3ZS = "B3ZS" + B6ZS = "B6ZS" + B8ZS = "B8ZS" + BACKWARDS = "BACKWARDS" # BACKWards + BASE = "BASE" # BASe + BILEVELCUSTOM = "BILEVELCUSTOM" # BILevelcustom + BINARY = "BINARY" + # BINARY = "BINary" + # BINARY = "Binary" + BIT = "BIT" + BITSTUFFING = "BITSTUFFING" # BITSTUFFing + BLACKMANHARRIS = "BLACKMANHARRIS" # BLACKMANHarris + BLANK = "BLANK" + BLOCK = "BLOCK" + BLOCK1THEN2 = "BLOCK1THEN2" + BMP = "BMP" + BOTH = "BOTH" # BOTh + BTA = "BTA" + BTRIGGER = "BTRIGGER" # BTRIGger + BURST = "BURST" # BURst + BUS = "BUS" + BYPASS = "BYPASS" # BYPass + CAN = "CAN" + CANH = "CANH" + CANL = "CANL" + CAREA = "CAREA" # CARea + CHAR = "CHAR" + CHARACTER = "CHARACTER" + CHECKSUM = "CHECKSUM" # CHecksum + CHECKSUMERROR = "CHECKSUMERROR" # CHECKsumerror + CHKSUMERROR = "CHKSUMERROR" # CHKSUMError + CLEAR = "CLEAR" + CLOCK = "CLOCK" # CLOCk + CMEAN = "CMEAN" # CMEan + CMI = "CMI" + COLOR = "COLOR" # COLOr + COLOROFF = "COLOROFF" + COLORON = "COLORON" + COLUMN = "COLUMN" + COMMAND = "COMMAND" + COMMONMODE = "COMMONMODE" # COMmonmode + COMMUNICATION = "COMMUNICATION" # COMMunication + COMPAT = "COMPAT" + CONTENTION = "CONTENTION" # CONTention + CONTROL = "CONTROL" # CONtrol + COUNT = "COUNT" + CR = "CR" + CRC16 = "CRC16" + CRC5 = "CRC5" + CRMS = "CRMS" # CRMs + CROSSHAIR = "CROSSHAIR" # CROSSHair + CSPLIT = "CSPLIT" + CTRLSKP = "CTRLSKP" + CUSTOM = "CUSTOM" + # CUSTOM = "CUSTom" + DASHED = "DASHED" # DASHed + DATA = "DATA" + # DATA = "DATa" + DATAPACKET = "DATAPACKET" # DATAPacket + DB = "DB" + DBM = "DBM" + DC = "DC" + DCREJECT = "DCREJECT" # DCREJect + DCSLONGREAD = "DCSLONGREAD" # DCSLONGRead + DCSLONGWRITE = "DCSLONGWRITE" # DCSLONGWrite + DCSR = "DCSR" + DCSRR2 = "DCSRR2" + DCSSRR1 = "DCSSRR1" + DDRREAD = "DDRREAD" # DDRRead + DDRREADWRITE = "DDRREADWRITE" # DDRREADWrite + DDRWRITE = "DDRWRITE" # DDRWrite + DECIMAL = "DECIMAL" # DECImal + DECODEFILENAME = "DECODEFILENAME" # decodeFileName + DEFAULT = "DEFAULT" + # DEFAULT = "DEFAult" + # DEFAULT = "DEFault" + DELAY = "DELAY" # DELay + DELAYED = "DELAYED" # DELayed + DELETE = "DELETE" # DELEte + DETAILED = "DETAILED" # DETAiled + DIFFERENTIAL = "DIFFERENTIAL" # DIFFerential + DIGITAL = "DIGITAL" # DIGItal + DISABLE = "DISABLE" # DISable + DISTDUTY = "DISTDUTY" # DISTDUty + DONE = "DONE" + DONTCARE = "DONTCARE" # DONTCare + # DONTCARE = "DONTcare" + DP = "DP" + DSINR = "DSINR" + DSIVC = "DSIVC" + DSIVIOLATION = "DSIVIOLATION" # DSIViolation + DYNAMIC = "DYNAMIC" + ECCERROR = "ECCERROR" # ECCError + ECCMBERROR = "ECCMBERROR" # ECCMBError + ECCSBERROR = "ECCSBERROR" # ECCSBError + ECCWARN = "ECCWARN" # ECCWarn + ECL = "ECL" + EDGE = "EDGE" + EI = "EI" + EIE = "EIE" + EIGHTYTWENTY = "EIGHTYTWENTY" # EIGHtytwenty + EITHER = "EITHER" # EITHer + # EITHER = "EITher" + EMBEDDED = "EMBEDDED" # EMBEDded + ENABLE = "ENABLE" # ENable + ENET100BASETX = "ENET100BASETX" + ENET100FX = "ENET100FX" + ENET10BASET = "ENET10BASET" + ENET1250 = "ENET1250" + ENETXAUI = "ENETXAUI" + ENETXAUI2 = "ENETXAUI2" + ENTERSWINDOW = "ENTERSWINDOW" # ENTERSWindow + ENV = "ENV" + ENVELOPE = "ENVELOPE" # ENVelope + EOF = "EOF" + EOP = "EOP" + # EOP = "EOp" + EOT = "EOT" + EOTSYNC = "EOTSYNC" # EOTSync + EQUAL = "EQUAL" # EQUal + # EQUAL = "EQual" + ERR = "ERR" + ERROR = "ERROR" + # ERROR = "ERRor" + ESCMODE = "ESCMODE" # ESCMode + ESCMODEERROR = "ESCMODEERROR" # ESCMODEError + ET = "ET" + ETHERNET = "ETHERNET" # ETHernet + EVEN = "EVEN" + EVENT = "EVENT" + EVENTS = "EVENTS" + EXECUTE = "EXECUTE" # EXECute + EXITSWINDOW = "EXITSWINDOW" # EXITSWindow + EXTENDED = "EXTENDED" # EXTENDed + # EXTENDED = "EXTENded" + EXTINCTDB = "EXTINCTDB" + EXTINCTPCT = "EXTINCTPCT" + EXTINCTRATIO = "EXTINCTRATIO" + EYE = "EYE" + EYEDIAGRAM = "EYEDIAGRAM" # EYEdiagram + EYEHEIGHT = "EYEHEIGHT" # EYEHeight + FALL = "FALL" + FALLING = "FALLING" # FALling + FALSE = "FALSE" # FALSe + FAST = "FAST" + FASTERTHAN = "FASTERTHAN" # FASTERthan + FASTEST = "FASTEST" # FAStest + FC1063 = "FC1063" + FC133 = "FC133" + FC2125 = "FC2125" + FC266 = "FC266" + FC4250 = "FC4250" + FC531 = "FC531" + FCE = "FCE" + FCSERROR = "FCSERROR" # FCSError + FFWD = "FFWD" + FIFTYFIFTY = "FIFTYFIFTY" # FIFtyfifty + FIRST = "FIRST" # FIRst + FLATTOP2 = "FLATTOP2" + FLEXRAY = "FLEXRAY" + FORCE = "FORCE" # FORCe + FORWARD = "FORWARD" # FORWard + FORWARDS = "FORWARDS" # FORWards + FP = "FP" + FPBINARY = "FPBINARY" # FPBinary + FRAME = "FRAME" + # FRAME = "FRAme" + FRAMEEND = "FRAMEEND" # FRAMEEnd + FRAMESTART = "FRAMESTART" # FRAMEStart + FRAMETYPE = "FRAMETYPE" # FRAMEtype + FREQUENCY = "FREQUENCY" # FREQuency + FREV = "FREV" + FTS = "FTS" + FULL = "FULL" + # FULL = "FULl" + FULLNOMENU = "FULLNOMENU" # FULLNOmenu + FULLSCREEN = "FULLSCREEN" + FULLSPEED = "FULLSPEED" # FULLSPeed + FW1394BS1600B = "FW1394BS1600B" + FW1394BS400B = "FW1394BS400B" + FW1394BS800B = "FW1394BS800B" + FWD = "FWD" + GAUSSIAN = "GAUSSIAN" # GAUSSian + GLITCH = "GLITCH" # GLItch + GLONGREAD = "GLONGREAD" # GLONGRead + GLONGWRITE = "GLONGWRITE" # GLONGWrite + GND = "GND" + GPIB = "GPIB" # GPIb + GRATICULE = "GRATICULE" # GRAticule + GREATERTHAN = "GREATERTHAN" # GREATerthan + GRID = "GRID" # GRId + HAMMING = "HAMMING" # HAMMing + HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket + HANNING = "HANNING" # HANNing + HBARS = "HBARS" # HBArs + HD1080I50 = "HD1080I50" + HD1080I60 = "HD1080I60" + HD1080P24 = "HD1080P24" + HD1080P25 = "HD1080P25" + HD1080P30 = "HD1080P30" + HD1080P50 = "HD1080P50" + HD1080P60 = "HD1080P60" + HD1080SF24 = "HD1080SF24" + HD480P60 = "HD480P60" + HD576P50 = "HD576P50" + HD720P30 = "HD720P30" + HD720P50 = "HD720P50" + HD720P60 = "HD720P60" + HD875I60 = "HD875I60" + HDB3 = "HDB3" + HERTZ = "HERTZ" # HERtz + HEX = "HEX" + HEXADECIMAL = "HEXADECIMAL" # HEXadecimal + HFREJ = "HFREJ" # HFRej + HIGH = "HIGH" + # HIGH = "high" + HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HIStogram + HITS = "HITS" # HITs + HLS = "HLS" + HORIZONTAL = "HORIZONTAL" + # HORIZONTAL = "HORizontal" + HSRTERROR = "HSRTERROR" # HSRTError + HSYNCEND = "HSYNCEND" # HSYNCEnd + HSYNCSTART = "HSYNCSTART" # HSYNCStart + I2C = "I2C" + IDANDDATA = "IDANDDATA" + IDENTIFIER = "IDENTIFIER" # IDENTifier + IDLE = "IDLE" + IN = "IN" + INDEPENDENT = "INDEPENDENT" # INDependent + INFINIBAND = "INFINIBAND" + INFPERSIST = "INFPERSIST" # INFPersist + INHERIT = "INHERIT" + INIT = "INIT" + INKSAVER = "INKSAVER" # INKSaver + INRANGE = "INRANGE" # INrange + INSIDE = "INSIDE" # INSide + INSIDEGREATER = "INSIDEGREATER" # INSIDEGreater + INVALID = "INVALID" + INVERTED = "INVERTED" # INVERTed + # INVERTED = "INVerted" + IRE = "IRE" + ISOALL = "ISOALL" + ISOEND = "ISOEND" + ISOMID = "ISOMID" + ISOSTART = "ISOSTART" + IT = "IT" + ITP = "ITP" + JPEG = "JPEG" + KAISERBESSEL = "KAISERBESSEL" # KAISERBessel + LANDSCAPE = "LANDSCAPE" # LANdscape + LARGE = "LARGE" + # LARGE = "LARge" + LAST = "LAST" + LEARN = "LEARN" + LESSEQUAL = "LESSEQUAL" # LESSEQual + LESSTHAN = "LESSTHAN" # LESSThan + # LESSTHAN = "LESSthan" + LF = "LF" + LFREJ = "LFREJ" # LFRej + LIN = "LIN" + LINE = "LINE" + LINEAR = "LINEAR" # LINEAr + LINEEND = "LINEEND" # LINEEnd + LINES = "LINES" + LINESTART = "LINESTART" # LINEStart + LINE_X = "LINE_X" + LIVE = "LIVE" + LMP = "LMP" + LMPCONFIG = "LMPCONFIG" # LMPConfig + LMPDEVICE = "LMPDEVICE" # LMPDevice + LMPLINK = "LMPLINK" # LMPLink + LMPRESPONSE = "LMPRESPONSE" # LMPResponse + LMPUTWO = "LMPUTWO" # LMPUtwo + LOCK = "LOCK" + # LOCK = "LOck" + LOGIC = "LOGIC" + # LOGIC = "LOGIc" + LONG = "LONG" + LOW = "LOW" + # LOW = "low" + LOWSPEED = "LOWSPEED" # LOWSPeed + LPDATA = "LPDATA" + LPS666 = "LPS666" + LPTSERROR = "LPTSERROR" # LPTSError + LSB = "LSB" + MACADDRESS = "MACADDRESS" # MACADDRess + MANCHESTER = "MANCHESTER" # MANCHester + MANUAL = "MANUAL" + # MANUAL = "MANual" + MAXIMUM = "MAXIMUM" # MAXimum + MAXRETSIZE = "MAXRETSIZE" # MAXRETsize + MDATA = "MDATA" + MEAN = "MEAN" + MEANSTDDEV = "MEANSTDDEV" # MEANSTDdev + MEDIAN = "MEDIAN" # MEDian + MEDIUM = "MEDIUM" # MEDium + MHZ10 = "MHZ10" + MHZ100 = "MHZ100" + MINIMIZED = "MINIMIZED" + MINIMUM = "MINIMUM" # MINImum + MINMAX = "MINMAX" # MINMax + MINUSONE = "MINUSONE" # MINUSOne + MIPICSITWO = "MIPICSITWO" # MIPICSITWo + MIPIDSIONE = "MIPIDSIONE" # MIPIDSIOne + MISO = "MISO" + MISOMOSI = "MISOMOSI" + MIXED = "MIXED" # MIXed + MLT3 = "MLT3" + MONOGRAY = "MONOGRAY" + MONOGREEN = "MONOGREEN" + MOREEQUA = "MOREEQUA" # MOREEQua + MOREEQUAL = "MOREEQUAL" # MOREEQual + MORETHAN = "MORETHAN" # MOREThan + # MORETHAN = "MOREthan" + MOSI = "MOSI" + MSB = "MSB" + MV = "MV" + NAK = "NAK" + NAND = "NAND" # NANd + NCROSS = "NCROSS" # NCROss + NDUTY = "NDUTY" # NDUty + NEGATIVE = "NEGATIVE" # NEGAtive + NEXT = "NEXT" + NO = "NO" + # NO = "No" + NOCARE = "NOCARE" + NOISEREJ = "NOISEREJ" # NOISErej + NOPARITY = "NOPARITY" # NOPARity + NOR = "NOR" + NORMAL = "NORMAL" # NORMal + NOVERSHOOT = "NOVERSHOOT" # NOVershoot + NRZ = "NRZ" + NTSC = "NTSC" + # NTSC = "NTSc" + NULL = "NULL" + NUMERIC = "NUMERIC" # NUMERic + NWIDTH = "NWIDTH" # NWIdth + NYET = "NYET" + OC1 = "OC1" + OC12 = "OC12" + OC3 = "OC3" + OCCURS = "OCCURS" # OCCurs + ODD = "ODD" + OFF = "OFF" + ON = "ON" + ONE = "ONE" + OR = "OR" + OUT = "OUT" + OUTRANGE = "OUTRANGE" # OUTrange + OUTSIDE = "OUTSIDE" # OUTside + OUTSIDEGREATER = "OUTSIDEGREATER" # OUTSIDEGreater + OVERLAY = "OVERLAY" # OVERlay + OVERLOAD = "OVERLOAD" + # OVERLOAD = "OVERLoad" + PACKET = "PACKET" + PAL = "PAL" + PARALLEL = "PARALLEL" # PARallel + PARITY = "PARITY" # PARity + PARITYERROR = "PARITYERROR" # PARItyerror + PASS = "PASS" + PATTERN = "PATTERN" # PATtern + PAYLOAD = "PAYLOAD" # PAYload + PBASE = "PBASE" # PBASe + PCIE = "PCIE" + PCIEXPRESS = "PCIEXPRESS" # PCIExpress + PCIEXPRESS2 = "PCIEXPRESS2" # PCIExpress2 + PCROSS = "PCROSS" # PCROss + PCTCROSS = "PCTCROSS" # PCTCROss + PCX = "PCX" + PDUTY = "PDUTY" # PDUty + PEAKDETECT = "PEAKDETECT" # PEAKdetect + PEAKHITS = "PEAKHITS" # PEAKHits + PENDING = "PENDING" + PERCENT = "PERCENT" # PERCent + PERIOD = "PERIOD" # PERIod + PHASE = "PHASE" # PHAse + PID = "PID" + PING = "PING" + PK2PK = "PK2PK" # PK2Pk + PKPKJITTER = "PKPKJITTER" # PKPKJitter + PKPKNOISE = "PKPKNOISE" # PKPKNoise + PLUSONE = "PLUSONE" # PLUSOne + PNG = "PNG" + POLARCOORD = "POLARCOORD" # POLARCoord + PORTRAIT = "PORTRAIT" # PORTRait + POSITIVE = "POSITIVE" # POSITIVe + PPS101010 = "PPS101010" + PPS121212 = "PPS121212" + PPS565 = "PPS565" + PPS666 = "PPS666" + PPS888 = "PPS888" + PRBS7 = "PRBS7" + PRBS9 = "PRBS9" + PRE = "PRE" + PREVIOUS = "PREVIOUS" # PREVious + PRODUCT = "PRODUCT" # PRODuct + PULSE = "PULSE" # PULse + PWIDTH = "PWIDTH" # PWIdth + QFACTOR = "QFACTOR" # QFACtor + QTAG = "QTAG" + RANDOM = "RANDOM" + RATE10000 = "RATE10000" + RATE12000 = "RATE12000" + RATE1250 = "RATE1250" + RATE14000 = "RATE14000" + RATE1500 = "RATE1500" + RATE2125 = "RATE2125" + RATE2500 = "RATE2500" + RATE3000 = "RATE3000" + RATE3125 = "RATE3125" + RATE4250 = "RATE4250" + RATE5000 = "RATE5000" + RATE6000 = "RATE6000" + RATE6250 = "RATE6250" + RATIO = "RATIO" # RATio + RAW10 = "RAW10" + RAW12 = "RAW12" + RAW14 = "RAW14" + RDMINUS = "RDMINUS" + RDPLUS = "RDPLUS" + READ = "READ" + RECOVERED = "RECOVERED" # RECOVered + RECTANGULAR = "RECTANGULAR" # RECTANGular + # RECTANGULAR = "RECTangular" + REFOUT = "REFOUT" + REJECT = "REJECT" # REJect + RELOAD = "RELOAD" # RELoad + REMOTE = "REMOTE" # REMote + REPEATSTART = "REPEATSTART" # REPEATstart + RESERVED = "RESERVED" + RESET = "RESET" + # RESET = "RESet" + RESETLIVE = "RESETLIVE" # RESETLive + RESTORE = "RESTORE" # RESTore + RESUME = "RESUME" + REV = "REV" + REVERSE = "REVERSE" # REVErse + RGB444 = "RGB444" + RGB555 = "RGB555" + RGB565 = "RGB565" + RGB666 = "RGB666" + RGB888 = "RGB888" + RI = "RI" + RIBINARY = "RIBINARY" # RIBinary + RIO_1G = "RIO_1G" + RIO_2G = "RIO_2G" + RIO_500M = "RIO_500M" + RIO_750M = "RIO_750M" + RIO_SERIAL_1G = "RIO_SERIAL_1G" + RIO_SERIAL_2_5G = "RIO_SERIAL_2_5G" + RIO_SERIAL_3G = "RIO_SERIAL_3G" + RISE = "RISE" + # RISE = "RISe" + RISING = "RISING" # RISing + RMS = "RMS" + RMSJITTER = "RMSJITTER" # RMSJitter + RMSNOISE = "RMSNOISE" # RMSNoise + RP = "RP" + RPBINARY = "RPBINARY" # RPBinary + RS232 = "RS232" + RT = "RT" + RUNSTOP = "RUNSTOP" # RUNSTop + RUNT = "RUNT" + RX = "RX" + S8B10B = "S8B10B" + SAMPLE = "SAMPLE" # SAMple + SAS6_0 = "SAS6_0" + SATA1_5 = "SATA1_5" + SATA3_0 = "SATA3_0" + SATA6_0 = "SATA6_0" + SAVE = "SAVE" # SAVe + SCREEN = "SCREEN" + SDASHED = "SDASHED" # SDASHed + SDS = "SDS" + SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" + SECONDS = "SECONDS" # SECOnds + SELECTED = "SELECTED" + SEQUENCE = "SEQUENCE" # SEQuence + SEQUENTIAL = "SEQUENTIAL" + SERIAL = "SERIAL" + SETHOLD = "SETHOLD" # SETHold + SETLEVEL = "SETLEVEL" # SETLevel + SETUP = "SETUP" + SFPBINARY = "SFPBINARY" # SFPbinary + SHORT = "SHORT" + # SHORT = "SHORt" + SHUTDOWN = "SHUTDOWN" # SHUTDown + SIGMA1 = "SIGMA1" + SIGMA2 = "SIGMA2" + SIGMA3 = "SIGMA3" + SINGLEENDED = "SINGLEENDED" # SINGleended + SINX = "SINX" + SIXSIGMAJIT = "SIXSIGMAJIT" # SIXSigmajit + SKP = "SKP" + SLOWERTHAN = "SLOWERTHAN" # SLOWERthan + SMALL = "SMALL" # SMAll + SNAP = "SNAP" # SNAp + SNRATIO = "SNRATIO" # SNRatio + SOF = "SOF" + SOLID = "SOLID" + SOT = "SOT" + SOTERROR = "SOTERROR" # SOTError + SOTSYNC = "SOTSYNC" # SOTSync + SPACE = "SPACE" # SPace + SPECIALPACKET = "SPECIALPACKET" # SPECIALPacket + SPECTRAL = "SPECTRAL" # SPECTral + SPI = "SPI" + SPLIT = "SPLIT" + SRCDEPENDENT = "SRCDEPENDENT" # SRCDependent + SRCINDEPENDENT = "SRCINDEPENDENT" # SRCIndependent + SRIBINARY = "SRIBINARY" # SRIbinary + SRPBINARY = "SRPBINARY" # SRPbinary + SS = "SS" + SSPLIT = "SSPLIT" + STABLE = "STABLE" # STABle + STALL = "STALL" + STANDARD = "STANDARD" + # STANDARD = "STANdard" + # STANDARD = "STandard" + START = "START" + # START = "STARt" + STARTUP = "STARTUP" # STARTup + STATE = "STATE" + STATIC = "STATIC" + STATUS = "STATUS" + # STATUS = "STATus" + STAYSHIGH = "STAYSHIGH" # STAYSHigh + STAYSLOW = "STAYSLOW" # STAYSLow + STDDEV = "STDDEV" # STDdev + STOP = "STOP" + SUBSYS = "SUBSYS" + SUSPEND = "SUSPEND" + SYMBOL = "SYMBOL" + SYMBOLIC = "SYMBOLIC" # SYMBolic + SYNC = "SYNC" + TCPHEADER = "TCPHEADER" # TCPHeader + TEAR = "TEAR" + TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential + TEMPERATURE = "TEMPERATURE" # TEMPErature + TEST = "TEST" + # TEST = "TESt" + TIFF = "TIFF" + TIME = "TIME" + # TIME = "TIMe" + TIMEOUT = "TIMEOUT" # TIMEOut + TOGGLE = "TOGGLE" + TOKENPACKET = "TOKENPACKET" # TOKENPacket + TP = "TP" + TPACK = "TPACK" + TPERDY = "TPERDY" + TPNOTIFY = "TPNOTIFY" # TPNotify + TPNRDY = "TPNRDY" + TPPING = "TPPING" # TPPing + TPRESPONSE = "TPRESPONSE" # TPResponse + TPSTALL = "TPSTALL" # TPSTall + TPSTATUS = "TPSTATUS" # TPStatus + TRACK = "TRACK" # TRACk + TRAINING = "TRAINING" # TRAining + TRANSITION = "TRANSITION" # TRANsition + TRIGGERTOSEARCH = "TRIGGERTOSEARCH" # TRIGgertosearch + TRILEVELCUSTOM = "TRILEVELCUSTOM" # TRILevelcustom + TRUE = "TRUE" # TRUe + TTL = "TTL" + TURNON = "TURNON" + TX = "TX" + ULTRALP = "ULTRALP" + UNDEFINED = "UNDEFINED" + UNDO = "UNDO" # UNDo + UNEQUAL = "UNEQUAL" # UNEQual + UNLOCK = "UNLOCK" + USB = "USB" + USER = "USER" # USEr + V1X = "V1X" + V2X = "V2X" + VALUEMEAN = "VALUEMEAN" # VALUEMean + VBARS = "VBARS" # VBArs + VERTICAL = "VERTICAL" + # VERTICAL = "VERTical" + VFIELDS = "VFIELDS" # VFields + VIDEO = "VIDEO" # VIDeo + VLINES = "VLINES" # VLines + VSROC192 = "VSROC192" + VSYNCEND = "VSYNCEND" # VSYNCEnd + VSYNCSTART = "VSYNCSTART" # VSYNCStart + WAIT = "WAIT" + WARNING = "WARNING" # WARNing + WAVEFORM = "WAVEFORM" # WAVEform + WAVEFORMS = "WAVEFORMS" + WFMDB = "WFMDB" + WIDERTHAN = "WIDERTHAN" # WIDERthan + WIDTH = "WIDTH" # WIDth + WINDOW = "WINDOW" # WINdow + WITHIN = "WITHIN" # WITHin + # WITHIN = "WIThin" + WRITE = "WRITE" + X = "X" + XFF = "XFF" + XLARGE = "XLARGE" + XSMALL = "XSMALL" # XSMAll + XY = "XY" + XYZ = "XYZ" + Y = "Y" + YCBCR12 = "YCBCR12" + YCBCR16 = "YCBCR16" + YCBCR20 = "YCBCR20" + YCBCR24 = "YCBCR24" + YES = "YES" + # YES = "Yes" + YT = "YT" + YUV420B10 = "YUV420B10" + YUV420B8 = "YUV420B8" + YUV420C10 = "YUV420C10" + YUV420C8 = "YUV420C8" + YUV420L8 = "YUV420L8" + YUV422B10 = "YUV422B10" + YUV422B8 = "YUV422B8" + ZERO = "ZERO" + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class DPO5KCommands: + """The DPO5K commands. + + This provides access to all the commands for the DPO5K device. See the documentation of each + property for more usage information. + + Properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + + # pylint: disable=too-many-statements + def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 + self._acquire = Acquire(device) + self._alias = Alias(device) + self._allev = Allev(device) + self._allocate = Allocate(device) + self._application = Application(device) + self._autoset = Autoset(device) + self._auxin = Auxin(device) + self._auxout = Auxout(device) + self._bell = Bell(device) + self._bus = Bus(device) + self._busy = Busy(device) + self._cal = Cal(device) + self._calibrate = Calibrate(device) + self._ch: Dict[int, Channel] = DefaultDictPassKeyToFactory( + lambda x: Channel(device, f"CH{x}") + ) + self._clear = Clear(device) + self._cls = Cls(device) + self._cmdbatch = Cmdbatch(device) + self._counter = Counter(device) + self._cq: Dict[int, CqItem] = DefaultDictPassKeyToFactory( + lambda x: CqItem(device, f"CQ{x}") + ) + self._cursor = Cursor(device) + self._curve = Curve(device) + self._curvenext = Curvenext(device) + self._curvestream = Curvestream(device) + self._custom = Custom(device) + self._d: Dict[int, DigitalBit] = DefaultDictPassKeyToFactory( + lambda x: DigitalBit(device, f"D{x}") + ) + self._data = Data(device) + self._date = Date(device) + self._ddt = Ddt(device) + self._delete = Delete(device) + self._dese = Dese(device) + self._diag = Diag(device) + self._display = Display(device) + self._email = Email(device) + self._errordetector = Errordetector(device) + self._ese = Ese(device) + self._esr = Esr(device) + self._event = Event(device) + self._evmsg = Evmsg(device) + self._evqty = Evqty(device) + self._export = Export(device) + self._factory = Factory(device) + self._fastacq = Fastacq(device) + self._filesystem = Filesystem(device) + self._gpibusb = Gpibusb(device) + self._hardcopy = Hardcopy(device) + self._hdr = Hdr(device) + self._header = Header(device) + self._histogram = Histogram(device) + self._horizontal = Horizontal(device) + self._id = Id(device) + self._idn = Idn(device) + self._limit = Limit(device) + self._linktraining = Linktraining(device) + self._lock = Lock(device) + self._lrn = Lrn(device) + self._mark = Mark(device) + self._mask = Mask(device) + self._math: Dict[int, MathItem] = DefaultDictPassKeyToFactory( + lambda x: MathItem(device, f"MATH{x}") + ) + self._matharbflt: Dict[int, MatharbfltItem] = DefaultDictPassKeyToFactory( + lambda x: MatharbfltItem(device, f"MATHArbflt{x}") + ) + self._mathvar = Mathvar(device) + self._mch: Dict[int, MchItem] = DefaultDictPassKeyToFactory( + lambda x: MchItem(device, f"MCH{x}") + ) + self._measurement = Measurement(device) + self._multiscope = Multiscope(device) + self._newpass = Newpass(device) + self._opc = Opc(device) + self._opcextended = Opcextended(device) + self._opt = Opt(device) + self._password = Password(device) + self._pcenable = Pcenable(device) + self._psc = Psc(device) + self._pud = Pud(device) + self._rcl = Rcl(device) + self._recall = Recall(device) + self._ref: Dict[int, RefItem] = DefaultDictPassKeyToFactory( + lambda x: RefItem(device, f"REF{x}") + ) + self._rem = Rem(device) + self._rosc = Rosc(device) + self._rst = Rst(device) + self._sav = Sav(device) + self._save = Save(device) + self._saveon = Saveon(device) + self._sds = Sds(device) + self._search = Search(device) + self._select = Select(device) + self._set = Set(device) + self._setup = Setup(device) + self._sre = Sre(device) + self._stb = Stb(device) + self._system = System(device) + self._teklink = Teklink(device) + self._teksecure = Teksecure(device) + self._test = Test(device) + self._time = Time(device) + self._trg = Trg(device) + self._trig = Trig(device) + self._trigger = Trigger(device) + self._tst = Tst(device) + self._unlock = Unlock(device) + self._usbtmc = Usbtmc(device) + self._verbose = Verbose(device) + self._visual = Visual(device) + self._wai = Wai(device) + self._wavfrm = Wavfrm(device) + self._wavfrmstream = Wavfrmstream(device) + self._wfminpre = Wfminpre(device) + self._wfmoutpre = Wfmoutpre(device) + self._wfmpre = Wfmpre(device) + self._zoom = Zoom(device) + + @property + def acquire(self) -> Acquire: + """Return the ``ACQuire`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACQuire?`` query. + - Using the ``.verify(value)`` method will send the ``ACQuire?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enhancedenob``: The ``ACQuire:ENHANCEDEnob`` command. + - ``.interpeightbit``: The ``ACQuire:INTERPEightbit`` command. + - ``.magnivu``: The ``ACQuire:MAGnivu`` command. + - ``.mode``: The ``ACQuire:MODe`` command. + - ``.numacq``: The ``ACQuire:NUMACq`` command. + - ``.numavg``: The ``ACQuire:NUMAVg`` command. + - ``.numenv``: The ``ACQuire:NUMEnv`` command. + - ``.numframesacquired``: The ``ACQuire:NUMFRAMESACQuired`` command. + - ``.numsamples``: The ``ACQuire:NUMSAMples`` command. + - ``.samplingmode``: The ``ACQuire:SAMPlingmode`` command. + - ``.state``: The ``ACQuire:STATE`` command. + - ``.stopafter``: The ``ACQuire:STOPAfter`` command. + - ``.syncsamples``: The ``ACQuire:SYNcsamples`` command. + """ + return self._acquire + + @property + def alias(self) -> Alias: + """Return the ``ALIas`` command. + + **Description:** + - This command sets or queries the state of alias functionality, and it is identical to + the ``ALIAS:STATE`` command. + + **Usage:** + - Using the ``.query()`` method will send the ``ALIas?`` query. + - Using the ``.verify(value)`` method will send the ``ALIas?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ALIas value`` command. + + **SCPI Syntax:** + + :: + + - ALIas {OFF|ON|} + - ALIas? + + **Info:** + - ``OFF`` turns Alias expansion off. + - ``ON`` turns Alias expansion on. When a defined alias is received, the specified + command sequence is substituted for the alias and executed. + - ```` = 0 disables Alias mode; any other value enables Alias mode. + + Sub-properties: + - ``.catalog``: The ``ALIas:CATalog`` command. + - ``.define``: The ``ALIas:DEFine`` command. + - ``.delete``: The ``ALIas:DELEte`` command. + - ``.state``: The ``ALIas:STATE`` command. + """ + return self._alias + + @property + def allev(self) -> Allev: + """Return the ``ALLEv`` command. + + **Description:** + - This query-only command prompts the instrument to return all events and their messages + (delimited by commas), and removes the returned events from the Event Queue. Use the + ``*ESR?`` query to enable the events to be returned. This command is similar to + repeatedly sending ``*EVMsg?`` queries to the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLEv?`` query. + - Using the ``.verify(value)`` method will send the ``ALLEv?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ALLEv? + """ + return self._allev + + @property + def allocate(self) -> Allocate: + """Return the ``ALLOcate`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLOcate?`` query. + - Using the ``.verify(value)`` method will send the ``ALLOcate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.waveform``: The ``ALLOcate:WAVEform`` command tree. + """ + return self._allocate + + @property + def application(self) -> Application: + """Return the ``APPLication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``APPLication?`` query. + - Using the ``.verify(value)`` method will send the ``APPLication?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.activate``: The ``APPLication:ACTivate`` command. + - ``.scopeapp``: The ``APPLication:SCOPEAPP`` command tree. + """ + return self._application + + @property + def autoset(self) -> Autoset: + """Return the ``AUTOSet`` command. + + **Description:** + - This command (no query format) sets the vertical, horizontal, and trigger controls of + the instrument to automatically acquire and display the selected waveform. (To autoset + a video waveform, the video trigger must be set to video standard, not custom. Video + arguments require video hardware.) This is equivalent to pressing the front panel + AUTOSET button. For a detailed description of autoset functionality, see Autoset in + the index of the online help for your instrument. + + **Usage:** + - Using the ``.write(value)`` method will send the ``AUTOSet value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSet {EXECute|UNDo|VFields|VIDeo|VLines} + + **Info:** + - ``EXECute`` runs the autoset routine; this is equivalent to pressing the front panel + AUTOSET button. If the display is set to a PAL, MV, or IRE graticule, this argument + forces the graticule display to full mode (frame, grid, and cross hair). + - ``UNDo`` returns the instrument to the setting prior to executing an autoset. + - ``VFields`` autosets the displayed waveform. + - ``VIDeo`` autosets the displayed waveform. + - ``VLines`` autosets the displayed waveform. + + Sub-properties: + - ``.overlay``: The ``AUTOSet:OVErlay`` command. + - ``.percent``: The ``AUTOSet:PERcent`` command. + """ + return self._autoset + + @property + def auxin(self) -> Auxin: + """Return the ``AUXIn`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXIn?`` query. + - Using the ``.verify(value)`` method will send the ``AUXIn?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bandwidth``: The ``AUXIn:BANdwidth`` command. + - ``.coupling``: The ``AUXIn:COUPling`` command. + - ``.offset``: The ``AUXIn:OFFSet`` command. + - ``.probefunc``: The ``AUXIn:PROBEFunc`` command tree. + - ``.probe``: The ``AUXIn:PRObe`` command tree. + - ``.vterm``: The ``AUXIn:VTERm`` command tree. + """ + return self._auxin + + @property + def auxout(self) -> Auxout: + """Return the ``AUXout`` command. + + **Description:** + - This query-only command returns the auxiliary output setup and is equivalent to + selecting External Signals. From the Utilities menu, and then viewing the current + settings for the AUX OUT Configuration. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXout?`` query. + - Using the ``.verify(value)`` method will send the ``AUXout?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - AUXout? + + Sub-properties: + - ``.edge``: The ``AUXout:EDGE`` command. + - ``.source``: The ``AUXout:SOUrce`` command. + """ + return self._auxout + + @property + def bell(self) -> Bell: + """Return the ``BELl`` command. + + **Description:** + - This command was previously used to beep an audio indicator and is provided for + backward compatibility. + + **Usage:** + - Using the ``.write()`` method will send the ``BELl`` command. + + **SCPI Syntax:** + + :: + + - BELl + """ + return self._bell + + @property + def bus(self) -> Bus: + """Return the ``BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.b1``: The ``BUS:B1`` command tree. + - ``.b``: The ``BUS:B`` command tree. + - ``.ch``: The ``BUS:CH`` command tree. + - ``.math``: The ``BUS:MATH`` command tree. + - ``.ref``: The ``BUS:REF`` command tree. + """ + return self._bus + + @property + def busy(self) -> Busy: + """Return the ``BUSY`` command. + + **Description:** + - This query-only command returns the status of the instrument. This command allows you + to synchronize the operation of the instrument with your application program. + + **Usage:** + - Using the ``.query()`` method will send the ``BUSY?`` query. + - Using the ``.verify(value)`` method will send the ``BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - BUSY? + """ + return self._busy + + @property + def cal(self) -> Cal: + """Return the ``*CAL`` command. + + **Description:** + - This query-only command starts signal path calibration (SPC) and returns the status + upon completion. + + **Usage:** + - Using the ``.query()`` method will send the ``*CAL?`` query. + - Using the ``.verify(value)`` method will send the ``*CAL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *CAL? + """ + return self._cal + + @property + def calibrate(self) -> Calibrate: + """Return the ``CALibrate`` command. + + **Description:** + - This query returns the status of signal path calibration. + + **Usage:** + - Using the ``.query()`` method will send the ``CALibrate?`` query. + - Using the ``.verify(value)`` method will send the ``CALibrate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CALibrate? + + Sub-properties: + - ``.calprobe``: The ``CALibrate:CALProbe`` command tree. + - ``.internal``: The ``CALibrate:INTERNal`` command. + - ``.probestate``: The ``CALibrate:PRObestate`` command tree. + - ``.results``: The ``CALibrate:RESults`` command. + """ + return self._calibrate + + @property + def ch(self) -> Dict[int, Channel]: + """Return the ``CH`` command. + + **Description:** + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CH? + + Sub-properties: + - ``.atiactive``: The ``CH:ATIACTive`` command. + - ``.available``: The ``CH:AVAILable`` command. + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.coupling``: The ``CH:COUPling`` command. + - ``.deskew``: The ``CH:DESKew`` command. + - ``.fastacqcapable``: The ``CH:FASTAcqcapable`` command. + - ``.fastframecapable``: The ``CH:FASTFRamecapable`` command. + - ``.icapture``: The ``CH:ICAPture`` command tree. + - ``.invert``: The ``CH:INVert`` command. + - ``.label``: The ``CH:LABel`` command tree. + - ``.offset``: The ``CH:OFFSet`` command. + - ``.opti``: The ``CH:OPTI`` command tree. + - ``.optical``: The ``CH:OPTIcal`` command tree. + - ``.position``: The ``CH:POSition`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scale``: The ``CH:SCAle`` command. + - ``.termination``: The ``CH:TERmination`` command. + - ``.threshold``: The ``CH:THRESHold`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + """ + return self._ch + + @property + def clear(self) -> Clear: + """Return the ``CLEAR`` command. + + **Description:** + - This command clears acquisitions, measurements, and waveforms. + + **Usage:** + - Using the ``.write(value)`` method will send the ``CLEAR value`` command. + + **SCPI Syntax:** + + :: + + - CLEAR {ALL} + """ + return self._clear + + @property + def cls(self) -> Cls: + """Return the ``*CLS`` command. + + **Description:** + - This command (no query form) clears the following: Event Queue Standard Event Status + Register Status Byte Register (except the MAV bit) If the ``*CLS`` command immediately + follows an , the Output Queue and MAV bit (Status Byte Register bit 4) are also + cleared. MAV indicates that information is in the output queue. The device clear (DCL) + control message will clear the output queue and thus MAV. ``*CLS`` does not clear the + output queue or MAV. ``*CLS`` can suppress a Service Request that is to be generated + by an ``*OPC``. This will happen if a single sequence acquisition operation is still + being processed when the ``*CLS`` command is executed. + + **Usage:** + - Using the ``.write()`` method will send the ``*CLS`` command. + + **SCPI Syntax:** + + :: + + - *CLS + """ + return self._cls + + @property + def cmdbatch(self) -> Cmdbatch: + """Return the ``CMDBatch`` command. + + **Description:** + - This command sets or queries the state of command batching. By batching commands, + database transactions can be optimized, increasing command throughput. Also, batching + allows for ALL commands in an individual batch to be order independent and accomplish + the same result as if the commands were coupled. The Batch state is persistent and + will be saved across power cycles, but will not be saved and recalled as part of a + setup. In a setup scenario, the factory initial value is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``CMDBatch?`` query. + - Using the ``.verify(value)`` method will send the ``CMDBatch?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CMDBatch value`` command. + + **SCPI Syntax:** + + :: + + - CMDBatch {OFF|ON} + - CMDBatch? + + **Info:** + - ```` = 0 turns command batching off; any other value turns command batching on. + - ``OFF`` turns command batching off. + - ``ON`` turns command batching on. + """ + return self._cmdbatch + + @property + def counter(self) -> Counter: + """Return the ``COUnter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``COUnter?`` query. + - Using the ``.verify(value)`` method will send the ``COUnter?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.results``: The ``COUnter:RESULTs`` command. + """ + return self._counter + + @property + def cq(self) -> Dict[int, CqItem]: + """Return the ``CQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CQ?`` query. + - Using the ``.verify(value)`` method will send the ``CQ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``CQ:THRESHold`` command. + """ + return self._cq + + @property + def cursor(self) -> Cursor: + """Return the ``CURSor`` command. + + **Description:** + - Returns all of the current cursor settings. + + **Usage:** + - Using the ``.query()`` method will send the ``CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``CURSor?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURSor? + + Sub-properties: + - ``.function``: The ``CURSor:FUNCtion`` command. + - ``.hbars``: The ``CURSor:HBArs`` command. + - ``.linestyle``: The ``CURSor:LINESTyle`` command. + - ``.mode``: The ``CURSor:MODe`` command. + - ``.screen``: The ``CURSor:SCREEN`` command tree. + - ``.source1``: The ``CURSor:SOUrce1`` command. + - ``.state``: The ``CURSor:STATE`` command. + - ``.vbars``: The ``CURSor:VBArs`` command. + - ``.waveform``: The ``CURSor:WAVEform`` command. + - ``.xy``: The ``CURSor:XY`` command. + """ + return self._cursor + + @property + def curve(self) -> Curve: + """Return the ``CURVe`` command. + + **Description:** + - The ``CURVe`` command transfers the waveform data points the oscilloscope's internal + reference memory location (REF1-4), which is specified by the to ``DATa:DESTination`` + command. The ``CURVe?`` query transfers data the oscilloscope; the source waveform is + specified by the from ``DATa:SOUrce`` command. The first and last data points are + specified by the ``DATa:STARt`` and ``DATa:STOP`` commands. Associated with each + waveform transferred using the ``CURVe`` command or query is a waveform preamble that + provides the data format, scale and associated information needed to interpret the + waveform data points. The preamble information for waveforms sent the oscilloscope is + specified using the to WFMInpre commands. The preamble information for waveforms + transferred the oscilloscope is specified or queried using the from WFMOutpre + commands. If the waveform is not displayed, the query form generates an error. The + ``CURVe`` command and ``CURVe?`` query transfer waveform data in ASCII or binary + format. ASCII data is sent as a comma-separated list of decimal values. Binary data is + sent with the IEEE488.2 binary block header immediately followed by the binary data. + The IEEE488.2 binary block header is defined as follows: #N where: N is a + single decimal or hexadecimal digit indicating the number of digits to follow. + are the decimal digits representing the number of bytes in the data that + immediately follows this binary block header. The Waveform Transfer command group text + contains more comprehensive information. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVe?`` query. + - Using the ``.verify(value)`` method will send the ``CURVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVe value`` command. + + **SCPI Syntax:** + + :: + + - CURVe {|} + - CURVe? + + **Info:** + - ```` is the waveform data in binary format. The waveform is formatted as + follows. + - ```` is the waveform data in ASCII format. The format for ASCII data is + [,..], where each represents a data point. For RF frequency domain + waveforms, the data is transmitted as 4-byte floating point values (NR2 or NR3). + """ + return self._curve + + @property + def curvenext(self) -> Curvenext: + """Return the ``CURVENext`` command. + + **Description:** + - This query-only command returns unique waveform data from the instrument. This query + performs just like CURVE?, except multiple uses guarantee that the waveform returned + is always a new acquisition since the previous CURVENEXT. Note that if the instrument + is acquiring waveform records at a slow rate (high resolution mode), you must + configure the controller for long timeout thresholds. Data will not be transferred + until a new waveform is acquired since the previous ``:CURVENext?`` response. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVENext?`` query. + - Using the ``.verify(value)`` method will send the ``CURVENext?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURVENext? + """ + return self._curvenext + + @property + def curvestream(self) -> Curvestream: + """Return the ``CURVEStream`` command. + + **Description:** + - This query continuously transfers waveform data from the instrument as it is acquired. + This command puts the instrument into a talk-only mode, allowing the controller to + receive waveform records as fast as (and as soon as) they are acquired. Use the + ``DATA:SOURCE`` command to specify the waveform sources. The command does the same + thing as the CURVE command. Control of the instrument through the user interface or + other external client is not possible while in streaming mode. The GPIB controller + must take the instrument out of this continuous talking mode to terminate the query + and allow other input sources to resume communication with the instrument. The + following options are available to transition out of streaming curve mode: send a + device clear over the bus or send another query to the instrument (a MEPE Query + Interrupted error will occur, but the instrument will be placed back into its normal + talk/listen mode). Turning the waveform screen display mode off + (``:DISPLAY:WAVEFORM OFF``) will increase waveform throughput during streaming mode. + While in streaming mode, two extreme conditions can occur. If the waveform records are + being acquired slowly (high resolution), configure the controller for long time-out + thresholds, as the data is not sent out until each complete record is acquired. If the + waveform records are being acquired rapidly (low resolution), and the controller is + not reading the data off the bus fast enough, the trigger rate is slowed to allow each + waveform to be sent sequentially. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVEStream?`` query. + - Using the ``.verify(value)`` method will send the ``CURVEStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVEStream value`` command. + + **SCPI Syntax:** + + :: + + - CURVEStream {|} + - CURVEStream? + """ + return self._curvestream + + @property + def custom(self) -> Custom: + """Return the ``CUSTOM`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CUSTOM?`` query. + - Using the ``.verify(value)`` method will send the ``CUSTOM?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.gate``: The ``CUSTOM:GATE`` command tree. + - ``.select``: The ``CUSTOM:SELECT`` command tree. + """ + return self._custom + + @property + def d(self) -> Dict[int, DigitalBit]: + """Return the ``D`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``D?`` query. + - Using the ``.verify(value)`` method will send the ``D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.label``: The ``D:LABEL`` command. + - ``.position``: The ``D:POSition`` command. + - ``.probe``: The ``D:PROBE`` command tree. + - ``.threshold``: The ``D:THRESHold`` command. + """ + return self._d + + @property + def data(self) -> Data: + """Return the ``DATa`` command. + + **Description:** + - This command sets or queries the format and location of the waveform data that is + transferred with the CURVE command. + + **Usage:** + - Using the ``.query()`` method will send the ``DATa?`` query. + - Using the ``.verify(value)`` method will send the ``DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATa value`` command. + + **SCPI Syntax:** + + :: + + - DATa {INIT|SNAp} + - DATa? + + **Info:** + - ``INIT`` initializes the waveform data parameters to their factory defaults except for + ``DATa:STOP``, which isset to the current acquisition record length. + - ``SNAp`` Sets ``DATa:STARt`` and ``DATa:STOP`` to match the current waveform cursor + positions of WAVEVIEW1 CURSOR1 if these waveform cursors are currently on. If these + waveform cursors are not on when the ``DATa SNAp`` command is sent, it is silently + ignored and ``DATa:STARt`` and ``:STOP`` remain unchanged. + + Sub-properties: + - ``.destination``: The ``DATa:DESTination`` command. + - ``.encdg``: The ``DATa:ENCdg`` command. + - ``.framestart``: The ``DATa:FRAMESTARt`` command. + - ``.framestop``: The ``DATa:FRAMESTOP`` command. + - ``.source``: The ``DATa:SOUrce`` command. + - ``.start``: The ``DATa:STARt`` command. + - ``.stop``: The ``DATa:STOP`` command. + - ``.syncsources``: The ``DATa:SYNCSOUrces`` command. + """ + return self._data + + @property + def date(self) -> Date: + """Return the ``DATE`` command. + + **Description:** + - This command specifies the date the oscilloscope displays. + + **Usage:** + - Using the ``.query()`` method will send the ``DATE?`` query. + - Using the ``.verify(value)`` method will send the ``DATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATE value`` command. + + **SCPI Syntax:** + + :: + + - DATE + - DATE? + + **Info:** + - ```` is a date in the form 'yyyy-mm-dd' where yyyy refers to a four-digit + year number, mm refers to a two-digit month number from 01 to 12, and dd refers to a + two-digit day number in the month. + """ + return self._date + + @property + def ddt(self) -> Ddt: + """Return the ``*DDT`` command. + + **Description:** + - This command allows you to specify a command or a list of commands that are executed + when the instrument receives a TRG command. Define Device Trigger ( ``*DDT`` ) is a + special alias that the ``*TRG`` command uses. + + **Usage:** + - Using the ``.query()`` method will send the ``*DDT?`` query. + - Using the ``.verify(value)`` method will send the ``*DDT?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*DDT value`` command. + + **SCPI Syntax:** + + :: + + - *DDT {|} + - *DDT? + + **Info:** + - ```` is a complete sequence of program messages. The messages can contain only + valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. The + format of this argument is always returned as a query. + - ```` is a complete sequence of program messages. The messages can contain + only valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. + """ + return self._ddt + + @property + def delete(self) -> Delete: + """Return the ``DELEte`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DELEte?`` query. + - Using the ``.verify(value)`` method will send the ``DELEte?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``DELEte:SETUp`` command. + - ``.waveform``: The ``DELEte:WAVEform`` command. + """ + return self._delete + + @property + def dese(self) -> Dese: + """Return the ``DESE`` command. + + **Description:** + - This command sets and queries the bits in the Device Event Status Enable Register + (DESER). The DESER is the mask that determines whether events are reported to the + Standard Event Status Register (SESR), and entered into the Event Queue. For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``DESE?`` query. + - Using the ``.verify(value)`` method will send the ``DESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DESE value`` command. + + **SCPI Syntax:** + + :: + + - DESE + - DESE? + + **Info:** + - ```` The binary bits of the DESER are set according to this value, which ranges + from 1 through 255. For example, ``DESE 209`` sets the DESER to the binary value + 11010001 (that is, the most significant bit in the register is set to 1, the next most + significant bit to 1, the next bit to 0, etc.). + """ + return self._dese + + @property + def diag(self) -> Diag: + """Return the ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.control``: The ``DIAg:CONTROL`` command tree. + - ``.execute``: The ``DIAg:EXECUTE`` command. + - ``.failures``: The ``DIAg:FAILURES`` command tree. + - ``.item``: The ``DIAg:ITEM`` command. + - ``.level``: The ``DIAg:LEVEL`` command. + - ``.loops``: The ``DIAg:LOOPS`` command. + - ``.name``: The ``DIAg:NAMe`` command. + - ``.numitems``: The ``DIAg:NUMITEMS`` command. + - ``.results``: The ``DIAg:RESults`` command. + - ``.select``: The ``DIAg:SELect`` command tree. + - ``.state``: The ``DIAg:STATE`` command. + - ``.stop``: The ``DIAg:STOP`` command. + """ + return self._diag + + @property + def display(self) -> Display: + """Return the ``DISplay`` command. + + **Description:** + - This query-only command returns the current Display settings. + + **Usage:** + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DISplay? + + Sub-properties: + - ``.clock``: The ``DISplay:CLOCk`` command. + - ``.color``: The ``DISplay:COLOr`` command. + - ``.data``: The ``DISplay:DATa`` command. + - ``.deskew``: The ``DISplay:DESKew`` command. + - ``.digital``: The ``DISplay:DIGital`` command tree. + - ``.dpojetplot``: The ``DISplay:DPOJETPlot`` command. + - ``.filter``: The ``DISplay:FILTer`` command. + - ``.format``: The ``DISplay:FORMat`` command. + - ``.graticule``: The ``DISplay:GRAticule`` command. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.screentext``: The ``DISplay:SCREENTExt`` command. + - ``.showremote``: The ``DISplay:SHOWREmote`` command. + - ``.style``: The ``DISplay:STYle`` command. + - ``.trigbar``: The ``DISplay:TRIGBar`` command. + - ``.trigt``: The ``DISplay:TRIGT`` command. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveform``: The ``DISplay:WAVEform`` command. + """ + return self._display + + @property + def email(self) -> Email: + """Return the ``EMail`` command. + + **Description:** + - This command (no query form) sends a test e-mail message or sets the current e-mail + sent count to zero. + + **Usage:** + - Using the ``.write(value)`` method will send the ``EMail value`` command. + + **SCPI Syntax:** + + :: + + - EMail {TESt|RESET} + + **Info:** + - ``TESt`` argument sends a test e-mail message. + - ``RESET`` argument sets the e-mail sent count to zero. + + Sub-properties: + - ``.attempts``: The ``EMail:ATTempts`` command. + - ``.authlogin``: The ``EMail:AUTHLogin`` command. + - ``.authpassword``: The ``EMail:AUTHPassword`` command. + - ``.count``: The ``EMail:COUNt`` command. + - ``.from``: The ``EMail:FROm`` command. + - ``.hostwanted``: The ``EMail:HOSTwanted`` command. + - ``.image``: The ``EMail:IMAGe`` command. + - ``.limit``: The ``EMail:LIMit`` command. + - ``.mask``: The ``EMail:MASK`` command. + - ``.maxsize``: The ``EMail:MAXSize`` command. + - ``.measurement``: The ``EMail:MEASUrement`` command. + - ``.numemails``: The ``EMail:NUMEMails`` command. + - ``.smtpport``: The ``EMail:SMTPPort`` command. + - ``.smtpserver``: The ``EMail:SMTPServer`` command. + - ``.status``: The ``EMail:STATUS`` command. + - ``.timeout``: The ``EMail:TIMEOut`` command. + - ``.to``: The ``EMail:TO`` command. + - ``.trigger``: The ``EMail:TRIGger`` command. + - ``.waveform``: The ``EMail:WAVEform`` command. + """ + return self._email + + @property + def errordetector(self) -> Errordetector: + """Return the ``ERRORDetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.alert``: The ``ERRORDetector:ALERT`` command. + - ``.aligncharacter``: The ``ERRORDetector:ALIGNCHARacter`` command. + - ``.alignprimitive``: The ``ERRORDetector:ALIGNPRIMitive`` command. + - ``.bit``: The ``ERRORDetector:BIT`` command tree. + - ``.bitrate``: The ``ERRORDetector:BITRate`` command. + - ``.channel``: The ``ERRORDetector:CHANnel`` command. + - ``.duration``: The ``ERRORDetector:DURATION`` command tree. + - ``.errorlimit``: The ``ERRORDetector:ERRORLIMIT`` command. + - ``.file``: The ``ERRORDetector:FILE`` command tree. + - ``.fontsize``: The ``ERRORDetector:FONTSIze`` command. + - ``.frame``: The ``ERRORDetector:FRAme`` command. + - ``.maxaligns``: The ``ERRORDetector:MAXALIGNS`` command. + - ``.patternname``: The ``ERRORDetector:PATTERNNAME`` command. + - ``.preset``: The ``ERRORDetector:PREset`` command. + - ``.saveimage``: The ``ERRORDetector:SAVEIMAGE`` command. + - ``.savewfm``: The ``ERRORDetector:SAVEWFM`` command. + - ``.scrambled``: The ``ERRORDetector:SCRAMBLED`` command. + - ``.sendemail``: The ``ERRORDetector:SENDEMAIL`` command. + - ``.signaltype``: The ``ERRORDetector:SIGnaltype`` command. + - ``.ssc``: The ``ERRORDetector:SSC`` command. + - ``.standard``: The ``ERRORDetector:STANdard`` command. + - ``.state``: The ``ERRORDetector:STATE`` command. + - ``.status``: The ``ERRORDetector:STATus`` command. + - ``.stopwhen``: The ``ERRORDetector:STOPWHEN`` command. + - ``.symbol``: The ``ERRORDetector:SYMBOL`` command. + - ``.timeformat``: The ``ERRORDetector:TIMEformat`` command. + - ``.type``: The ``ERRORDetector:TYPe`` command. + """ + return self._errordetector + + @property + def ese(self) -> Ese: + """Return the ``*ESE`` command. + + **Description:** + - This command sets and queries the bits in the Event Status Enable Register (ESER). The + ESER prevents events from being reported to the Status Byte Register (STB). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESE?`` query. + - Using the ``.verify(value)`` method will send the ``*ESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*ESE value`` command. + + **SCPI Syntax:** + + :: + + - *ESE + - *ESE? + + **Info:** + - ```` specifies the binary bits of the ESER according to this value, which ranges + from 0 through 255. + """ + return self._ese + + @property + def esr(self) -> Esr: + """Return the ``*ESR`` command. + + **Description:** + - This query-only command returns the contents of the Standard Event Status Register + (SESR). ``*ESR?`` also clears the SESR (since reading the SESR clears it). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESR?`` query. + - Using the ``.verify(value)`` method will send the ``*ESR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *ESR? + """ + return self._esr + + @property + def event(self) -> Event: + """Return the ``EVENT`` command. + + **Description:** + - This query-only command returns an event code from the Event Queue that provides + information about the results of the last ESR read. ``EVENT?`` also removes the + returned value from the Event Queue. + + **Usage:** + - Using the ``.query()`` method will send the ``EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``EVENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVENT? + """ + return self._event + + @property + def evmsg(self) -> Evmsg: + """Return the ``EVMsg`` command. + + **Description:** + - This query-only command removes a single event code from the Event Queue that is + associated with the results of the last ESR read and returns the event code with an + explanatory message. For more information, see Event Handling. + + **Usage:** + - Using the ``.query()`` method will send the ``EVMsg?`` query. + - Using the ``.verify(value)`` method will send the ``EVMsg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVMsg? + """ + return self._evmsg + + @property + def evqty(self) -> Evqty: + """Return the ``EVQty`` command. + + **Description:** + - This query-only command returns the number of events that are enabled in the queue. + This is useful when using the ALLEV query, since it lets you know exactly how many + events will be returned. + + **Usage:** + - Using the ``.query()`` method will send the ``EVQty?`` query. + - Using the ``.verify(value)`` method will send the ``EVQty?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVQty? + """ + return self._evqty + + @property + def export(self) -> Export: + """Return the ``EXPort`` command. + + **Description:** + - This command sends a copy of the waveform to the file path specified by + ``EXPORT:FILENAME``. The ``EXPort`` query returns image format and file information. + + **Usage:** + - Using the ``.query()`` method will send the ``EXPort?`` query. + - Using the ``.verify(value)`` method will send the ``EXPort?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``EXPort value`` command. + + **SCPI Syntax:** + + :: + + - EXPort STARt + - EXPort? + + **Info:** + - ``STARt`` initiates the export. + + Sub-properties: + - ``.filename``: The ``EXPort:FILEName`` command. + - ``.format``: The ``EXPort:FORMat`` command. + - ``.palette``: The ``EXPort:PALEtte`` command. + - ``.readouts``: The ``EXPort:READOuts`` command. + - ``.view``: The ``EXPort:VIEW`` command. + """ + return self._export + + @property + def factory(self) -> Factory: + """Return the ``FACtory`` command. + + **Description:** + - This command (no query form) resets the instrument to its factory default settings. + This command is equivalent to pressing the DEFAULT SETUP button located on the + instrument front panel or selecting Default Setup from the File menu. This command + Performs the following in addition to what is done for the ``*RST`` command: Clears + any pending OPC operations. Resets the following IEEE488.2 registers: ``*ESE 0`` + (Event Status Enable Register) ``*SRE 0`` (Service Request Enable Register) DESE 255 + (Device Event Status Enable Register) ``*PSC 1`` (Power-on Status Clear Flag) Deletes + all defined aliases. Enables command headers (``:HEADer 1``). + + **Usage:** + - Using the ``.write()`` method will send the ``FACtory`` command. + + **SCPI Syntax:** + + :: + + - FACtory + """ + return self._factory + + @property + def fastacq(self) -> Fastacq: + """Return the ``FASTAcq`` command. + + **Description:** + - This query-only command returns the state of Fast Acquisitions. This command is + equivalent to pressing the FASTACQ button on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``FASTAcq?`` query. + - Using the ``.verify(value)`` method will send the ``FASTAcq?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FASTAcq? + + Sub-properties: + - ``.hiacqrate``: The ``FASTAcq:HIACQRATE`` command. + - ``.state``: The ``FASTAcq:STATE`` command. + """ + return self._fastacq + + @property + def filesystem(self) -> Filesystem: + """Return the ``FILESystem`` command. + + **Description:** + - This query-only command returns the directory listing of the current working + directory. This query is the same as the ``FILESystem:DIR?`` query. + + **Usage:** + - Using the ``.query()`` method will send the ``FILESystem?`` query. + - Using the ``.verify(value)`` method will send the ``FILESystem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FILESystem? + + Sub-properties: + - ``.copy``: The ``FILESystem:COPy`` command. + - ``.cwd``: The ``FILESystem:CWD`` command. + - ``.delete``: The ``FILESystem:DELEte`` command. + - ``.dir``: The ``FILESystem:DIR`` command. + - ``.mkdir``: The ``FILESystem:MKDir`` command. + - ``.print``: The ``FILESystem:PRInt`` command. + - ``.readfile``: The ``FILESystem:READFile`` command. + - ``.rename``: The ``FILESystem:REName`` command. + - ``.rmdir``: The ``FILESystem:RMDir`` command. + - ``.writefile``: The ``FILESystem:WRITEFile`` command. + """ + return self._filesystem + + @property + def gpibusb(self) -> Gpibusb: + """Return the ``GPIBUsb`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``GPIBUsb?`` query. + - Using the ``.verify(value)`` method will send the ``GPIBUsb?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``GPIBUsb:ADDress`` command. + - ``.hwversion``: The ``GPIBUsb:HWVersion`` command. + - ``.id``: The ``GPIBUsb:ID`` command. + """ + return self._gpibusb + + @property + def hardcopy(self) -> Hardcopy: + """Return the ``HARDCopy`` command. + + **Description:** + - This command sends a copy of the screen display to the port specified by + ``HARDCopy:PORT``. This command is equivalent to pressing the PRINT button on the + front panel. When printing to a file, the file format can be BMP, JPG, PNG, PCX or + TIFF. The format of the saved screen capture is set by the ``EXPORT:FORMAT`` command. + The file format setting is persistent, and will not be affected by a default setup or + ``*RST`` command sent to the instrument. The ``HARDCopy`` query returns the port and + file path. + + **Usage:** + - Using the ``.query()`` method will send the ``HARDCopy?`` query. + - Using the ``.verify(value)`` method will send the ``HARDCopy?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HARDCopy value`` command. + + **SCPI Syntax:** + + :: + + - HARDCopy STARt + - HARDCopy? + + **Info:** + - ``STARt`` initiates a screen copy to a file or the default system printer, as + specified by the ``:HARDCopy:PORT`` selection. The default system printer is set + within the Windows operating system. If you need information about how to set the + default system printer, refer to Microsoft Windows online help. + + Sub-properties: + - ``.filename``: The ``HARDCopy:FILEName`` command. + - ``.layout``: The ``HARDCopy:LAYout`` command. + - ``.palette``: The ``HARDCopy:PALEtte`` command. + - ``.port``: The ``HARDCopy:PORT`` command. + - ``.readouts``: The ``HARDCopy:READOuts`` command. + - ``.view``: The ``HARDCopy:VIEW`` command. + """ + return self._hardcopy + + @property + def hdr(self) -> Hdr: + """Return the ``HDR`` command. + + **Description:** + - This command is identical to the HEADer query and is included for backward + compatibility purposes. + + **Usage:** + - Using the ``.query()`` method will send the ``HDR?`` query. + - Using the ``.verify(value)`` method will send the ``HDR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HDR value`` command. + + **SCPI Syntax:** + + :: + + - HDR {|OFF|ON} + - HDR? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true, which causes the instrument to send headers on query responses. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._hdr + + @property + def header(self) -> Header: + """Return the ``HEADer`` command. + + **Description:** + - This command sets or queries the Response Header Enable State that causes the + instrument to either include or omit headers on query responses. Whether the long or + short form of header keywords and enumerations are returned is dependent upon the + state of ``:VERBose``. + + **Usage:** + - Using the ``.query()`` method will send the ``HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HEADer value`` command. + + **SCPI Syntax:** + + :: + + - HEADer {|OFF|ON} + - HEADer? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._header + + @property + def histogram(self) -> Histogram: + """Return the ``HIStogram`` command. + + **Description:** + - This query-only query returns all histogram parameters; it queries the state of all + histogram parameters that the user can set. This command is equivalent to selecting + Waveform Histograms from the Measure menu. + + **Usage:** + - Using the ``.query()`` method will send the ``HIStogram?`` query. + - Using the ``.verify(value)`` method will send the ``HIStogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HIStogram? + + Sub-properties: + - ``.box``: The ``HIStogram:BOX`` command. + - ``.boxpcnt``: The ``HIStogram:BOXPcnt`` command. + - ``.count``: The ``HIStogram:COUNt`` command. + - ``.data``: The ``HIStogram:DATa`` command. + - ``.display``: The ``HIStogram:DISplay`` command. + - ``.function``: The ``HIStogram:FUNCtion`` command. + - ``.mode``: The ``HIStogram:MODe`` command. + - ``.size``: The ``HIStogram:SIZe`` command. + - ``.source``: The ``HIStogram:SOUrce`` command. + - ``.state``: The ``HIStogram:STATE`` command. + """ + return self._histogram + + @property + def horizontal(self) -> Horizontal: + """Return the ``HORizontal`` command. + + **Description:** + - Queries the current horizontal settings. + + **Usage:** + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal? + + Sub-properties: + - ``.acqduration``: The ``HORizontal:ACQDURATION`` command. + - ``.acqlength``: The ``HORizontal:ACQLENGTH`` command. + - ``.digital``: The ``HORizontal:DIGital`` command tree. + - ``.divisions``: The ``HORizontal:DIVisions`` command. + - ``.fastframe``: The ``HORizontal:FASTframe`` command. + - ``.main``: The ``HORizontal:MAIn`` command. + - ``.mode``: The ``HORizontal:MODE`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.roll``: The ``HORizontal:ROLL`` command. + - ``.timestamp``: The ``HORizontal:TIMEStamp`` command tree. + """ + return self._horizontal + + @property + def id(self) -> Id: + """Return the ``ID`` command. + + **Description:** + - This query-only command returns identifying information about the instrument and + related firmware similar to that returned by the ``*IDN?`` IEEE488.2 common query but + does not include the instrument serial number. + + **Usage:** + - Using the ``.query()`` method will send the ``ID?`` query. + - Using the ``.verify(value)`` method will send the ``ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ID? + """ + return self._id + + @property + def idn(self) -> Idn: + """Return the ``*IDN`` command. + + **Description:** + - This query-only command returns the instrument identification code. + + **Usage:** + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *IDN? + """ + return self._idn + + @property + def limit(self) -> Limit: + """Return the ``LIMit`` command. + + **Description:** + - This query-only command returns all settings for the Limit commands. + + **Usage:** + - Using the ``.query()`` method will send the ``LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``LIMit?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - LIMit? + + Sub-properties: + - ``.beep``: The ``LIMit:BEEP`` command. + - ``.compare``: The ``LIMit:COMpare`` command. + - ``.email``: The ``LIMit:EMail`` command. + - ``.hardcopy``: The ``LIMit:HARDCopy`` command. + - ``.highlighthits``: The ``LIMit:HIGHLIGHTHits`` command. + - ``.lock``: The ``LIMit:LOCk`` command. + - ``.log``: The ``LIMit:LOG`` command. + - ``.savewfm``: The ``LIMit:SAVEWFM`` command. + - ``.srq``: The ``LIMit:SRQ`` command. + - ``.state``: The ``LIMit:STATE`` command. + - ``.status``: The ``LIMit:STATus`` command. + - ``.stoponviolation``: The ``LIMit:STOPOnviolation`` command. + - ``.template``: The ``LIMit:TEMPlate`` command tree. + """ + return self._limit + + @property + def linktraining(self) -> Linktraining: + """Return the ``LINKTRaining`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``LINKTRaining?`` query. + - Using the ``.verify(value)`` method will send the ``LINKTRaining?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acqtime``: The ``LINKTRaining:ACQTime`` command. + - ``.armscope``: The ``LINKTRaining:ARMscope`` command. + - ``.decode``: The ``LINKTRaining:DECOde`` command. + - ``.equalizationch``: The ``LINKTRaining:EQUalizationCH`` command. + - ``.lane``: The ``LINKTRaining:LANE`` command. + - ``.mark``: The ``LINKTRaining:MARK`` command. + - ``.setup``: The ``LINKTRaining:SETUP`` command. + """ + return self._linktraining + + @property + def lock(self) -> Lock: + """Return the ``LOCk`` command. + + **Description:** + - This command enables or disables the touch screen and all front panel buttons and + knobs. There is no front panel equivalent. When the front panel is locked, the front + panel commands will not work and will not generate error events. You can work around a + locked front panel, by using the appropriate programmatic interface commands, instead + of the front-panel commands. For example, to set the trigger level to 50%, you could + use ``TRIGger:A SETLevel``. To force a trigger, you could use TRIGger FORCe. + + **Usage:** + - Using the ``.query()`` method will send the ``LOCk?`` query. + - Using the ``.verify(value)`` method will send the ``LOCk?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``LOCk value`` command. + + **SCPI Syntax:** + + :: + + - LOCk {ALL|NONe} + - LOCk? + + **Info:** + - ``ALL`` disables all front panel controls and the touch screen. + - ``NONe`` enables all front panel controls and the touch screen. The UNLock ALL command + only unlocks the front panel controls. + - ``NONe`` command has no effect. For more information, see the ANSI/IEEE Std 488.1-1987 + Standard Digital Interface for Programmable Instrumentation, section 2.8.3 on RL State + Descriptions. + """ + return self._lock + + @property + def lrn(self) -> Lrn: + """Return the ``*LRN`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, + allowing you to record or 'learn' the current instrument settings. You can use these + commands to return the instrument to the state it was in when you made the ``*LRN?`` + query. This command is identical to the SET command. + + **Usage:** + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *LRN? + """ + return self._lrn + + @property + def mark(self) -> Mark: + """Return the ``MARK`` command. + + **Description:** + - Moves to the next or previous reference mark on the waveform. Returns the current mark + position. + + **Usage:** + - Using the ``.query()`` method will send the ``MARK?`` query. + - Using the ``.verify(value)`` method will send the ``MARK?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MARK value`` command. + + **SCPI Syntax:** + + :: + + - MARK {NEXT|PREVious} + - MARK? + + **Info:** + - ``NEXT`` moves to the next reference mark on the right. + - ``PREVious`` moves to the next reference mark on the left. + + Sub-properties: + - ``.create``: The ``MARK:CREATE`` command. + - ``.delete``: The ``MARK:DELEte`` command. + - ``.free``: The ``MARK:FREE`` command. + - ``.selected``: The ``MARK:SELECTED`` command tree. + - ``.total``: The ``MARK:TOTal`` command. + """ + return self._mark + + @property + def mask(self) -> Mask: + """Return the ``MASK`` command. + + **Description:** + - This query-only command returns the states of all settable mask parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MASK? + + Sub-properties: + - ``.autoadjust``: The ``MASK:AUTOAdjust`` command. + - ``.autoset``: The ``MASK:AUTOSet`` command tree. + - ``.copy``: The ``MASK:COPy`` command tree. + - ``.count``: The ``MASK:COUNt`` command. + - ``.display``: The ``MASK:DISplay`` command. + - ``.filter``: The ``MASK:FILTer`` command. + - ``.highlighthits``: The ``MASK:HIGHLIGHTHits`` command. + - ``.invert``: The ``MASK:INVert`` command. + - ``.lock``: The ``MASK:LOCk`` command. + - ``.margin``: The ``MASK:MARgin`` command tree. + - ``.maskpre``: The ``MASK:MASKPRE`` command tree. + - ``.polarity``: The ``MASK:POLarity`` command. + - ``.seg``: The ``MASK:SEG`` command. + - ``.source``: The ``MASK:SOUrce`` command. + - ``.standard``: The ``MASK:STANdard`` command. + - ``.stoponviolation``: The ``MASK:STOPOnviolation`` command. + - ``.test``: The ``MASK:TESt`` command tree. + - ``.user``: The ``MASK:USER`` command tree. + """ + return self._mask + + @property + def math(self) -> Dict[int, MathItem]: + """Return the ``MATH`` command. + + **Description:** + - This query-only command returns the definition for the math waveform specified by , + which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATH? + + Sub-properties: + - ``.define``: The ``MATH:DEFine`` command. + - ``.filter``: The ``MATH:FILTer`` command tree. + - ``.label``: The ``MATH:LABel`` command tree. + - ``.numavg``: The ``MATH:NUMAVg`` command. + - ``.spectral``: The ``MATH:SPECTral`` command. + - ``.threshold``: The ``MATH:THRESHold`` command. + - ``.unitstring``: The ``MATH:UNITString`` command. + - ``.vertical``: The ``MATH:VERTical`` command tree. + """ + return self._math + + @property + def matharbflt(self) -> Dict[int, MatharbfltItem]: + """Return the ``MATHArbflt`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHArbflt?`` query. + - Using the ``.verify(value)`` method will send the ``MATHArbflt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filepath``: The ``MATHArbflt:FILepath`` command. + - ``.readfile``: The ``MATHArbflt:READFile`` command. + """ + return self._matharbflt + + @property + def mathvar(self) -> Mathvar: + """Return the ``MATHVAR`` command. + + **Description:** + - Queries both numerical values you can use within math expressions. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHVAR?`` query. + - Using the ``.verify(value)`` method will send the ``MATHVAR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATHVAR? + + Sub-properties: + - ``.var``: The ``MATHVAR:VAR`` command. + """ + return self._mathvar + + @property + def mch(self) -> Dict[int, MchItem]: + """Return the ``MCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MCH?`` query. + - Using the ``.verify(value)`` method will send the ``MCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.minamplitude``: The ``MCH:MINAMPLitude`` command. + - ``.maxamplitude``: The ``MCH:MAXAMPLitude`` command. + """ + return self._mch + + @property + def measurement(self) -> Measurement: + """Return the ``MEASUrement`` command. + + **Description:** + - This query-only command returns all measurement parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement? + + Sub-properties: + - ``.annotation``: The ``MEASUrement:ANNOTation`` command tree. + - ``.dpojetstatistics``: The ``MEASUrement:DPOJETSTATistics`` command. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.immed``: The ``MEASUrement:IMMed`` command. + - ``.meas``: The ``MEASUrement:MEAS`` command. + - ``.method``: The ``MEASUrement:METHod`` command. + - ``.noise``: The ``MEASUrement:NOISe`` command. + - ``.reflevel``: The ``MEASUrement:REFLevel`` command. + - ``.source1``: The ``MEASUrement:SOUrce1`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + """ + return self._measurement + + @property + def multiscope(self) -> Multiscope: + """Return the ``MULTiscope`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MULTiscope?`` query. + - Using the ``.verify(value)`` method will send the ``MULTiscope?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.config``: The ``MULTiscope:CONFig`` command. + - ``.exit``: The ``MULTiscope:EXIT`` command. + - ``.restart``: The ``MULTiscope:RESTART`` command. + - ``.status``: The ``MULTiscope:STATUS`` command. + """ + return self._multiscope + + @property + def newpass(self) -> Newpass: + """Return the ``NEWpass`` command. + + **Description:** + - This command (no query form) changes the password that enables access to password + protected data. The PASSWord command must be successfully executed before using this + command or an execution error will be generated. + + **Usage:** + - Using the ``.write(value)`` method will send the ``NEWpass value`` command. + + **SCPI Syntax:** + + :: + + - NEWpass + + **Info:** + - ```` is the new password, which can contain up to 10 characters. + """ + return self._newpass + + @property + def opc(self) -> Opc: + """Return the ``*OPC`` command. + + **Description:** + - This command generates the operation complete message in the Standard Event Status + Register (SESR) when all pending commands that generate an OPC message are complete. + The ``*OPC?`` query places the ASCII character '1' into the output queue when all such + OPC commands are complete. The ``*OPC?`` response is not available to read until all + pending operations finish. For a complete discussion of the use of these registers and + the output queue, see Registers and Queues. The ``*OPC`` command allows you to + synchronize the operation of the instrument with your application program. For more + information, see Synchronization Methods. Refer to the Oscilloscope operations that + can generate OPC table for a list of commands that generate an OPC message. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPC?`` query. + - Using the ``.verify(value)`` method will send the ``*OPC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``*OPC`` command. + + **SCPI Syntax:** + + :: + + - *OPC + - *OPC? + """ + return self._opc + + @property + def opcextended(self) -> Opcextended: + """Return the ``OPCEXtended`` command. + + **Description:** + - This command sets or queries the behavior of OPC commands and queries. When enabled, + operations referenced in the ``*OPC`` command description notify when their overlapped + functionality has completed. When disabled, the operations notify as they have in the + past (only once updated in the instrument state database). Command synchronization + Operation PI sequence Single sequence with ttOff ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:WFMOUTPRE:XZERO?`` Single sequence with Measurement + Annotation ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE PK2PK + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:ANNOTATION:X1?`` Single sequence with + Cursors ``:ACQUIRE:STOPAFTER SEQUENCE``;``:CURSOR:FUNCTION WAVEFORM``;SOURCE CH1;STATE + 1 ``:ACQUIRE:STATE 1``;``*OPC?`` Single sequence with Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MATH1:DEFINE`` 'Ch1``*Ch2``';``:SELECT:MATH1 1`` + ``:ACQUIRE:STATE 1``;``*OPC?`` Default setup followed by Save Waveform + ``*RST``;``*OPC?`` ``:SAVE:WAVEFORM`` CH1,REF1;``*WAI`` ``:SELECT:REF1 1`` Math On + during Acq Run mode ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 + ``:SELECT:MATH1 0`` {Wait a couple sec..longer in release mode?} + ``:SELECT:MATH1 1``;``*WAI``;``:CURVE?`` Save Math to Ref + ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1``;``*WAI``; ``:SAVE:WAVEFORM`` + MATH1,REF1;``:SELECT:REF1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 CURVE? + Trigger state ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:TRIGGER:STATE?`` Single sequence with Measurement + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Single sequence with + Measurement on Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 + ``:MATH1:DEFINE`` 'CH1``*CH1``';``:SELECT:MATH1 1`` + ``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE;SOURCE MATH1 + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Acq Count + ``*RST``;``*WAI``;``:ACQUIRE:NUMACQ?`` Acq state after single sequence + ``:ACQUIRE:STOPAFTER SEQUENCE``;STATE 1;``*WAI``;``:ACQUIRE:STATE?`` + + **Usage:** + - Using the ``.query()`` method will send the ``OPCEXtended?`` query. + - Using the ``.verify(value)`` method will send the ``OPCEXtended?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``OPCEXtended value`` command. + + **SCPI Syntax:** + + :: + + - OPCEXtended {|OFF|ON} + - OPCEXtended? + + **Info:** + - ``ON`` turns on extended OPC behavior. + - ``OFF`` turns off extended OPC behavior. + - ```` = 0 turns off extended OPC behavior; any other value turns on extended OPC + behavior. + """ + return self._opcextended + + @property + def opt(self) -> Opt: + """Return the ``*OPT`` command. + + **Description:** + - This query-only command returns a comma separated list of installed options as an + arbitrary ASCII string (no quotes) of the form: + ``:``,``:``... The last + section of each entry (the text following the last hyphen) indicates the license type. + If no options are found, NONE is returned. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPT?`` query. + - Using the ``.verify(value)`` method will send the ``*OPT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *OPT? + """ + return self._opt + + @property + def password(self) -> Password: + """Return the ``PASSWord`` command. + + **Description:** + - This command (no query form) enables the ``*PUD`` and NEWpass set commands. Sending + ``PASSWord`` without any arguments disables these same commands. Once the password is + successfully entered, the ``*PUD`` and NEWpass commands are enabled until the + instrument is powered off, or until the FACtory command, the ``PASSWord`` command with + no arguments, or the ``*RST`` command is issued. To change the password, you must + first enter the valid password with the ``PASSWord`` command and then change to your + new password with the NEWpass command. Remember that the password is case sensitive. + + **Usage:** + - Using the ``.write(value)`` method will send the ``PASSWord value`` command. + + **SCPI Syntax:** + + :: + + - PASSWord + + **Info:** + - ```` is the password, which can contain up to 10 characters. The factory + default password is 'XYZZY' and is always valid. + """ + return self._password + + @property + def pcenable(self) -> Pcenable: + """Return the ``PCENable`` command. + + **Description:** + - Sets or queries the enable state of the User Preference Probe compensation. + + **Usage:** + - Using the ``.query()`` method will send the ``PCENable?`` query. + - Using the ``.verify(value)`` method will send the ``PCENable?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PCENable value`` command. + + **SCPI Syntax:** + + :: + + - PCENable OFF | ON + - PCENable? + """ + return self._pcenable + + @property + def psc(self) -> Psc: + """Return the ``*PSC`` command. + + **Description:** + - This command sets and queries the power-on status flag that controls the automatic + power-on handling of the DESER, SRER, and ESER registers. When ``*PSC`` is true, the + DESER register is set to 255 and the SRER and ESER registers are set to 0 at power-on. + When ``*PSC`` is false, the current values in the DESER, SRER, and ESER registers are + preserved in nonvolatile memory when power is shut off and are restored at power-on. + + **Usage:** + - Using the ``.query()`` method will send the ``*PSC?`` query. + - Using the ``.verify(value)`` method will send the ``*PSC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PSC value`` command. + + **SCPI Syntax:** + + :: + + - *PSC {|OFF|ON} + - *PSC? + + **Info:** + - ```` = 0 sets the power-on status clear flag to false, disables the power-on + clear and allows the instrument to possibly assert SRQ after power-on; any other value + sets the power-on status clear flag to true, enabling the power-on status clear and + prevents any SRQ assertion after power on. + - ``OFF`` sets the power-on status clear flag to false, disables the power-on clear and + allows the instrument to possibly assert SRQ after power-on. + - ``ON`` sets the power-on status clear flag to true, enabling the power-on status clear + and prevents any SRQ assertion after power on. + """ + return self._psc + + @property + def pud(self) -> Pud: + """Return the ``*PUD`` command. + + **Description:** + - This command sets or queries a string of Protected User Data. This data is protected + by the PASSWord command. You can modify it only by first entering the correct + password. This password is not necessary to query the data. + + **Usage:** + - Using the ``.query()`` method will send the ``*PUD?`` query. + - Using the ``.verify(value)`` method will send the ``*PUD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PUD value`` command. + + **SCPI Syntax:** + + :: + + - *PUD {|} + - *PUD? + + **Info:** + - ```` is a block containing up to 100 characters. + - ```` is a string containing up to 100 characters. + """ + return self._pud + + @property + def rcl(self) -> Rcl: + """Return the ``*RCL`` command. + + **Description:** + - This command restores the state of the oscilloscope from a copy of the settings stored + in memory (The settings are stored using the ``*SAV`` command). + + **Usage:** + - Using the ``.write(value)`` method will send the ``*RCL value`` command. + + **SCPI Syntax:** + + :: + + - *RCL + + **Info:** + - ```` is a value in the range from 1 to 10, which specifies a saved setup storage + location. + """ + return self._rcl + + @property + def recall(self) -> Recall: + """Return the ``RECAll`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``RECAll?`` query. + - Using the ``.verify(value)`` method will send the ``RECAll?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``RECAll:MASK`` command. + - ``.setup``: The ``RECAll:SETUp`` command. + - ``.waveform``: The ``RECAll:WAVEform`` command. + """ + return self._recall + + @property + def ref(self) -> Dict[int, RefItem]: + """Return the ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.horizontal``: The ``REF:HORizontal`` command tree. + - ``.label``: The ``REF:LABel`` command. + - ``.threshold``: The ``REF:THRESHold`` command. + - ``.vertical``: The ``REF:VERTical`` command tree. + """ + return self._ref + + @property + def rem(self) -> Rem: + """Return the ``REM`` command. + + **Description:** + - This command (no query form) embeds a comment within programs as a means of internally + documenting the programs. This is how to embed comments in a .set file. The instrument + ignores these embedded comment lines. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REM value`` command. + + **SCPI Syntax:** + + :: + + - REM + + **Info:** + - ```` is a string that can contain a maximum of 80 characters. + """ + return self._rem + + @property + def rosc(self) -> Rosc: + """Return the ``ROSc`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ROSc?`` query. + - Using the ``.verify(value)`` method will send the ``ROSc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.out``: The ``ROSc:OUT`` command tree. + - ``.source``: The ``ROSc:SOUrce`` command. + - ``.state``: The ``ROSc:STATE`` command. + - ``.tracking``: The ``ROSc:TRACking`` command. + """ + return self._rosc + + @property + def rst(self) -> Rst: + """Return the ``*RST`` command. + + **Description:** + - This command (no query form) resets the instrument to the factory default settings. + This command does the following: Recalls the default instrument setup. Clears the + current ``*DDT`` command. Disables aliases (``:ALIAS:STATE 0``). Disables the user + password (for the ``*PUD`` command). The ``*RST`` command does not change the + following: The current working directory ( ``:FILESystem:CWD`` command). The state of + command headers ( ``:HEADer`` command). The state of keyword and enumeration verbosity + ( ``:VERBose`` command). The Power-on Status Clear Flag ( ``*PSC`` command). The Event + Status Enable Register ( ``*ESE`` command). The Service Request Enable Register ( + ``*SRE`` command). The Device Event Status Enable Register ( DESE command). The user + password for protected user data ( ``:PASSWord`` command). The content of protected + user data ( ``*PUD`` command). The enabled state of the socket server ( + ``:SOCKETServer:ENAble`` command). The socket server port number ( + ``:SOCKETServer:PORT`` command). The socket server protocol ( + ``:SOCKETServer:PROTOCol`` command). The USBTMC port configuration ( + ``:USBDevice:CONFigure`` command). The destination reference waveform or file path for + the ``:CURVe`` command ( ``:DATa:DESTination`` command). The source waveform for the + ``:CURVe?`` or ``:WAVFrm?`` queries ( ``:DATa:SOUrce`` command). The waveform data + encoding for the ``:CURVe`` command or query or the ``:WAVFrm?`` query ( + ``:DATa:ENCdg`` command). The starting point for ``:CURVe?`` queries ( ``:DATa:STARt`` + command). The ending point for ``:CURVe?`` queries ( ``:DATa:STOP`` command). All + settings associated the ``:WFMInpre`` commands. All user settable settings associated + with the WFMOutpre commands. ``*RST`` only resets the programmable interface settings, + it does not change the user interface settings. + + **Usage:** + - Using the ``.write()`` method will send the ``*RST`` command. + + **SCPI Syntax:** + + :: + + - *RST + """ + return self._rst + + @property + def sav(self) -> Sav: + """Return the ``*SAV`` command. + + **Description:** + - Stores the state of the oscilloscope to a specified memory location. You can use the + ``*RCL`` command to restore the oscilloscope to this saved state at a later time. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SAV value`` command. + + **SCPI Syntax:** + + :: + + - *SAV + + **Info:** + - ```` specifies a location in which to save the state of the oscilloscope. + Location values range from 1 through 10. Using an out-of-range location value causes + an execution error. Any settings that have been stored previously at this location + will be overwritten. + """ + return self._sav + + @property + def save(self) -> Save: + """Return the ``SAVe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.marks``: The ``SAVe:MARKS`` command. + - ``.mask``: The ``SAVe:MASK`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + return self._save + + @property + def saveon(self) -> Saveon: + """Return the ``SAVEON`` command. + + **Description:** + - Sets the auto-increment file count to 0. Once the number of saved files has reached + the limit that you set (using the ``SAVEON:NUMevents`` command), no files will be + saved until you reset the count. + + **Usage:** + - Using the ``.write(value)`` method will send the ``SAVEON value`` command. + + **SCPI Syntax:** + + :: + + - SAVEON {RESET} + + **Info:** + - ``RESET`` sets the file count to 0. + + Sub-properties: + - ``.count``: The ``SAVEON:COUNt`` command. + - ``.file``: The ``SAVEON:FILE`` command tree. + - ``.image``: The ``SAVEON:IMAGe`` command. + - ``.limit``: The ``SAVEON:LIMit`` command. + - ``.mask``: The ``SAVEON:MASK`` command. + - ``.measurement``: The ``SAVEON:MEASUrement`` command. + - ``.numevents``: The ``SAVEON:NUMEvents`` command. + - ``.setup``: The ``SAVEON:SETUP`` command. + - ``.trigger``: The ``SAVEON:TRIGger`` command. + - ``.waveform``: The ``SAVEON:WAVEform`` command. + """ + return self._saveon + + @property + def sds(self) -> Sds: + """Return the ``*SDS`` command. + + **Description:** + - This command (no query form) changes the specified setup to reference the factory + setup instead of the specific user setup slot. The content of the setup slot is + unchanged, but the data will no longer be accessible to you. This command is + equivalent to selecting Delete from the File menu, and then choosing the specified + setup. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SDS value`` command. + + **SCPI Syntax:** + + :: + + - *SDS + + **Info:** + - ```` specifies a user setup location to delete. Setup storage location values + range from 1 through 10; using an out-of-range value causes an error. + """ + return self._sds + + @property + def search(self) -> Search: + """Return the ``SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.markallevents``: The ``SEARCH:MARKALLevents`` command. + - ``.search``: The ``SEARCH:SEARCH`` command. + - ``.stop``: The ``SEARCH:STOP`` command. + """ + return self._search + + @property + def select(self) -> Select: + """Return the ``SELect`` command. + + **Description:** + - Queries which waveforms are displayed. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SELect? + + Sub-properties: + - ``.b``: The ``SELect:B`` command. + - ``.ch``: The ``SELect:CH`` command. + - ``.control``: The ``SELect:CONTROl`` command. + - ``.d``: The ``SELect:D`` command. + - ``.dall``: The ``SELect:DALL`` command. + - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. + - ``.ref``: The ``SELect:REF`` command. + """ + return self._select + + @property + def set_(self) -> Set: + """Return the ``SET`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, except + for configuration information for the calibration values. You can use these commands + to return the instrument to the state it was in when you made the ``SET?`` query. The + ``SET?`` query always returns command headers, regardless of the setting of the HEADER + command. This is because the returned commands are intended to be sent back to the + instrument as a command string. The VERBOSE command can still be used to specify + whether the returned headers should be abbreviated or full-length. This command is + identical to the LRN command. + + **Usage:** + - Using the ``.query()`` method will send the ``SET?`` query. + - Using the ``.verify(value)`` method will send the ``SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SET? + """ + return self._set + + @property + def setup(self) -> Setup: + """Return the ``SETUp`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SETUp?`` query. + - Using the ``.verify(value)`` method will send the ``SETUp?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.name``: The ``SETUp:NAMe`` command. + """ + return self._setup + + @property + def sre(self) -> Sre: + """Return the ``*SRE`` command. + + **Description:** + - The ``*SRE`` (Service Request Enable) command sets and queries the bits in the Service + Request Enable Register. For more information, refer to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*SRE?`` query. + - Using the ``.verify(value)`` method will send the ``*SRE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*SRE value`` command. + + **SCPI Syntax:** + + :: + + - *SRE + - *SRE? + + **Info:** + - ```` is a value in the range from 0 through 255. The binary bits of the SRER are + set according to this value. Using an out-of-range value causes an execution error. + The power-on default for SRER is 0 if ``*PSC`` is 1. If ``*PSC`` is 0, the SRER + maintains the previous power cycle value through the current power cycle. + """ + return self._sre + + @property + def stb(self) -> Stb: + """Return the ``*STB`` command. + + **Description:** + - The ``*STB?`` (Read Status Byte) query returns the contents of the Status Byte + Register (SBR) using the Master Summary Status (MSS) bit. For more information, refer + to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*STB?`` query. + - Using the ``.verify(value)`` method will send the ``*STB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *STB? + """ + return self._stb + + @property + def system(self) -> System: + """Return the ``SYSTem`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SYSTem?`` query. + - Using the ``.verify(value)`` method will send the ``SYSTem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``SYSTem:SETup`` command. + """ + return self._system + + @property + def teklink(self) -> Teklink: + """Return the ``TEKLink`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TEKLink?`` query. + - Using the ``.verify(value)`` method will send the ``TEKLink?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.connection``: The ``TEKLink:CONNection`` command. + - ``.refclk``: The ``TEKLink:REFClk`` command. + """ + return self._teklink + + @property + def teksecure(self) -> Teksecure: + """Return the ``TEKSecure`` command. + + **Description:** + - This command initializes, for the current user, both waveform and setup memories, + overwriting any previously stored data. Equivalent to invoking Teksecure from the + Utility menu. This is a time-consuming operation (3 to 5 minutes) and the instrument + is inoperable until the TekSecure operation is complete. + + **Usage:** + - Using the ``.write()`` method will send the ``TEKSecure`` command. + + **SCPI Syntax:** + + :: + + - TEKSecure + """ + return self._teksecure + + @property + def test(self) -> Test: + """Return the ``TEST`` command. + + **Description:** + - This command provides the ability to select and execute an item at any level of the + test hierarchy (Test, Area or Subsystem). The query returns the last command sent. + This command is equivalent to selecting Instrument Diagnostics from the Utilities + menu, choosing a test and then pressing Run. + + **Usage:** + - Using the ``.query()`` method will send the ``TEST?`` query. + - Using the ``.verify(value)`` method will send the ``TEST?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TEST value`` command. + + **SCPI Syntax:** + + :: + + - TEST + - TEST? + + **Info:** + - ```` sets the test ID, which ranges from 0 through 3 characters. If no test + ID is specified, all available diagnostics are executed. + + Sub-properties: + - ``.results``: The ``TEST:RESults`` command. + - ``.stop``: The ``TEST:STOP`` command. + """ + return self._test + + @property + def time(self) -> Time: + """Return the ``TIME`` command. + + **Description:** + - This command sets or queries the time that the instrument displays. This command is + equivalent to selecting Set Time & Date from the Utilities menu and then setting the + fields in the Time group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TIME?`` query. + - Using the ``.verify(value)`` method will send the ``TIME?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TIME value`` command. + + **SCPI Syntax:** + + :: + + - TIME + - TIME? + + **Info:** + - ```` is a time in the form '``hh:mm:ss``' where hh refers to a two-digit hour + number, mm refers to a two-digit minute number from 01 to 60, and ss refers to a + two-digit second number from 01 to 60. + """ + return self._time + + @property + def trg(self) -> Trg: + """Return the ``*TRG`` command. + + **Description:** + - Performs a group execute trigger on commands defined by ``*DDT``. + + **Usage:** + - Using the ``.write()`` method will send the ``*TRG`` command. + + **SCPI Syntax:** + + :: + + - *TRG + """ + return self._trg + + @property + def trig(self) -> Trig: + """Return the ``TRIG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIG?`` query. + - Using the ``.verify(value)`` method will send the ``TRIG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``TRIG:A`` command tree. + """ + return self._trig + + @property + def trigger(self) -> Trigger: + """Return the ``TRIGger`` command. + + **Description:** + - This command forces a trigger event to occur. The query returns the current trigger + parameters for the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger FORCe + - TRIGger? + + **Info:** + - ``FORCe`` creates a trigger event. If ``TRIGger:STATE`` is set to READy, the + acquisition will complete. Otherwise, this command will be ignored. This is equivalent + to pressing the Force button on the front panel. + + Sub-properties: + - ``.a``: The ``TRIGger:A`` command. + - ``.auxlevel``: The ``TRIGger:AUXLevel`` command. + - ``.b``: The ``TRIGger:B`` command. + - ``.enhanced``: The ``TRIGger:ENHanced`` command. + - ``.equation``: The ``TRIGger:EQUation`` command. + - ``.lvlsrcpreference``: The ``TRIGger:LVLSrcpreference`` command. + - ``.main``: The ``TRIGger:MAIn`` command tree. + - ``.multiscope``: The ``TRIGger:MULTiscope`` command. + - ``.qualification``: The ``TRIGger:QUALification`` command tree. + - ``.sensitivity``: The ``TRIGger:SENSITivity`` command. + - ``.showequation``: The ``TRIGger:SHOWEQuation`` command. + - ``.state``: The ``TRIGger:STATE`` command. + """ + return self._trigger + + @property + def tst(self) -> Tst: + """Return the ``*TST`` command. + + **Description:** + - Tests (self-test) the interface and returns a 0. + + **Usage:** + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *TST? + """ + return self._tst + + @property + def unlock(self) -> Unlock: + """Return the ``UNLock`` command. + + **Description:** + - This command (no query form) unlocks the front panel controls only. To unlock the + front panel controls and the touch screen use the LOCk NONe command. The command + ``TOUCHSCReen:STATE ON`` enables the touch screen only. + + **Usage:** + - Using the ``.write(value)`` method will send the ``UNLock value`` command. + + **SCPI Syntax:** + + :: + + - UNLock ALL + + **Info:** + - ``ALL`` specifies that all front panel buttons and knobs are unlocked. + """ + return self._unlock + + @property + def usbtmc(self) -> Usbtmc: + """Return the ``USBTMC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``USBTMC?`` query. + - Using the ``.verify(value)`` method will send the ``USBTMC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.productid``: The ``USBTMC:PRODUCTID`` command tree. + - ``.serialnumber``: The ``USBTMC:SERIALnumber`` command. + - ``.vendorid``: The ``USBTMC:VENDORID`` command tree. + """ + return self._usbtmc + + @property + def verbose(self) -> Verbose: + """Return the ``VERBose`` command. + + **Description:** + - This command sets or queries the Verbose state that controls the length of keywords on + query responses. Keywords can be both headers and arguments. + + **Usage:** + - Using the ``.write(value)`` method will send the ``VERBose value`` command. + + **SCPI Syntax:** + + :: + + - VERBose {|OFF|ON} + + **Info:** + - ```` = 0 disables Verbose, any other value enables Verbose. + - ``OFF`` sets the Verbose state to false, which returns minimum-length keywords for + applicable setting queries. + - ``ON`` sets the Verbose state to true, which returns full-length keywords for + applicable setting queries. + """ + return self._verbose + + @property + def visual(self) -> Visual: + """Return the ``VISual`` command. + + **Description:** + - This query-only command returns the settings for each visual trigger area. + + **Usage:** + - Using the ``.query()`` method will send the ``VISual?`` query. + - Using the ``.verify(value)`` method will send the ``VISual?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - VISual? + + Sub-properties: + - ``.area``: The ``VISual:AREA`` command. + - ``.areacolor``: The ``VISual:AREACOLOr`` command. + - ``.aspectratio``: The ``VISual:ASPECTratio`` command. + - ``.deletearea``: The ``VISual:DELETEAREA`` command. + - ``.enable``: The ``VISual:ENAble`` command. + - ``.file``: The ``VISual:FILE`` command tree. + """ + return self._visual + + @property + def wai(self) -> Wai: + """Return the ``*WAI`` command. + + **Description:** + - The ``*WAI`` (Wait) command (no query form) prevents the instrument from executing + further commands or queries until all pending commands that generate an OPC message + are complete. This command allows you to synchronize the operation of the instrument + with your application program. For more information, refer to Synchronization Methods. + + **Usage:** + - Using the ``.write()`` method will send the ``*WAI`` command. + + **SCPI Syntax:** + + :: + + - *WAI + """ + return self._wai + + @property + def wavfrm(self) -> Wavfrm: + """Return the ``WAVFrm`` command. + + **Description:** + - This query-only command provides the Tektronix standard waveform query which returns + the waveform preamble followed by the waveform data for the source specified by + ``:DATa:SOUrce`` using the ``:DATa`` settings for encoding, width, and so forth. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFrm?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFrm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFrm? + """ + return self._wavfrm + + @property + def wavfrmstream(self) -> Wavfrmstream: + """Return the ``WAVFRMStream`` command. + + **Description:** + - This query only command returns WFMQUTPRE? and CURVESTREAM? data for the waveforms + specified by the DATASOURCE command. This command is similar to sending both + WFMOUTPRE? and CURVESTREAM?, with the additional provision that each CURVESTREAM + response to WAVFRMS? has a WFMOUTPRE response prepended to it. This helps guarantee a + continuous synchronized preamble and curve. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFRMStream?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFRMStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFRMStream? + """ + return self._wavfrmstream + + @property + def wfminpre(self) -> Wfminpre: + """Return the ``WFMInpre`` command. + + **Description:** + - Returns the waveform formatting and scaling specifications to be applied to the next + incoming CURVe command data. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMInpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMInpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMInpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMInpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMInpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMInpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMInpre:BYT_Or`` command. + - ``.encdg``: The ``WFMInpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMInpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMInpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMInpre:PT_Fmt`` command. + - ``.pt_off``: The ``WFMInpre:PT_Off`` command. + - ``.wfid``: The ``WFMInpre:WFId`` command. + - ``.xincr``: The ``WFMInpre:XINcr`` command. + - ``.xunit``: The ``WFMInpre:XUNit`` command. + - ``.xzero``: The ``WFMInpre:XZEro`` command. + - ``.ymult``: The ``WFMInpre:YMUlt`` command. + - ``.yoff``: The ``WFMInpre:YOFf`` command. + - ``.yunit``: The ``WFMInpre:YUNit`` command. + - ``.yzero``: The ``WFMInpre:YZEro`` command. + """ + return self._wfminpre + + @property + def wfmoutpre(self) -> Wfmoutpre: + """Return the ``WFMOutpre`` command. + + **Description:** + - This query-only command queries the waveform formatting data for the waveform + specified by the ``DATA:SOURCE`` command. The preamble components are considered to be + of two types; formatting and interpretation. The formatting components are: ENCdg, + ``BN_Fmt``, ``BYT_Or``, ``BYT_Nr``, ``BIT_Nr``. The interpretation components are + derived from the ``DATa:SOUrce`` specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMOutpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMOutpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMOutpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMOutpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMOutpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMOutpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMOutpre:BYT_Or`` command. + - ``.encdg``: The ``WFMOutpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMOutpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMOutpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMOutpre:PT_Fmt`` command. + - ``.pt_order``: The ``WFMOutpre:PT_ORder`` command. + - ``.pt_off``: The ``WFMOutpre:PT_Off`` command. + - ``.wfid``: The ``WFMOutpre:WFId`` command. + - ``.xincr``: The ``WFMOutpre:XINcr`` command. + - ``.xunit``: The ``WFMOutpre:XUNit`` command. + - ``.xzero``: The ``WFMOutpre:XZEro`` command. + - ``.ymult``: The ``WFMOutpre:YMUlt`` command. + - ``.yoff``: The ``WFMOutpre:YOFf`` command. + - ``.yunit``: The ``WFMOutpre:YUNit`` command. + - ``.yzero``: The ``WFMOutpre:YZEro`` command. + """ + return self._wfmoutpre + + @property + def wfmpre(self) -> Wfmpre: + """Return the ``WFMPre`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMPre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMPre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.nr_fr``: The ``WFMPre:NR_FR`` command. + """ + return self._wfmpre + + @property + def zoom(self) -> Zoom: + """Return the ``ZOOm`` command. + + **Description:** + - This command resets the zoom transforms to default values for all traces or live + traces. The ``ZOOm`` query returns the current vertical and horizontal positioning and + scaling of the display. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ZOOm value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm {RESET|RESETLive} + - ZOOm? + + **Info:** + - ``RESET`` resets the zoom transforms to default values for all traces. + - ``RESETLive`` resets the zoom transforms to default values for live traces. + + Sub-properties: + - ``.graticule``: The ``ZOOm:GRAticule`` command tree. + - ``.horizontal``: The ``ZOOm:HORizontal`` command tree. + - ``.math``: The ``ZOOm:MATH`` command tree. + - ``.mode``: The ``ZOOm:MODe`` command. + - ``.ref``: The ``ZOOm:REF`` command tree. + - ``.scroll``: The ``ZOOm:SCROLL`` command tree. + - ``.state``: The ``ZOOm:STATE`` command. + - ``.vertical``: The ``ZOOm:VERTical`` command tree. + - ``.zoom1``: The ``ZOOm:ZOOM1`` command. + """ + return self._zoom + + +class DPO5KMixin: + """A mixin that provides access to the DPO5K commands and constants. + + Properties: + - ``.command_argument_constants``: The DPO5K command argument constants. + - ``.commands``: The DPO5K commands. + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + device = self if isinstance(self, PIDevice) else None + self._command_argument_constants = DPO5KCommandConstants() + self._commands = DPO5KCommands(device) + + @property + def command_argument_constants(self) -> DPO5KCommandConstants: + """Return the DPO5K command argument constants. + + This provides access to all the string constants which can be used as arguments for DPO5K + commands. + """ + return self._command_argument_constants + + @property + def commands(self) -> DPO5KCommands: + """Return the DPO5K commands. + + This provides access to all the commands for the DPO5K device. See the documentation of each + sub-property for more usage information. + + Sub-properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + return self._commands diff --git a/src/tm_devices/commands/_dpo5kb_commands.py b/src/tm_devices/commands/_dpo5kb_commands.py index 0602a6cf..2ca44438 100644 --- a/src/tm_devices/commands/_dpo5kb_commands.py +++ b/src/tm_devices/commands/_dpo5kb_commands.py @@ -11,103 +11,103 @@ from ._3tjgb2_dpo.trigger import Trigger from ._5ri0nj_dpomso.bus import Bus -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom from ._53md2e_dpomso.fpanel import Fpanel -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kc_commands.py b/src/tm_devices/commands/_dpo70kc_commands.py index 6067fdbd..a63ba753 100644 --- a/src/tm_devices/commands/_dpo70kc_commands.py +++ b/src/tm_devices/commands/_dpo70kc_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kd_commands.py b/src/tm_devices/commands/_dpo70kd_commands.py index 4c98de10..aaab9da0 100644 --- a/src/tm_devices/commands/_dpo70kd_commands.py +++ b/src/tm_devices/commands/_dpo70kd_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70kdx_commands.py b/src/tm_devices/commands/_dpo70kdx_commands.py index 55e9dc42..06405ad5 100644 --- a/src/tm_devices/commands/_dpo70kdx_commands.py +++ b/src/tm_devices/commands/_dpo70kdx_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo70ksx_commands.py b/src/tm_devices/commands/_dpo70ksx_commands.py index 5ca892fd..9cce765a 100644 --- a/src/tm_devices/commands/_dpo70ksx_commands.py +++ b/src/tm_devices/commands/_dpo70ksx_commands.py @@ -16,99 +16,99 @@ from ._4jiykk_dpo.linktraining import Linktraining from ._4jiykk_dpo.rosc import Rosc from ._4jiykk_dpo.trigger import Trigger -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dpo7k_commands.py b/src/tm_devices/commands/_dpo7k_commands.py new file mode 100644 index 00000000..0c330be4 --- /dev/null +++ b/src/tm_devices/commands/_dpo7k_commands.py @@ -0,0 +1,3986 @@ +# pylint: disable=too-many-lines +"""The DPO7K commands module. + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. +""" +from typing import Any, Dict, Optional + +from tm_devices.drivers.pi.pi_device import PIDevice + +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fn2qbf_msodpo.errordetector import Errordetector +from ._fn2qbf_msodpo.trigger import Trigger +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock +from ._helpers import DefaultDictPassKeyToFactory + + +# pylint: disable=too-few-public-methods +class DPO7KCommandConstants: + """The DPO7K command argument constants. + + This provides access to all the string constants which can be used as arguments for DPO7K + commands. + """ + + A = "A" + ABSOLUTE = "ABSOLUTE" # ABSolute + AC = "AC" + ACCEPT = "ACCEPT" # ACCept + ACK = "ACK" + ACKERRORREPORT = "ACKERRORREPORT" # ACKErrorreport + ACKMISS = "ACKMISS" + ADDR10 = "ADDR10" + ADDR7 = "ADDR7" + ADDRANDDATA = "ADDRANDDATA" + ADDRESS = "ADDRESS" # ADDress + ALL = "ALL" + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines + AMI = "AMI" + AMPLITUDE = "AMPLITUDE" # AMPlitude + ANALOG = "ANALOG" # ANALog + AND = "AND" + ANY = "ANY" + AREA = "AREA" + # AREA = "AREa" + ARMATRIGB = "ARMATRIGB" # ARMAtrigb + ASCII = "ASCII" # ASCIi + # ASCII = "ASCii" + ATI = "ATI" + ATRIGGER = "ATRIGGER" # ATRIGger + AUTO = "AUTO" + AUXILIARY = "AUXILIARY" # AUXiliary + AVERAGE = "AVERAGE" # AVErage + B = "B" + B3ZS = "B3ZS" + B6ZS = "B6ZS" + B8ZS = "B8ZS" + BACKWARDS = "BACKWARDS" # BACKWards + BASE = "BASE" # BASe + BILEVELCUSTOM = "BILEVELCUSTOM" # BILevelcustom + BINARY = "BINARY" + # BINARY = "BINary" + # BINARY = "Binary" + BIT = "BIT" + BITSTUFFING = "BITSTUFFING" # BITSTUFFing + BLACKMANHARRIS = "BLACKMANHARRIS" # BLACKMANHarris + BLANK = "BLANK" + BLOCK = "BLOCK" + BLOCK1THEN2 = "BLOCK1THEN2" + BMP = "BMP" + BOTH = "BOTH" # BOTh + BTA = "BTA" + BTRIGGER = "BTRIGGER" # BTRIGger + BURST = "BURST" # BURst + BUS = "BUS" + BYPASS = "BYPASS" # BYPass + CAN = "CAN" + CANH = "CANH" + CANL = "CANL" + CAREA = "CAREA" # CARea + CHAR = "CHAR" + CHARACTER = "CHARACTER" + CHECKSUM = "CHECKSUM" # CHecksum + CHECKSUMERROR = "CHECKSUMERROR" # CHECKsumerror + CHKSUMERROR = "CHKSUMERROR" # CHKSUMError + CLEAR = "CLEAR" + CLOCK = "CLOCK" # CLOCk + CMEAN = "CMEAN" # CMEan + CMI = "CMI" + COLOR = "COLOR" # COLOr + COLOROFF = "COLOROFF" + COLORON = "COLORON" + COLUMN = "COLUMN" + COMMAND = "COMMAND" + COMMONMODE = "COMMONMODE" # COMmonmode + COMMUNICATION = "COMMUNICATION" # COMMunication + COMPAT = "COMPAT" + CONTENTION = "CONTENTION" # CONTention + CONTROL = "CONTROL" # CONtrol + COUNT = "COUNT" + CR = "CR" + CRC16 = "CRC16" + CRC5 = "CRC5" + CRMS = "CRMS" # CRMs + CROSSHAIR = "CROSSHAIR" # CROSSHair + CSPLIT = "CSPLIT" + CTRLSKP = "CTRLSKP" + CUSTOM = "CUSTOM" + # CUSTOM = "CUSTom" + DASHED = "DASHED" # DASHed + DATA = "DATA" + # DATA = "DATa" + DATAPACKET = "DATAPACKET" # DATAPacket + DB = "DB" + DBM = "DBM" + DC = "DC" + DCREJECT = "DCREJECT" # DCREJect + DCSLONGREAD = "DCSLONGREAD" # DCSLONGRead + DCSLONGWRITE = "DCSLONGWRITE" # DCSLONGWrite + DCSR = "DCSR" + DCSRR2 = "DCSRR2" + DCSSRR1 = "DCSSRR1" + DDRREAD = "DDRREAD" # DDRRead + DDRREADWRITE = "DDRREADWRITE" # DDRREADWrite + DDRWRITE = "DDRWRITE" # DDRWrite + DECIMAL = "DECIMAL" # DECImal + DECODEFILENAME = "DECODEFILENAME" # decodeFileName + DEFAULT = "DEFAULT" + # DEFAULT = "DEFAult" + # DEFAULT = "DEFault" + DELAY = "DELAY" # DELay + DELAYED = "DELAYED" # DELayed + DELETE = "DELETE" # DELEte + DETAILED = "DETAILED" # DETAiled + DIFFERENTIAL = "DIFFERENTIAL" # DIFFerential + DIGITAL = "DIGITAL" # DIGItal + DISABLE = "DISABLE" # DISable + DISTDUTY = "DISTDUTY" # DISTDUty + DONE = "DONE" + DONTCARE = "DONTCARE" # DONTCare + # DONTCARE = "DONTcare" + DP = "DP" + DSINR = "DSINR" + DSIVC = "DSIVC" + DSIVIOLATION = "DSIVIOLATION" # DSIViolation + DYNAMIC = "DYNAMIC" + ECCERROR = "ECCERROR" # ECCError + ECCMBERROR = "ECCMBERROR" # ECCMBError + ECCSBERROR = "ECCSBERROR" # ECCSBError + ECCWARN = "ECCWARN" # ECCWarn + ECL = "ECL" + EDGE = "EDGE" + EI = "EI" + EIE = "EIE" + EIGHTYTWENTY = "EIGHTYTWENTY" # EIGHtytwenty + EITHER = "EITHER" # EITHer + # EITHER = "EITher" + EMBEDDED = "EMBEDDED" # EMBEDded + ENABLE = "ENABLE" # ENable + ENET100BASETX = "ENET100BASETX" + ENET100FX = "ENET100FX" + ENET10BASET = "ENET10BASET" + ENET1250 = "ENET1250" + ENETXAUI = "ENETXAUI" + ENETXAUI2 = "ENETXAUI2" + ENTERSWINDOW = "ENTERSWINDOW" # ENTERSWindow + ENV = "ENV" + ENVELOPE = "ENVELOPE" # ENVelope + EOF = "EOF" + EOP = "EOP" + # EOP = "EOp" + EOT = "EOT" + EOTSYNC = "EOTSYNC" # EOTSync + EQUAL = "EQUAL" # EQUal + # EQUAL = "EQual" + ERR = "ERR" + ERROR = "ERROR" + # ERROR = "ERRor" + ESCMODE = "ESCMODE" # ESCMode + ESCMODEERROR = "ESCMODEERROR" # ESCMODEError + ET = "ET" + ETHERNET = "ETHERNET" # ETHernet + EVEN = "EVEN" + EVENT = "EVENT" + EVENTS = "EVENTS" + EXECUTE = "EXECUTE" # EXECute + EXITSWINDOW = "EXITSWINDOW" # EXITSWindow + EXTENDED = "EXTENDED" # EXTENDed + # EXTENDED = "EXTENded" + EXTINCTDB = "EXTINCTDB" + EXTINCTPCT = "EXTINCTPCT" + EXTINCTRATIO = "EXTINCTRATIO" + EYE = "EYE" + EYEDIAGRAM = "EYEDIAGRAM" # EYEdiagram + EYEHEIGHT = "EYEHEIGHT" # EYEHeight + FALL = "FALL" + FALLING = "FALLING" # FALling + FALSE = "FALSE" # FALSe + FAST = "FAST" + FASTERTHAN = "FASTERTHAN" # FASTERthan + FASTEST = "FASTEST" # FAStest + FC1063 = "FC1063" + FC133 = "FC133" + FC2125 = "FC2125" + FC266 = "FC266" + FC4250 = "FC4250" + FC531 = "FC531" + FCE = "FCE" + FCSERROR = "FCSERROR" # FCSError + FFWD = "FFWD" + FIFTYFIFTY = "FIFTYFIFTY" # FIFtyfifty + FIRST = "FIRST" # FIRst + FLATTOP2 = "FLATTOP2" + FLEXRAY = "FLEXRAY" + FORCE = "FORCE" # FORCe + FORWARD = "FORWARD" # FORWard + FORWARDS = "FORWARDS" # FORWards + FP = "FP" + FPBINARY = "FPBINARY" # FPBinary + FRAME = "FRAME" + # FRAME = "FRAme" + FRAMEEND = "FRAMEEND" # FRAMEEnd + FRAMESTART = "FRAMESTART" # FRAMEStart + FRAMETYPE = "FRAMETYPE" # FRAMEtype + FREQUENCY = "FREQUENCY" # FREQuency + FREV = "FREV" + FTS = "FTS" + FULL = "FULL" + # FULL = "FULl" + FULLNOMENU = "FULLNOMENU" # FULLNOmenu + FULLSCREEN = "FULLSCREEN" + FULLSPEED = "FULLSPEED" # FULLSPeed + FW1394BS1600B = "FW1394BS1600B" + FW1394BS400B = "FW1394BS400B" + FW1394BS800B = "FW1394BS800B" + FWD = "FWD" + GAUSSIAN = "GAUSSIAN" # GAUSSian + GLITCH = "GLITCH" # GLItch + GLONGREAD = "GLONGREAD" # GLONGRead + GLONGWRITE = "GLONGWRITE" # GLONGWrite + GND = "GND" + GPIB = "GPIB" # GPIb + GRATICULE = "GRATICULE" # GRAticule + GREATERTHAN = "GREATERTHAN" # GREATerthan + GRID = "GRID" # GRId + HAMMING = "HAMMING" # HAMMing + HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket + HANNING = "HANNING" # HANNing + HBARS = "HBARS" # HBArs + HD1080I50 = "HD1080I50" + HD1080I60 = "HD1080I60" + HD1080P24 = "HD1080P24" + HD1080P25 = "HD1080P25" + HD1080P30 = "HD1080P30" + HD1080P50 = "HD1080P50" + HD1080P60 = "HD1080P60" + HD1080SF24 = "HD1080SF24" + HD480P60 = "HD480P60" + HD576P50 = "HD576P50" + HD720P30 = "HD720P30" + HD720P50 = "HD720P50" + HD720P60 = "HD720P60" + HD875I60 = "HD875I60" + HDB3 = "HDB3" + HERTZ = "HERTZ" # HERtz + HEX = "HEX" + HEXADECIMAL = "HEXADECIMAL" # HEXadecimal + HFREJ = "HFREJ" # HFRej + HIGH = "HIGH" + # HIGH = "high" + HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HIStogram + HITS = "HITS" # HITs + HLS = "HLS" + HORIZONTAL = "HORIZONTAL" + # HORIZONTAL = "HORizontal" + HSRTERROR = "HSRTERROR" # HSRTError + HSYNCEND = "HSYNCEND" # HSYNCEnd + HSYNCSTART = "HSYNCSTART" # HSYNCStart + I2C = "I2C" + IDANDDATA = "IDANDDATA" + IDENTIFIER = "IDENTIFIER" # IDENTifier + IDLE = "IDLE" + IN = "IN" + INDEPENDENT = "INDEPENDENT" # INDependent + INFINIBAND = "INFINIBAND" + INFPERSIST = "INFPERSIST" # INFPersist + INHERIT = "INHERIT" + INIT = "INIT" + INKSAVER = "INKSAVER" # INKSaver + INRANGE = "INRANGE" # INrange + INSIDE = "INSIDE" # INSide + INSIDEGREATER = "INSIDEGREATER" # INSIDEGreater + INVALID = "INVALID" + INVERTED = "INVERTED" # INVERTed + # INVERTED = "INVerted" + IRE = "IRE" + ISOALL = "ISOALL" + ISOEND = "ISOEND" + ISOMID = "ISOMID" + ISOSTART = "ISOSTART" + IT = "IT" + ITP = "ITP" + JPEG = "JPEG" + KAISERBESSEL = "KAISERBESSEL" # KAISERBessel + LANDSCAPE = "LANDSCAPE" # LANdscape + LARGE = "LARGE" + # LARGE = "LARge" + LAST = "LAST" + LEARN = "LEARN" + LESSEQUAL = "LESSEQUAL" # LESSEQual + LESSTHAN = "LESSTHAN" # LESSThan + # LESSTHAN = "LESSthan" + LF = "LF" + LFREJ = "LFREJ" # LFRej + LIN = "LIN" + LINE = "LINE" + LINEAR = "LINEAR" # LINEAr + LINEEND = "LINEEND" # LINEEnd + LINES = "LINES" + LINESTART = "LINESTART" # LINEStart + LINE_X = "LINE_X" + LIVE = "LIVE" + LMP = "LMP" + LMPCONFIG = "LMPCONFIG" # LMPConfig + LMPDEVICE = "LMPDEVICE" # LMPDevice + LMPLINK = "LMPLINK" # LMPLink + LMPRESPONSE = "LMPRESPONSE" # LMPResponse + LMPUTWO = "LMPUTWO" # LMPUtwo + LOCK = "LOCK" + # LOCK = "LOck" + LOGIC = "LOGIC" + # LOGIC = "LOGIc" + LONG = "LONG" + LOW = "LOW" + # LOW = "low" + LOWSPEED = "LOWSPEED" # LOWSPeed + LPDATA = "LPDATA" + LPS666 = "LPS666" + LPTSERROR = "LPTSERROR" # LPTSError + LSB = "LSB" + MACADDRESS = "MACADDRESS" # MACADDRess + MANCHESTER = "MANCHESTER" # MANCHester + MANUAL = "MANUAL" + # MANUAL = "MANual" + MAXIMUM = "MAXIMUM" # MAXimum + MAXRETSIZE = "MAXRETSIZE" # MAXRETsize + MDATA = "MDATA" + MEAN = "MEAN" + MEANSTDDEV = "MEANSTDDEV" # MEANSTDdev + MEDIAN = "MEDIAN" # MEDian + MEDIUM = "MEDIUM" # MEDium + MHZ10 = "MHZ10" + MHZ100 = "MHZ100" + MINIMIZED = "MINIMIZED" + MINIMUM = "MINIMUM" # MINImum + MINMAX = "MINMAX" # MINMax + MINUSONE = "MINUSONE" # MINUSOne + MIPICSITWO = "MIPICSITWO" # MIPICSITWo + MIPIDSIONE = "MIPIDSIONE" # MIPIDSIOne + MISO = "MISO" + MISOMOSI = "MISOMOSI" + MIXED = "MIXED" # MIXed + MLT3 = "MLT3" + MONOGRAY = "MONOGRAY" + MONOGREEN = "MONOGREEN" + MOREEQUA = "MOREEQUA" # MOREEQua + MOREEQUAL = "MOREEQUAL" # MOREEQual + MORETHAN = "MORETHAN" # MOREThan + # MORETHAN = "MOREthan" + MOSI = "MOSI" + MSB = "MSB" + MV = "MV" + NAK = "NAK" + NAND = "NAND" # NANd + NCROSS = "NCROSS" # NCROss + NDUTY = "NDUTY" # NDUty + NEGATIVE = "NEGATIVE" # NEGAtive + NEXT = "NEXT" + NO = "NO" + # NO = "No" + NOCARE = "NOCARE" + NOISEREJ = "NOISEREJ" # NOISErej + NOPARITY = "NOPARITY" # NOPARity + NOR = "NOR" + NORMAL = "NORMAL" # NORMal + NOVERSHOOT = "NOVERSHOOT" # NOVershoot + NRZ = "NRZ" + NTSC = "NTSC" + # NTSC = "NTSc" + NULL = "NULL" + NUMERIC = "NUMERIC" # NUMERic + NWIDTH = "NWIDTH" # NWIdth + NYET = "NYET" + OC1 = "OC1" + OC12 = "OC12" + OC3 = "OC3" + OCCURS = "OCCURS" # OCCurs + ODD = "ODD" + OFF = "OFF" + ON = "ON" + ONE = "ONE" + OR = "OR" + OUT = "OUT" + OUTRANGE = "OUTRANGE" # OUTrange + OUTSIDE = "OUTSIDE" # OUTside + OUTSIDEGREATER = "OUTSIDEGREATER" # OUTSIDEGreater + OVERLAY = "OVERLAY" # OVERlay + OVERLOAD = "OVERLOAD" + # OVERLOAD = "OVERLoad" + PACKET = "PACKET" + PAL = "PAL" + PARALLEL = "PARALLEL" # PARallel + PARITY = "PARITY" # PARity + PARITYERROR = "PARITYERROR" # PARItyerror + PASS = "PASS" + PATTERN = "PATTERN" # PATtern + PAYLOAD = "PAYLOAD" # PAYload + PBASE = "PBASE" # PBASe + PCIE = "PCIE" + PCIEXPRESS = "PCIEXPRESS" # PCIExpress + PCIEXPRESS2 = "PCIEXPRESS2" # PCIExpress2 + PCROSS = "PCROSS" # PCROss + PCTCROSS = "PCTCROSS" # PCTCROss + PCX = "PCX" + PDUTY = "PDUTY" # PDUty + PEAKDETECT = "PEAKDETECT" # PEAKdetect + PEAKHITS = "PEAKHITS" # PEAKHits + PENDING = "PENDING" + PERCENT = "PERCENT" # PERCent + PERIOD = "PERIOD" # PERIod + PHASE = "PHASE" # PHAse + PID = "PID" + PING = "PING" + PK2PK = "PK2PK" # PK2Pk + PKPKJITTER = "PKPKJITTER" # PKPKJitter + PKPKNOISE = "PKPKNOISE" # PKPKNoise + PLUSONE = "PLUSONE" # PLUSOne + PNG = "PNG" + POLARCOORD = "POLARCOORD" # POLARCoord + PORTRAIT = "PORTRAIT" # PORTRait + POSITIVE = "POSITIVE" # POSITIVe + PPS101010 = "PPS101010" + PPS121212 = "PPS121212" + PPS565 = "PPS565" + PPS666 = "PPS666" + PPS888 = "PPS888" + PRBS7 = "PRBS7" + PRBS9 = "PRBS9" + PRE = "PRE" + PREVIOUS = "PREVIOUS" # PREVious + PRODUCT = "PRODUCT" # PRODuct + PULSE = "PULSE" # PULse + PWIDTH = "PWIDTH" # PWIdth + QFACTOR = "QFACTOR" # QFACtor + QTAG = "QTAG" + RANDOM = "RANDOM" + RATE10000 = "RATE10000" + RATE12000 = "RATE12000" + RATE1250 = "RATE1250" + RATE14000 = "RATE14000" + RATE1500 = "RATE1500" + RATE2125 = "RATE2125" + RATE2500 = "RATE2500" + RATE3000 = "RATE3000" + RATE3125 = "RATE3125" + RATE4250 = "RATE4250" + RATE5000 = "RATE5000" + RATE6000 = "RATE6000" + RATE6250 = "RATE6250" + RATIO = "RATIO" # RATio + RAW10 = "RAW10" + RAW12 = "RAW12" + RAW14 = "RAW14" + RDMINUS = "RDMINUS" + RDPLUS = "RDPLUS" + READ = "READ" + RECOVERED = "RECOVERED" # RECOVered + RECTANGULAR = "RECTANGULAR" # RECTANGular + # RECTANGULAR = "RECTangular" + REFOUT = "REFOUT" + REJECT = "REJECT" # REJect + RELOAD = "RELOAD" # RELoad + REMOTE = "REMOTE" # REMote + REPEATSTART = "REPEATSTART" # REPEATstart + RESERVED = "RESERVED" + RESET = "RESET" + # RESET = "RESet" + RESETLIVE = "RESETLIVE" # RESETLive + RESTORE = "RESTORE" # RESTore + RESUME = "RESUME" + REV = "REV" + REVERSE = "REVERSE" # REVErse + RGB444 = "RGB444" + RGB555 = "RGB555" + RGB565 = "RGB565" + RGB666 = "RGB666" + RGB888 = "RGB888" + RI = "RI" + RIBINARY = "RIBINARY" # RIBinary + RIO_1G = "RIO_1G" + RIO_2G = "RIO_2G" + RIO_500M = "RIO_500M" + RIO_750M = "RIO_750M" + RIO_SERIAL_1G = "RIO_SERIAL_1G" + RIO_SERIAL_2_5G = "RIO_SERIAL_2_5G" + RIO_SERIAL_3G = "RIO_SERIAL_3G" + RISE = "RISE" + # RISE = "RISe" + RISING = "RISING" # RISing + RMS = "RMS" + RMSJITTER = "RMSJITTER" # RMSJitter + RMSNOISE = "RMSNOISE" # RMSNoise + RP = "RP" + RPBINARY = "RPBINARY" # RPBinary + RS232 = "RS232" + RT = "RT" + RUNSTOP = "RUNSTOP" # RUNSTop + RUNT = "RUNT" + RX = "RX" + S8B10B = "S8B10B" + SAMPLE = "SAMPLE" # SAMple + SAS6_0 = "SAS6_0" + SATA1_5 = "SATA1_5" + SATA3_0 = "SATA3_0" + SATA6_0 = "SATA6_0" + SAVE = "SAVE" # SAVe + SCREEN = "SCREEN" + SDASHED = "SDASHED" # SDASHed + SDS = "SDS" + SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" + SECONDS = "SECONDS" # SECOnds + SELECTED = "SELECTED" + SEQUENCE = "SEQUENCE" # SEQuence + SEQUENTIAL = "SEQUENTIAL" + SERIAL = "SERIAL" + SETHOLD = "SETHOLD" # SETHold + SETLEVEL = "SETLEVEL" # SETLevel + SETUP = "SETUP" + SFPBINARY = "SFPBINARY" # SFPbinary + SHORT = "SHORT" + # SHORT = "SHORt" + SHUTDOWN = "SHUTDOWN" # SHUTDown + SIGMA1 = "SIGMA1" + SIGMA2 = "SIGMA2" + SIGMA3 = "SIGMA3" + SINGLEENDED = "SINGLEENDED" # SINGleended + SINX = "SINX" + SIXSIGMAJIT = "SIXSIGMAJIT" # SIXSigmajit + SKP = "SKP" + SLOWERTHAN = "SLOWERTHAN" # SLOWERthan + SMALL = "SMALL" # SMAll + SNAP = "SNAP" # SNAp + SNRATIO = "SNRATIO" # SNRatio + SOF = "SOF" + SOLID = "SOLID" + SOT = "SOT" + SOTERROR = "SOTERROR" # SOTError + SOTSYNC = "SOTSYNC" # SOTSync + SPACE = "SPACE" # SPace + SPECIALPACKET = "SPECIALPACKET" # SPECIALPacket + SPECTRAL = "SPECTRAL" # SPECTral + SPI = "SPI" + SPLIT = "SPLIT" + SRCDEPENDENT = "SRCDEPENDENT" # SRCDependent + SRCINDEPENDENT = "SRCINDEPENDENT" # SRCIndependent + SRIBINARY = "SRIBINARY" # SRIbinary + SRPBINARY = "SRPBINARY" # SRPbinary + SS = "SS" + SSPLIT = "SSPLIT" + STABLE = "STABLE" # STABle + STALL = "STALL" + STANDARD = "STANDARD" + # STANDARD = "STANdard" + # STANDARD = "STandard" + START = "START" + # START = "STARt" + STARTUP = "STARTUP" # STARTup + STATE = "STATE" + STATIC = "STATIC" + STATUS = "STATUS" + # STATUS = "STATus" + STAYSHIGH = "STAYSHIGH" # STAYSHigh + STAYSLOW = "STAYSLOW" # STAYSLow + STDDEV = "STDDEV" # STDdev + STOP = "STOP" + SUBSYS = "SUBSYS" + SUSPEND = "SUSPEND" + SYMBOL = "SYMBOL" + SYMBOLIC = "SYMBOLIC" # SYMBolic + SYNC = "SYNC" + TCPHEADER = "TCPHEADER" # TCPHeader + TEAR = "TEAR" + TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential + TEMPERATURE = "TEMPERATURE" # TEMPErature + TEST = "TEST" + # TEST = "TESt" + TIFF = "TIFF" + TIME = "TIME" + # TIME = "TIMe" + TIMEOUT = "TIMEOUT" # TIMEOut + TOGGLE = "TOGGLE" + TOKENPACKET = "TOKENPACKET" # TOKENPacket + TP = "TP" + TPACK = "TPACK" + TPERDY = "TPERDY" + TPNOTIFY = "TPNOTIFY" # TPNotify + TPNRDY = "TPNRDY" + TPPING = "TPPING" # TPPing + TPRESPONSE = "TPRESPONSE" # TPResponse + TPSTALL = "TPSTALL" # TPSTall + TPSTATUS = "TPSTATUS" # TPStatus + TRACK = "TRACK" # TRACk + TRAINING = "TRAINING" # TRAining + TRANSITION = "TRANSITION" # TRANsition + TRIGGERTOSEARCH = "TRIGGERTOSEARCH" # TRIGgertosearch + TRILEVELCUSTOM = "TRILEVELCUSTOM" # TRILevelcustom + TRUE = "TRUE" # TRUe + TTL = "TTL" + TURNON = "TURNON" + TX = "TX" + ULTRALP = "ULTRALP" + UNDEFINED = "UNDEFINED" + UNDO = "UNDO" # UNDo + UNEQUAL = "UNEQUAL" # UNEQual + UNLOCK = "UNLOCK" + USB = "USB" + USER = "USER" # USEr + V1X = "V1X" + V2X = "V2X" + VALUEMEAN = "VALUEMEAN" # VALUEMean + VBARS = "VBARS" # VBArs + VERTICAL = "VERTICAL" + # VERTICAL = "VERTical" + VFIELDS = "VFIELDS" # VFields + VIDEO = "VIDEO" # VIDeo + VLINES = "VLINES" # VLines + VSROC192 = "VSROC192" + VSYNCEND = "VSYNCEND" # VSYNCEnd + VSYNCSTART = "VSYNCSTART" # VSYNCStart + WAIT = "WAIT" + WARNING = "WARNING" # WARNing + WAVEFORM = "WAVEFORM" # WAVEform + WAVEFORMS = "WAVEFORMS" + WFMDB = "WFMDB" + WIDERTHAN = "WIDERTHAN" # WIDERthan + WIDTH = "WIDTH" # WIDth + WINDOW = "WINDOW" # WINdow + WITHIN = "WITHIN" # WITHin + # WITHIN = "WIThin" + WRITE = "WRITE" + X = "X" + XFF = "XFF" + XLARGE = "XLARGE" + XSMALL = "XSMALL" # XSMAll + XY = "XY" + XYZ = "XYZ" + Y = "Y" + YCBCR12 = "YCBCR12" + YCBCR16 = "YCBCR16" + YCBCR20 = "YCBCR20" + YCBCR24 = "YCBCR24" + YES = "YES" + # YES = "Yes" + YT = "YT" + YUV420B10 = "YUV420B10" + YUV420B8 = "YUV420B8" + YUV420C10 = "YUV420C10" + YUV420C8 = "YUV420C8" + YUV420L8 = "YUV420L8" + YUV422B10 = "YUV422B10" + YUV422B8 = "YUV422B8" + ZERO = "ZERO" + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class DPO7KCommands: + """The DPO7K commands. + + This provides access to all the commands for the DPO7K device. See the documentation of each + property for more usage information. + + Properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + + # pylint: disable=too-many-statements + def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 + self._acquire = Acquire(device) + self._alias = Alias(device) + self._allev = Allev(device) + self._allocate = Allocate(device) + self._application = Application(device) + self._autoset = Autoset(device) + self._auxin = Auxin(device) + self._auxout = Auxout(device) + self._bell = Bell(device) + self._bus = Bus(device) + self._busy = Busy(device) + self._cal = Cal(device) + self._calibrate = Calibrate(device) + self._ch: Dict[int, Channel] = DefaultDictPassKeyToFactory( + lambda x: Channel(device, f"CH{x}") + ) + self._clear = Clear(device) + self._cls = Cls(device) + self._cmdbatch = Cmdbatch(device) + self._counter = Counter(device) + self._cq: Dict[int, CqItem] = DefaultDictPassKeyToFactory( + lambda x: CqItem(device, f"CQ{x}") + ) + self._cursor = Cursor(device) + self._curve = Curve(device) + self._curvenext = Curvenext(device) + self._curvestream = Curvestream(device) + self._custom = Custom(device) + self._d: Dict[int, DigitalBit] = DefaultDictPassKeyToFactory( + lambda x: DigitalBit(device, f"D{x}") + ) + self._data = Data(device) + self._date = Date(device) + self._ddt = Ddt(device) + self._delete = Delete(device) + self._dese = Dese(device) + self._diag = Diag(device) + self._display = Display(device) + self._email = Email(device) + self._errordetector = Errordetector(device) + self._ese = Ese(device) + self._esr = Esr(device) + self._event = Event(device) + self._evmsg = Evmsg(device) + self._evqty = Evqty(device) + self._export = Export(device) + self._factory = Factory(device) + self._fastacq = Fastacq(device) + self._filesystem = Filesystem(device) + self._gpibusb = Gpibusb(device) + self._hardcopy = Hardcopy(device) + self._hdr = Hdr(device) + self._header = Header(device) + self._histogram = Histogram(device) + self._horizontal = Horizontal(device) + self._id = Id(device) + self._idn = Idn(device) + self._limit = Limit(device) + self._linktraining = Linktraining(device) + self._lock = Lock(device) + self._lrn = Lrn(device) + self._mark = Mark(device) + self._mask = Mask(device) + self._math: Dict[int, MathItem] = DefaultDictPassKeyToFactory( + lambda x: MathItem(device, f"MATH{x}") + ) + self._matharbflt: Dict[int, MatharbfltItem] = DefaultDictPassKeyToFactory( + lambda x: MatharbfltItem(device, f"MATHArbflt{x}") + ) + self._mathvar = Mathvar(device) + self._mch: Dict[int, MchItem] = DefaultDictPassKeyToFactory( + lambda x: MchItem(device, f"MCH{x}") + ) + self._measurement = Measurement(device) + self._multiscope = Multiscope(device) + self._newpass = Newpass(device) + self._opc = Opc(device) + self._opcextended = Opcextended(device) + self._opt = Opt(device) + self._password = Password(device) + self._pcenable = Pcenable(device) + self._psc = Psc(device) + self._pud = Pud(device) + self._rcl = Rcl(device) + self._recall = Recall(device) + self._ref: Dict[int, RefItem] = DefaultDictPassKeyToFactory( + lambda x: RefItem(device, f"REF{x}") + ) + self._rem = Rem(device) + self._rosc = Rosc(device) + self._rst = Rst(device) + self._sav = Sav(device) + self._save = Save(device) + self._saveon = Saveon(device) + self._sds = Sds(device) + self._search = Search(device) + self._select = Select(device) + self._set = Set(device) + self._setup = Setup(device) + self._sre = Sre(device) + self._stb = Stb(device) + self._system = System(device) + self._teklink = Teklink(device) + self._teksecure = Teksecure(device) + self._test = Test(device) + self._time = Time(device) + self._trg = Trg(device) + self._trig = Trig(device) + self._trigger = Trigger(device) + self._tst = Tst(device) + self._unlock = Unlock(device) + self._usbtmc = Usbtmc(device) + self._verbose = Verbose(device) + self._visual = Visual(device) + self._wai = Wai(device) + self._wavfrm = Wavfrm(device) + self._wavfrmstream = Wavfrmstream(device) + self._wfminpre = Wfminpre(device) + self._wfmoutpre = Wfmoutpre(device) + self._wfmpre = Wfmpre(device) + self._zoom = Zoom(device) + + @property + def acquire(self) -> Acquire: + """Return the ``ACQuire`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACQuire?`` query. + - Using the ``.verify(value)`` method will send the ``ACQuire?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enhancedenob``: The ``ACQuire:ENHANCEDEnob`` command. + - ``.interpeightbit``: The ``ACQuire:INTERPEightbit`` command. + - ``.magnivu``: The ``ACQuire:MAGnivu`` command. + - ``.mode``: The ``ACQuire:MODe`` command. + - ``.numacq``: The ``ACQuire:NUMACq`` command. + - ``.numavg``: The ``ACQuire:NUMAVg`` command. + - ``.numenv``: The ``ACQuire:NUMEnv`` command. + - ``.numframesacquired``: The ``ACQuire:NUMFRAMESACQuired`` command. + - ``.numsamples``: The ``ACQuire:NUMSAMples`` command. + - ``.samplingmode``: The ``ACQuire:SAMPlingmode`` command. + - ``.state``: The ``ACQuire:STATE`` command. + - ``.stopafter``: The ``ACQuire:STOPAfter`` command. + - ``.syncsamples``: The ``ACQuire:SYNcsamples`` command. + """ + return self._acquire + + @property + def alias(self) -> Alias: + """Return the ``ALIas`` command. + + **Description:** + - This command sets or queries the state of alias functionality, and it is identical to + the ``ALIAS:STATE`` command. + + **Usage:** + - Using the ``.query()`` method will send the ``ALIas?`` query. + - Using the ``.verify(value)`` method will send the ``ALIas?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ALIas value`` command. + + **SCPI Syntax:** + + :: + + - ALIas {OFF|ON|} + - ALIas? + + **Info:** + - ``OFF`` turns Alias expansion off. + - ``ON`` turns Alias expansion on. When a defined alias is received, the specified + command sequence is substituted for the alias and executed. + - ```` = 0 disables Alias mode; any other value enables Alias mode. + + Sub-properties: + - ``.catalog``: The ``ALIas:CATalog`` command. + - ``.define``: The ``ALIas:DEFine`` command. + - ``.delete``: The ``ALIas:DELEte`` command. + - ``.state``: The ``ALIas:STATE`` command. + """ + return self._alias + + @property + def allev(self) -> Allev: + """Return the ``ALLEv`` command. + + **Description:** + - This query-only command prompts the instrument to return all events and their messages + (delimited by commas), and removes the returned events from the Event Queue. Use the + ``*ESR?`` query to enable the events to be returned. This command is similar to + repeatedly sending ``*EVMsg?`` queries to the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLEv?`` query. + - Using the ``.verify(value)`` method will send the ``ALLEv?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ALLEv? + """ + return self._allev + + @property + def allocate(self) -> Allocate: + """Return the ``ALLOcate`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLOcate?`` query. + - Using the ``.verify(value)`` method will send the ``ALLOcate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.waveform``: The ``ALLOcate:WAVEform`` command tree. + """ + return self._allocate + + @property + def application(self) -> Application: + """Return the ``APPLication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``APPLication?`` query. + - Using the ``.verify(value)`` method will send the ``APPLication?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.activate``: The ``APPLication:ACTivate`` command. + - ``.scopeapp``: The ``APPLication:SCOPEAPP`` command tree. + """ + return self._application + + @property + def autoset(self) -> Autoset: + """Return the ``AUTOSet`` command. + + **Description:** + - This command (no query format) sets the vertical, horizontal, and trigger controls of + the instrument to automatically acquire and display the selected waveform. (To autoset + a video waveform, the video trigger must be set to video standard, not custom. Video + arguments require video hardware.) This is equivalent to pressing the front panel + AUTOSET button. For a detailed description of autoset functionality, see Autoset in + the index of the online help for your instrument. + + **Usage:** + - Using the ``.write(value)`` method will send the ``AUTOSet value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSet {EXECute|UNDo|VFields|VIDeo|VLines} + + **Info:** + - ``EXECute`` runs the autoset routine; this is equivalent to pressing the front panel + AUTOSET button. If the display is set to a PAL, MV, or IRE graticule, this argument + forces the graticule display to full mode (frame, grid, and cross hair). + - ``UNDo`` returns the instrument to the setting prior to executing an autoset. + - ``VFields`` autosets the displayed waveform. + - ``VIDeo`` autosets the displayed waveform. + - ``VLines`` autosets the displayed waveform. + + Sub-properties: + - ``.overlay``: The ``AUTOSet:OVErlay`` command. + - ``.percent``: The ``AUTOSet:PERcent`` command. + """ + return self._autoset + + @property + def auxin(self) -> Auxin: + """Return the ``AUXIn`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXIn?`` query. + - Using the ``.verify(value)`` method will send the ``AUXIn?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bandwidth``: The ``AUXIn:BANdwidth`` command. + - ``.coupling``: The ``AUXIn:COUPling`` command. + - ``.offset``: The ``AUXIn:OFFSet`` command. + - ``.probefunc``: The ``AUXIn:PROBEFunc`` command tree. + - ``.probe``: The ``AUXIn:PRObe`` command tree. + - ``.vterm``: The ``AUXIn:VTERm`` command tree. + """ + return self._auxin + + @property + def auxout(self) -> Auxout: + """Return the ``AUXout`` command. + + **Description:** + - This query-only command returns the auxiliary output setup and is equivalent to + selecting External Signals. From the Utilities menu, and then viewing the current + settings for the AUX OUT Configuration. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXout?`` query. + - Using the ``.verify(value)`` method will send the ``AUXout?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - AUXout? + + Sub-properties: + - ``.edge``: The ``AUXout:EDGE`` command. + - ``.source``: The ``AUXout:SOUrce`` command. + """ + return self._auxout + + @property + def bell(self) -> Bell: + """Return the ``BELl`` command. + + **Description:** + - This command was previously used to beep an audio indicator and is provided for + backward compatibility. + + **Usage:** + - Using the ``.write()`` method will send the ``BELl`` command. + + **SCPI Syntax:** + + :: + + - BELl + """ + return self._bell + + @property + def bus(self) -> Bus: + """Return the ``BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.b1``: The ``BUS:B1`` command tree. + - ``.b``: The ``BUS:B`` command tree. + - ``.ch``: The ``BUS:CH`` command tree. + - ``.math``: The ``BUS:MATH`` command tree. + - ``.ref``: The ``BUS:REF`` command tree. + """ + return self._bus + + @property + def busy(self) -> Busy: + """Return the ``BUSY`` command. + + **Description:** + - This query-only command returns the status of the instrument. This command allows you + to synchronize the operation of the instrument with your application program. + + **Usage:** + - Using the ``.query()`` method will send the ``BUSY?`` query. + - Using the ``.verify(value)`` method will send the ``BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - BUSY? + """ + return self._busy + + @property + def cal(self) -> Cal: + """Return the ``*CAL`` command. + + **Description:** + - This query-only command starts signal path calibration (SPC) and returns the status + upon completion. + + **Usage:** + - Using the ``.query()`` method will send the ``*CAL?`` query. + - Using the ``.verify(value)`` method will send the ``*CAL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *CAL? + """ + return self._cal + + @property + def calibrate(self) -> Calibrate: + """Return the ``CALibrate`` command. + + **Description:** + - This query returns the status of signal path calibration. + + **Usage:** + - Using the ``.query()`` method will send the ``CALibrate?`` query. + - Using the ``.verify(value)`` method will send the ``CALibrate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CALibrate? + + Sub-properties: + - ``.calprobe``: The ``CALibrate:CALProbe`` command tree. + - ``.internal``: The ``CALibrate:INTERNal`` command. + - ``.probestate``: The ``CALibrate:PRObestate`` command tree. + - ``.results``: The ``CALibrate:RESults`` command. + """ + return self._calibrate + + @property + def ch(self) -> Dict[int, Channel]: + """Return the ``CH`` command. + + **Description:** + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CH? + + Sub-properties: + - ``.atiactive``: The ``CH:ATIACTive`` command. + - ``.available``: The ``CH:AVAILable`` command. + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.coupling``: The ``CH:COUPling`` command. + - ``.deskew``: The ``CH:DESKew`` command. + - ``.fastacqcapable``: The ``CH:FASTAcqcapable`` command. + - ``.fastframecapable``: The ``CH:FASTFRamecapable`` command. + - ``.icapture``: The ``CH:ICAPture`` command tree. + - ``.invert``: The ``CH:INVert`` command. + - ``.label``: The ``CH:LABel`` command tree. + - ``.offset``: The ``CH:OFFSet`` command. + - ``.opti``: The ``CH:OPTI`` command tree. + - ``.optical``: The ``CH:OPTIcal`` command tree. + - ``.position``: The ``CH:POSition`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scale``: The ``CH:SCAle`` command. + - ``.termination``: The ``CH:TERmination`` command. + - ``.threshold``: The ``CH:THRESHold`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + """ + return self._ch + + @property + def clear(self) -> Clear: + """Return the ``CLEAR`` command. + + **Description:** + - This command clears acquisitions, measurements, and waveforms. + + **Usage:** + - Using the ``.write(value)`` method will send the ``CLEAR value`` command. + + **SCPI Syntax:** + + :: + + - CLEAR {ALL} + """ + return self._clear + + @property + def cls(self) -> Cls: + """Return the ``*CLS`` command. + + **Description:** + - This command (no query form) clears the following: Event Queue Standard Event Status + Register Status Byte Register (except the MAV bit) If the ``*CLS`` command immediately + follows an , the Output Queue and MAV bit (Status Byte Register bit 4) are also + cleared. MAV indicates that information is in the output queue. The device clear (DCL) + control message will clear the output queue and thus MAV. ``*CLS`` does not clear the + output queue or MAV. ``*CLS`` can suppress a Service Request that is to be generated + by an ``*OPC``. This will happen if a single sequence acquisition operation is still + being processed when the ``*CLS`` command is executed. + + **Usage:** + - Using the ``.write()`` method will send the ``*CLS`` command. + + **SCPI Syntax:** + + :: + + - *CLS + """ + return self._cls + + @property + def cmdbatch(self) -> Cmdbatch: + """Return the ``CMDBatch`` command. + + **Description:** + - This command sets or queries the state of command batching. By batching commands, + database transactions can be optimized, increasing command throughput. Also, batching + allows for ALL commands in an individual batch to be order independent and accomplish + the same result as if the commands were coupled. The Batch state is persistent and + will be saved across power cycles, but will not be saved and recalled as part of a + setup. In a setup scenario, the factory initial value is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``CMDBatch?`` query. + - Using the ``.verify(value)`` method will send the ``CMDBatch?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CMDBatch value`` command. + + **SCPI Syntax:** + + :: + + - CMDBatch {OFF|ON} + - CMDBatch? + + **Info:** + - ```` = 0 turns command batching off; any other value turns command batching on. + - ``OFF`` turns command batching off. + - ``ON`` turns command batching on. + """ + return self._cmdbatch + + @property + def counter(self) -> Counter: + """Return the ``COUnter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``COUnter?`` query. + - Using the ``.verify(value)`` method will send the ``COUnter?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.results``: The ``COUnter:RESULTs`` command. + """ + return self._counter + + @property + def cq(self) -> Dict[int, CqItem]: + """Return the ``CQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CQ?`` query. + - Using the ``.verify(value)`` method will send the ``CQ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``CQ:THRESHold`` command. + """ + return self._cq + + @property + def cursor(self) -> Cursor: + """Return the ``CURSor`` command. + + **Description:** + - Returns all of the current cursor settings. + + **Usage:** + - Using the ``.query()`` method will send the ``CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``CURSor?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURSor? + + Sub-properties: + - ``.function``: The ``CURSor:FUNCtion`` command. + - ``.hbars``: The ``CURSor:HBArs`` command. + - ``.linestyle``: The ``CURSor:LINESTyle`` command. + - ``.mode``: The ``CURSor:MODe`` command. + - ``.screen``: The ``CURSor:SCREEN`` command tree. + - ``.source1``: The ``CURSor:SOUrce1`` command. + - ``.state``: The ``CURSor:STATE`` command. + - ``.vbars``: The ``CURSor:VBArs`` command. + - ``.waveform``: The ``CURSor:WAVEform`` command. + - ``.xy``: The ``CURSor:XY`` command. + """ + return self._cursor + + @property + def curve(self) -> Curve: + """Return the ``CURVe`` command. + + **Description:** + - The ``CURVe`` command transfers the waveform data points the oscilloscope's internal + reference memory location (REF1-4), which is specified by the to ``DATa:DESTination`` + command. The ``CURVe?`` query transfers data the oscilloscope; the source waveform is + specified by the from ``DATa:SOUrce`` command. The first and last data points are + specified by the ``DATa:STARt`` and ``DATa:STOP`` commands. Associated with each + waveform transferred using the ``CURVe`` command or query is a waveform preamble that + provides the data format, scale and associated information needed to interpret the + waveform data points. The preamble information for waveforms sent the oscilloscope is + specified using the to WFMInpre commands. The preamble information for waveforms + transferred the oscilloscope is specified or queried using the from WFMOutpre + commands. If the waveform is not displayed, the query form generates an error. The + ``CURVe`` command and ``CURVe?`` query transfer waveform data in ASCII or binary + format. ASCII data is sent as a comma-separated list of decimal values. Binary data is + sent with the IEEE488.2 binary block header immediately followed by the binary data. + The IEEE488.2 binary block header is defined as follows: #N where: N is a + single decimal or hexadecimal digit indicating the number of digits to follow. + are the decimal digits representing the number of bytes in the data that + immediately follows this binary block header. The Waveform Transfer command group text + contains more comprehensive information. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVe?`` query. + - Using the ``.verify(value)`` method will send the ``CURVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVe value`` command. + + **SCPI Syntax:** + + :: + + - CURVe {|} + - CURVe? + + **Info:** + - ```` is the waveform data in binary format. The waveform is formatted as + follows. + - ```` is the waveform data in ASCII format. The format for ASCII data is + [,..], where each represents a data point. For RF frequency domain + waveforms, the data is transmitted as 4-byte floating point values (NR2 or NR3). + """ + return self._curve + + @property + def curvenext(self) -> Curvenext: + """Return the ``CURVENext`` command. + + **Description:** + - This query-only command returns unique waveform data from the instrument. This query + performs just like CURVE?, except multiple uses guarantee that the waveform returned + is always a new acquisition since the previous CURVENEXT. Note that if the instrument + is acquiring waveform records at a slow rate (high resolution mode), you must + configure the controller for long timeout thresholds. Data will not be transferred + until a new waveform is acquired since the previous ``:CURVENext?`` response. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVENext?`` query. + - Using the ``.verify(value)`` method will send the ``CURVENext?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURVENext? + """ + return self._curvenext + + @property + def curvestream(self) -> Curvestream: + """Return the ``CURVEStream`` command. + + **Description:** + - This query continuously transfers waveform data from the instrument as it is acquired. + This command puts the instrument into a talk-only mode, allowing the controller to + receive waveform records as fast as (and as soon as) they are acquired. Use the + ``DATA:SOURCE`` command to specify the waveform sources. The command does the same + thing as the CURVE command. Control of the instrument through the user interface or + other external client is not possible while in streaming mode. The GPIB controller + must take the instrument out of this continuous talking mode to terminate the query + and allow other input sources to resume communication with the instrument. The + following options are available to transition out of streaming curve mode: send a + device clear over the bus or send another query to the instrument (a MEPE Query + Interrupted error will occur, but the instrument will be placed back into its normal + talk/listen mode). Turning the waveform screen display mode off + (``:DISPLAY:WAVEFORM OFF``) will increase waveform throughput during streaming mode. + While in streaming mode, two extreme conditions can occur. If the waveform records are + being acquired slowly (high resolution), configure the controller for long time-out + thresholds, as the data is not sent out until each complete record is acquired. If the + waveform records are being acquired rapidly (low resolution), and the controller is + not reading the data off the bus fast enough, the trigger rate is slowed to allow each + waveform to be sent sequentially. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVEStream?`` query. + - Using the ``.verify(value)`` method will send the ``CURVEStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVEStream value`` command. + + **SCPI Syntax:** + + :: + + - CURVEStream {|} + - CURVEStream? + """ + return self._curvestream + + @property + def custom(self) -> Custom: + """Return the ``CUSTOM`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CUSTOM?`` query. + - Using the ``.verify(value)`` method will send the ``CUSTOM?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.gate``: The ``CUSTOM:GATE`` command tree. + - ``.select``: The ``CUSTOM:SELECT`` command tree. + """ + return self._custom + + @property + def d(self) -> Dict[int, DigitalBit]: + """Return the ``D`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``D?`` query. + - Using the ``.verify(value)`` method will send the ``D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.label``: The ``D:LABEL`` command. + - ``.position``: The ``D:POSition`` command. + - ``.probe``: The ``D:PROBE`` command tree. + - ``.threshold``: The ``D:THRESHold`` command. + """ + return self._d + + @property + def data(self) -> Data: + """Return the ``DATa`` command. + + **Description:** + - This command sets or queries the format and location of the waveform data that is + transferred with the CURVE command. + + **Usage:** + - Using the ``.query()`` method will send the ``DATa?`` query. + - Using the ``.verify(value)`` method will send the ``DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATa value`` command. + + **SCPI Syntax:** + + :: + + - DATa {INIT|SNAp} + - DATa? + + **Info:** + - ``INIT`` initializes the waveform data parameters to their factory defaults except for + ``DATa:STOP``, which isset to the current acquisition record length. + - ``SNAp`` Sets ``DATa:STARt`` and ``DATa:STOP`` to match the current waveform cursor + positions of WAVEVIEW1 CURSOR1 if these waveform cursors are currently on. If these + waveform cursors are not on when the ``DATa SNAp`` command is sent, it is silently + ignored and ``DATa:STARt`` and ``:STOP`` remain unchanged. + + Sub-properties: + - ``.destination``: The ``DATa:DESTination`` command. + - ``.encdg``: The ``DATa:ENCdg`` command. + - ``.framestart``: The ``DATa:FRAMESTARt`` command. + - ``.framestop``: The ``DATa:FRAMESTOP`` command. + - ``.source``: The ``DATa:SOUrce`` command. + - ``.start``: The ``DATa:STARt`` command. + - ``.stop``: The ``DATa:STOP`` command. + - ``.syncsources``: The ``DATa:SYNCSOUrces`` command. + """ + return self._data + + @property + def date(self) -> Date: + """Return the ``DATE`` command. + + **Description:** + - This command specifies the date the oscilloscope displays. + + **Usage:** + - Using the ``.query()`` method will send the ``DATE?`` query. + - Using the ``.verify(value)`` method will send the ``DATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATE value`` command. + + **SCPI Syntax:** + + :: + + - DATE + - DATE? + + **Info:** + - ```` is a date in the form 'yyyy-mm-dd' where yyyy refers to a four-digit + year number, mm refers to a two-digit month number from 01 to 12, and dd refers to a + two-digit day number in the month. + """ + return self._date + + @property + def ddt(self) -> Ddt: + """Return the ``*DDT`` command. + + **Description:** + - This command allows you to specify a command or a list of commands that are executed + when the instrument receives a TRG command. Define Device Trigger ( ``*DDT`` ) is a + special alias that the ``*TRG`` command uses. + + **Usage:** + - Using the ``.query()`` method will send the ``*DDT?`` query. + - Using the ``.verify(value)`` method will send the ``*DDT?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*DDT value`` command. + + **SCPI Syntax:** + + :: + + - *DDT {|} + - *DDT? + + **Info:** + - ```` is a complete sequence of program messages. The messages can contain only + valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. The + format of this argument is always returned as a query. + - ```` is a complete sequence of program messages. The messages can contain + only valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. + """ + return self._ddt + + @property + def delete(self) -> Delete: + """Return the ``DELEte`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DELEte?`` query. + - Using the ``.verify(value)`` method will send the ``DELEte?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``DELEte:SETUp`` command. + - ``.waveform``: The ``DELEte:WAVEform`` command. + """ + return self._delete + + @property + def dese(self) -> Dese: + """Return the ``DESE`` command. + + **Description:** + - This command sets and queries the bits in the Device Event Status Enable Register + (DESER). The DESER is the mask that determines whether events are reported to the + Standard Event Status Register (SESR), and entered into the Event Queue. For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``DESE?`` query. + - Using the ``.verify(value)`` method will send the ``DESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DESE value`` command. + + **SCPI Syntax:** + + :: + + - DESE + - DESE? + + **Info:** + - ```` The binary bits of the DESER are set according to this value, which ranges + from 1 through 255. For example, ``DESE 209`` sets the DESER to the binary value + 11010001 (that is, the most significant bit in the register is set to 1, the next most + significant bit to 1, the next bit to 0, etc.). + """ + return self._dese + + @property + def diag(self) -> Diag: + """Return the ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.control``: The ``DIAg:CONTROL`` command tree. + - ``.execute``: The ``DIAg:EXECUTE`` command. + - ``.failures``: The ``DIAg:FAILURES`` command tree. + - ``.item``: The ``DIAg:ITEM`` command. + - ``.level``: The ``DIAg:LEVEL`` command. + - ``.loops``: The ``DIAg:LOOPS`` command. + - ``.name``: The ``DIAg:NAMe`` command. + - ``.numitems``: The ``DIAg:NUMITEMS`` command. + - ``.results``: The ``DIAg:RESults`` command. + - ``.select``: The ``DIAg:SELect`` command tree. + - ``.state``: The ``DIAg:STATE`` command. + - ``.stop``: The ``DIAg:STOP`` command. + """ + return self._diag + + @property + def display(self) -> Display: + """Return the ``DISplay`` command. + + **Description:** + - This query-only command returns the current Display settings. + + **Usage:** + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DISplay? + + Sub-properties: + - ``.clock``: The ``DISplay:CLOCk`` command. + - ``.color``: The ``DISplay:COLOr`` command. + - ``.data``: The ``DISplay:DATa`` command. + - ``.deskew``: The ``DISplay:DESKew`` command. + - ``.digital``: The ``DISplay:DIGital`` command tree. + - ``.dpojetplot``: The ``DISplay:DPOJETPlot`` command. + - ``.filter``: The ``DISplay:FILTer`` command. + - ``.format``: The ``DISplay:FORMat`` command. + - ``.graticule``: The ``DISplay:GRAticule`` command. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.screentext``: The ``DISplay:SCREENTExt`` command. + - ``.showremote``: The ``DISplay:SHOWREmote`` command. + - ``.style``: The ``DISplay:STYle`` command. + - ``.trigbar``: The ``DISplay:TRIGBar`` command. + - ``.trigt``: The ``DISplay:TRIGT`` command. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveform``: The ``DISplay:WAVEform`` command. + """ + return self._display + + @property + def email(self) -> Email: + """Return the ``EMail`` command. + + **Description:** + - This command (no query form) sends a test e-mail message or sets the current e-mail + sent count to zero. + + **Usage:** + - Using the ``.write(value)`` method will send the ``EMail value`` command. + + **SCPI Syntax:** + + :: + + - EMail {TESt|RESET} + + **Info:** + - ``TESt`` argument sends a test e-mail message. + - ``RESET`` argument sets the e-mail sent count to zero. + + Sub-properties: + - ``.attempts``: The ``EMail:ATTempts`` command. + - ``.authlogin``: The ``EMail:AUTHLogin`` command. + - ``.authpassword``: The ``EMail:AUTHPassword`` command. + - ``.count``: The ``EMail:COUNt`` command. + - ``.from``: The ``EMail:FROm`` command. + - ``.hostwanted``: The ``EMail:HOSTwanted`` command. + - ``.image``: The ``EMail:IMAGe`` command. + - ``.limit``: The ``EMail:LIMit`` command. + - ``.mask``: The ``EMail:MASK`` command. + - ``.maxsize``: The ``EMail:MAXSize`` command. + - ``.measurement``: The ``EMail:MEASUrement`` command. + - ``.numemails``: The ``EMail:NUMEMails`` command. + - ``.smtpport``: The ``EMail:SMTPPort`` command. + - ``.smtpserver``: The ``EMail:SMTPServer`` command. + - ``.status``: The ``EMail:STATUS`` command. + - ``.timeout``: The ``EMail:TIMEOut`` command. + - ``.to``: The ``EMail:TO`` command. + - ``.trigger``: The ``EMail:TRIGger`` command. + - ``.waveform``: The ``EMail:WAVEform`` command. + """ + return self._email + + @property + def errordetector(self) -> Errordetector: + """Return the ``ERRORDetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.alert``: The ``ERRORDetector:ALERT`` command. + - ``.aligncharacter``: The ``ERRORDetector:ALIGNCHARacter`` command. + - ``.alignprimitive``: The ``ERRORDetector:ALIGNPRIMitive`` command. + - ``.bit``: The ``ERRORDetector:BIT`` command tree. + - ``.bitrate``: The ``ERRORDetector:BITRate`` command. + - ``.channel``: The ``ERRORDetector:CHANnel`` command. + - ``.duration``: The ``ERRORDetector:DURATION`` command tree. + - ``.errorlimit``: The ``ERRORDetector:ERRORLIMIT`` command. + - ``.file``: The ``ERRORDetector:FILE`` command tree. + - ``.fontsize``: The ``ERRORDetector:FONTSIze`` command. + - ``.frame``: The ``ERRORDetector:FRAme`` command. + - ``.maxaligns``: The ``ERRORDetector:MAXALIGNS`` command. + - ``.patternname``: The ``ERRORDetector:PATTERNNAME`` command. + - ``.preset``: The ``ERRORDetector:PREset`` command. + - ``.saveimage``: The ``ERRORDetector:SAVEIMAGE`` command. + - ``.savewfm``: The ``ERRORDetector:SAVEWFM`` command. + - ``.scrambled``: The ``ERRORDetector:SCRAMBLED`` command. + - ``.sendemail``: The ``ERRORDetector:SENDEMAIL`` command. + - ``.signaltype``: The ``ERRORDetector:SIGnaltype`` command. + - ``.ssc``: The ``ERRORDetector:SSC`` command. + - ``.standard``: The ``ERRORDetector:STANdard`` command. + - ``.state``: The ``ERRORDetector:STATE`` command. + - ``.status``: The ``ERRORDetector:STATus`` command. + - ``.stopwhen``: The ``ERRORDetector:STOPWHEN`` command. + - ``.symbol``: The ``ERRORDetector:SYMBOL`` command. + - ``.timeformat``: The ``ERRORDetector:TIMEformat`` command. + - ``.type``: The ``ERRORDetector:TYPe`` command. + """ + return self._errordetector + + @property + def ese(self) -> Ese: + """Return the ``*ESE`` command. + + **Description:** + - This command sets and queries the bits in the Event Status Enable Register (ESER). The + ESER prevents events from being reported to the Status Byte Register (STB). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESE?`` query. + - Using the ``.verify(value)`` method will send the ``*ESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*ESE value`` command. + + **SCPI Syntax:** + + :: + + - *ESE + - *ESE? + + **Info:** + - ```` specifies the binary bits of the ESER according to this value, which ranges + from 0 through 255. + """ + return self._ese + + @property + def esr(self) -> Esr: + """Return the ``*ESR`` command. + + **Description:** + - This query-only command returns the contents of the Standard Event Status Register + (SESR). ``*ESR?`` also clears the SESR (since reading the SESR clears it). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESR?`` query. + - Using the ``.verify(value)`` method will send the ``*ESR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *ESR? + """ + return self._esr + + @property + def event(self) -> Event: + """Return the ``EVENT`` command. + + **Description:** + - This query-only command returns an event code from the Event Queue that provides + information about the results of the last ESR read. ``EVENT?`` also removes the + returned value from the Event Queue. + + **Usage:** + - Using the ``.query()`` method will send the ``EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``EVENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVENT? + """ + return self._event + + @property + def evmsg(self) -> Evmsg: + """Return the ``EVMsg`` command. + + **Description:** + - This query-only command removes a single event code from the Event Queue that is + associated with the results of the last ESR read and returns the event code with an + explanatory message. For more information, see Event Handling. + + **Usage:** + - Using the ``.query()`` method will send the ``EVMsg?`` query. + - Using the ``.verify(value)`` method will send the ``EVMsg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVMsg? + """ + return self._evmsg + + @property + def evqty(self) -> Evqty: + """Return the ``EVQty`` command. + + **Description:** + - This query-only command returns the number of events that are enabled in the queue. + This is useful when using the ALLEV query, since it lets you know exactly how many + events will be returned. + + **Usage:** + - Using the ``.query()`` method will send the ``EVQty?`` query. + - Using the ``.verify(value)`` method will send the ``EVQty?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVQty? + """ + return self._evqty + + @property + def export(self) -> Export: + """Return the ``EXPort`` command. + + **Description:** + - This command sends a copy of the waveform to the file path specified by + ``EXPORT:FILENAME``. The ``EXPort`` query returns image format and file information. + + **Usage:** + - Using the ``.query()`` method will send the ``EXPort?`` query. + - Using the ``.verify(value)`` method will send the ``EXPort?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``EXPort value`` command. + + **SCPI Syntax:** + + :: + + - EXPort STARt + - EXPort? + + **Info:** + - ``STARt`` initiates the export. + + Sub-properties: + - ``.filename``: The ``EXPort:FILEName`` command. + - ``.format``: The ``EXPort:FORMat`` command. + - ``.palette``: The ``EXPort:PALEtte`` command. + - ``.readouts``: The ``EXPort:READOuts`` command. + - ``.view``: The ``EXPort:VIEW`` command. + """ + return self._export + + @property + def factory(self) -> Factory: + """Return the ``FACtory`` command. + + **Description:** + - This command (no query form) resets the instrument to its factory default settings. + This command is equivalent to pressing the DEFAULT SETUP button located on the + instrument front panel or selecting Default Setup from the File menu. This command + Performs the following in addition to what is done for the ``*RST`` command: Clears + any pending OPC operations. Resets the following IEEE488.2 registers: ``*ESE 0`` + (Event Status Enable Register) ``*SRE 0`` (Service Request Enable Register) DESE 255 + (Device Event Status Enable Register) ``*PSC 1`` (Power-on Status Clear Flag) Deletes + all defined aliases. Enables command headers (``:HEADer 1``). + + **Usage:** + - Using the ``.write()`` method will send the ``FACtory`` command. + + **SCPI Syntax:** + + :: + + - FACtory + """ + return self._factory + + @property + def fastacq(self) -> Fastacq: + """Return the ``FASTAcq`` command. + + **Description:** + - This query-only command returns the state of Fast Acquisitions. This command is + equivalent to pressing the FASTACQ button on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``FASTAcq?`` query. + - Using the ``.verify(value)`` method will send the ``FASTAcq?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FASTAcq? + + Sub-properties: + - ``.hiacqrate``: The ``FASTAcq:HIACQRATE`` command. + - ``.state``: The ``FASTAcq:STATE`` command. + """ + return self._fastacq + + @property + def filesystem(self) -> Filesystem: + """Return the ``FILESystem`` command. + + **Description:** + - This query-only command returns the directory listing of the current working + directory. This query is the same as the ``FILESystem:DIR?`` query. + + **Usage:** + - Using the ``.query()`` method will send the ``FILESystem?`` query. + - Using the ``.verify(value)`` method will send the ``FILESystem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FILESystem? + + Sub-properties: + - ``.copy``: The ``FILESystem:COPy`` command. + - ``.cwd``: The ``FILESystem:CWD`` command. + - ``.delete``: The ``FILESystem:DELEte`` command. + - ``.dir``: The ``FILESystem:DIR`` command. + - ``.mkdir``: The ``FILESystem:MKDir`` command. + - ``.print``: The ``FILESystem:PRInt`` command. + - ``.readfile``: The ``FILESystem:READFile`` command. + - ``.rename``: The ``FILESystem:REName`` command. + - ``.rmdir``: The ``FILESystem:RMDir`` command. + - ``.writefile``: The ``FILESystem:WRITEFile`` command. + """ + return self._filesystem + + @property + def gpibusb(self) -> Gpibusb: + """Return the ``GPIBUsb`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``GPIBUsb?`` query. + - Using the ``.verify(value)`` method will send the ``GPIBUsb?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``GPIBUsb:ADDress`` command. + - ``.hwversion``: The ``GPIBUsb:HWVersion`` command. + - ``.id``: The ``GPIBUsb:ID`` command. + """ + return self._gpibusb + + @property + def hardcopy(self) -> Hardcopy: + """Return the ``HARDCopy`` command. + + **Description:** + - This command sends a copy of the screen display to the port specified by + ``HARDCopy:PORT``. This command is equivalent to pressing the PRINT button on the + front panel. When printing to a file, the file format can be BMP, JPG, PNG, PCX or + TIFF. The format of the saved screen capture is set by the ``EXPORT:FORMAT`` command. + The file format setting is persistent, and will not be affected by a default setup or + ``*RST`` command sent to the instrument. The ``HARDCopy`` query returns the port and + file path. + + **Usage:** + - Using the ``.query()`` method will send the ``HARDCopy?`` query. + - Using the ``.verify(value)`` method will send the ``HARDCopy?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HARDCopy value`` command. + + **SCPI Syntax:** + + :: + + - HARDCopy STARt + - HARDCopy? + + **Info:** + - ``STARt`` initiates a screen copy to a file or the default system printer, as + specified by the ``:HARDCopy:PORT`` selection. The default system printer is set + within the Windows operating system. If you need information about how to set the + default system printer, refer to Microsoft Windows online help. + + Sub-properties: + - ``.filename``: The ``HARDCopy:FILEName`` command. + - ``.layout``: The ``HARDCopy:LAYout`` command. + - ``.palette``: The ``HARDCopy:PALEtte`` command. + - ``.port``: The ``HARDCopy:PORT`` command. + - ``.readouts``: The ``HARDCopy:READOuts`` command. + - ``.view``: The ``HARDCopy:VIEW`` command. + """ + return self._hardcopy + + @property + def hdr(self) -> Hdr: + """Return the ``HDR`` command. + + **Description:** + - This command is identical to the HEADer query and is included for backward + compatibility purposes. + + **Usage:** + - Using the ``.query()`` method will send the ``HDR?`` query. + - Using the ``.verify(value)`` method will send the ``HDR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HDR value`` command. + + **SCPI Syntax:** + + :: + + - HDR {|OFF|ON} + - HDR? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true, which causes the instrument to send headers on query responses. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._hdr + + @property + def header(self) -> Header: + """Return the ``HEADer`` command. + + **Description:** + - This command sets or queries the Response Header Enable State that causes the + instrument to either include or omit headers on query responses. Whether the long or + short form of header keywords and enumerations are returned is dependent upon the + state of ``:VERBose``. + + **Usage:** + - Using the ``.query()`` method will send the ``HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HEADer value`` command. + + **SCPI Syntax:** + + :: + + - HEADer {|OFF|ON} + - HEADer? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._header + + @property + def histogram(self) -> Histogram: + """Return the ``HIStogram`` command. + + **Description:** + - This query-only query returns all histogram parameters; it queries the state of all + histogram parameters that the user can set. This command is equivalent to selecting + Waveform Histograms from the Measure menu. + + **Usage:** + - Using the ``.query()`` method will send the ``HIStogram?`` query. + - Using the ``.verify(value)`` method will send the ``HIStogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HIStogram? + + Sub-properties: + - ``.box``: The ``HIStogram:BOX`` command. + - ``.boxpcnt``: The ``HIStogram:BOXPcnt`` command. + - ``.count``: The ``HIStogram:COUNt`` command. + - ``.data``: The ``HIStogram:DATa`` command. + - ``.display``: The ``HIStogram:DISplay`` command. + - ``.function``: The ``HIStogram:FUNCtion`` command. + - ``.mode``: The ``HIStogram:MODe`` command. + - ``.size``: The ``HIStogram:SIZe`` command. + - ``.source``: The ``HIStogram:SOUrce`` command. + - ``.state``: The ``HIStogram:STATE`` command. + """ + return self._histogram + + @property + def horizontal(self) -> Horizontal: + """Return the ``HORizontal`` command. + + **Description:** + - Queries the current horizontal settings. + + **Usage:** + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal? + + Sub-properties: + - ``.acqduration``: The ``HORizontal:ACQDURATION`` command. + - ``.acqlength``: The ``HORizontal:ACQLENGTH`` command. + - ``.digital``: The ``HORizontal:DIGital`` command tree. + - ``.divisions``: The ``HORizontal:DIVisions`` command. + - ``.fastframe``: The ``HORizontal:FASTframe`` command. + - ``.main``: The ``HORizontal:MAIn`` command. + - ``.mode``: The ``HORizontal:MODE`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.roll``: The ``HORizontal:ROLL`` command. + - ``.timestamp``: The ``HORizontal:TIMEStamp`` command tree. + """ + return self._horizontal + + @property + def id(self) -> Id: + """Return the ``ID`` command. + + **Description:** + - This query-only command returns identifying information about the instrument and + related firmware similar to that returned by the ``*IDN?`` IEEE488.2 common query but + does not include the instrument serial number. + + **Usage:** + - Using the ``.query()`` method will send the ``ID?`` query. + - Using the ``.verify(value)`` method will send the ``ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ID? + """ + return self._id + + @property + def idn(self) -> Idn: + """Return the ``*IDN`` command. + + **Description:** + - This query-only command returns the instrument identification code. + + **Usage:** + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *IDN? + """ + return self._idn + + @property + def limit(self) -> Limit: + """Return the ``LIMit`` command. + + **Description:** + - This query-only command returns all settings for the Limit commands. + + **Usage:** + - Using the ``.query()`` method will send the ``LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``LIMit?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - LIMit? + + Sub-properties: + - ``.beep``: The ``LIMit:BEEP`` command. + - ``.compare``: The ``LIMit:COMpare`` command. + - ``.email``: The ``LIMit:EMail`` command. + - ``.hardcopy``: The ``LIMit:HARDCopy`` command. + - ``.highlighthits``: The ``LIMit:HIGHLIGHTHits`` command. + - ``.lock``: The ``LIMit:LOCk`` command. + - ``.log``: The ``LIMit:LOG`` command. + - ``.savewfm``: The ``LIMit:SAVEWFM`` command. + - ``.srq``: The ``LIMit:SRQ`` command. + - ``.state``: The ``LIMit:STATE`` command. + - ``.status``: The ``LIMit:STATus`` command. + - ``.stoponviolation``: The ``LIMit:STOPOnviolation`` command. + - ``.template``: The ``LIMit:TEMPlate`` command tree. + """ + return self._limit + + @property + def linktraining(self) -> Linktraining: + """Return the ``LINKTRaining`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``LINKTRaining?`` query. + - Using the ``.verify(value)`` method will send the ``LINKTRaining?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acqtime``: The ``LINKTRaining:ACQTime`` command. + - ``.armscope``: The ``LINKTRaining:ARMscope`` command. + - ``.decode``: The ``LINKTRaining:DECOde`` command. + - ``.equalizationch``: The ``LINKTRaining:EQUalizationCH`` command. + - ``.lane``: The ``LINKTRaining:LANE`` command. + - ``.mark``: The ``LINKTRaining:MARK`` command. + - ``.setup``: The ``LINKTRaining:SETUP`` command. + """ + return self._linktraining + + @property + def lock(self) -> Lock: + """Return the ``LOCk`` command. + + **Description:** + - This command enables or disables the touch screen and all front panel buttons and + knobs. There is no front panel equivalent. When the front panel is locked, the front + panel commands will not work and will not generate error events. You can work around a + locked front panel, by using the appropriate programmatic interface commands, instead + of the front-panel commands. For example, to set the trigger level to 50%, you could + use ``TRIGger:A SETLevel``. To force a trigger, you could use TRIGger FORCe. + + **Usage:** + - Using the ``.query()`` method will send the ``LOCk?`` query. + - Using the ``.verify(value)`` method will send the ``LOCk?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``LOCk value`` command. + + **SCPI Syntax:** + + :: + + - LOCk {ALL|NONe} + - LOCk? + + **Info:** + - ``ALL`` disables all front panel controls and the touch screen. + - ``NONe`` enables all front panel controls and the touch screen. The UNLock ALL command + only unlocks the front panel controls. + - ``NONe`` command has no effect. For more information, see the ANSI/IEEE Std 488.1-1987 + Standard Digital Interface for Programmable Instrumentation, section 2.8.3 on RL State + Descriptions. + """ + return self._lock + + @property + def lrn(self) -> Lrn: + """Return the ``*LRN`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, + allowing you to record or 'learn' the current instrument settings. You can use these + commands to return the instrument to the state it was in when you made the ``*LRN?`` + query. This command is identical to the SET command. + + **Usage:** + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *LRN? + """ + return self._lrn + + @property + def mark(self) -> Mark: + """Return the ``MARK`` command. + + **Description:** + - Moves to the next or previous reference mark on the waveform. Returns the current mark + position. + + **Usage:** + - Using the ``.query()`` method will send the ``MARK?`` query. + - Using the ``.verify(value)`` method will send the ``MARK?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MARK value`` command. + + **SCPI Syntax:** + + :: + + - MARK {NEXT|PREVious} + - MARK? + + **Info:** + - ``NEXT`` moves to the next reference mark on the right. + - ``PREVious`` moves to the next reference mark on the left. + + Sub-properties: + - ``.create``: The ``MARK:CREATE`` command. + - ``.delete``: The ``MARK:DELEte`` command. + - ``.free``: The ``MARK:FREE`` command. + - ``.selected``: The ``MARK:SELECTED`` command tree. + - ``.total``: The ``MARK:TOTal`` command. + """ + return self._mark + + @property + def mask(self) -> Mask: + """Return the ``MASK`` command. + + **Description:** + - This query-only command returns the states of all settable mask parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MASK? + + Sub-properties: + - ``.autoadjust``: The ``MASK:AUTOAdjust`` command. + - ``.autoset``: The ``MASK:AUTOSet`` command tree. + - ``.copy``: The ``MASK:COPy`` command tree. + - ``.count``: The ``MASK:COUNt`` command. + - ``.display``: The ``MASK:DISplay`` command. + - ``.filter``: The ``MASK:FILTer`` command. + - ``.highlighthits``: The ``MASK:HIGHLIGHTHits`` command. + - ``.invert``: The ``MASK:INVert`` command. + - ``.lock``: The ``MASK:LOCk`` command. + - ``.margin``: The ``MASK:MARgin`` command tree. + - ``.maskpre``: The ``MASK:MASKPRE`` command tree. + - ``.polarity``: The ``MASK:POLarity`` command. + - ``.seg``: The ``MASK:SEG`` command. + - ``.source``: The ``MASK:SOUrce`` command. + - ``.standard``: The ``MASK:STANdard`` command. + - ``.stoponviolation``: The ``MASK:STOPOnviolation`` command. + - ``.test``: The ``MASK:TESt`` command tree. + - ``.user``: The ``MASK:USER`` command tree. + """ + return self._mask + + @property + def math(self) -> Dict[int, MathItem]: + """Return the ``MATH`` command. + + **Description:** + - This query-only command returns the definition for the math waveform specified by , + which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATH? + + Sub-properties: + - ``.define``: The ``MATH:DEFine`` command. + - ``.filter``: The ``MATH:FILTer`` command tree. + - ``.label``: The ``MATH:LABel`` command tree. + - ``.numavg``: The ``MATH:NUMAVg`` command. + - ``.spectral``: The ``MATH:SPECTral`` command. + - ``.threshold``: The ``MATH:THRESHold`` command. + - ``.unitstring``: The ``MATH:UNITString`` command. + - ``.vertical``: The ``MATH:VERTical`` command tree. + """ + return self._math + + @property + def matharbflt(self) -> Dict[int, MatharbfltItem]: + """Return the ``MATHArbflt`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHArbflt?`` query. + - Using the ``.verify(value)`` method will send the ``MATHArbflt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filepath``: The ``MATHArbflt:FILepath`` command. + - ``.readfile``: The ``MATHArbflt:READFile`` command. + """ + return self._matharbflt + + @property + def mathvar(self) -> Mathvar: + """Return the ``MATHVAR`` command. + + **Description:** + - Queries both numerical values you can use within math expressions. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHVAR?`` query. + - Using the ``.verify(value)`` method will send the ``MATHVAR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATHVAR? + + Sub-properties: + - ``.var``: The ``MATHVAR:VAR`` command. + """ + return self._mathvar + + @property + def mch(self) -> Dict[int, MchItem]: + """Return the ``MCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MCH?`` query. + - Using the ``.verify(value)`` method will send the ``MCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.minamplitude``: The ``MCH:MINAMPLitude`` command. + - ``.maxamplitude``: The ``MCH:MAXAMPLitude`` command. + """ + return self._mch + + @property + def measurement(self) -> Measurement: + """Return the ``MEASUrement`` command. + + **Description:** + - This query-only command returns all measurement parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement? + + Sub-properties: + - ``.annotation``: The ``MEASUrement:ANNOTation`` command tree. + - ``.dpojetstatistics``: The ``MEASUrement:DPOJETSTATistics`` command. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.immed``: The ``MEASUrement:IMMed`` command. + - ``.meas``: The ``MEASUrement:MEAS`` command. + - ``.method``: The ``MEASUrement:METHod`` command. + - ``.noise``: The ``MEASUrement:NOISe`` command. + - ``.reflevel``: The ``MEASUrement:REFLevel`` command. + - ``.source1``: The ``MEASUrement:SOUrce1`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + """ + return self._measurement + + @property + def multiscope(self) -> Multiscope: + """Return the ``MULTiscope`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MULTiscope?`` query. + - Using the ``.verify(value)`` method will send the ``MULTiscope?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.config``: The ``MULTiscope:CONFig`` command. + - ``.exit``: The ``MULTiscope:EXIT`` command. + - ``.restart``: The ``MULTiscope:RESTART`` command. + - ``.status``: The ``MULTiscope:STATUS`` command. + """ + return self._multiscope + + @property + def newpass(self) -> Newpass: + """Return the ``NEWpass`` command. + + **Description:** + - This command (no query form) changes the password that enables access to password + protected data. The PASSWord command must be successfully executed before using this + command or an execution error will be generated. + + **Usage:** + - Using the ``.write(value)`` method will send the ``NEWpass value`` command. + + **SCPI Syntax:** + + :: + + - NEWpass + + **Info:** + - ```` is the new password, which can contain up to 10 characters. + """ + return self._newpass + + @property + def opc(self) -> Opc: + """Return the ``*OPC`` command. + + **Description:** + - This command generates the operation complete message in the Standard Event Status + Register (SESR) when all pending commands that generate an OPC message are complete. + The ``*OPC?`` query places the ASCII character '1' into the output queue when all such + OPC commands are complete. The ``*OPC?`` response is not available to read until all + pending operations finish. For a complete discussion of the use of these registers and + the output queue, see Registers and Queues. The ``*OPC`` command allows you to + synchronize the operation of the instrument with your application program. For more + information, see Synchronization Methods. Refer to the Oscilloscope operations that + can generate OPC table for a list of commands that generate an OPC message. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPC?`` query. + - Using the ``.verify(value)`` method will send the ``*OPC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``*OPC`` command. + + **SCPI Syntax:** + + :: + + - *OPC + - *OPC? + """ + return self._opc + + @property + def opcextended(self) -> Opcextended: + """Return the ``OPCEXtended`` command. + + **Description:** + - This command sets or queries the behavior of OPC commands and queries. When enabled, + operations referenced in the ``*OPC`` command description notify when their overlapped + functionality has completed. When disabled, the operations notify as they have in the + past (only once updated in the instrument state database). Command synchronization + Operation PI sequence Single sequence with ttOff ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:WFMOUTPRE:XZERO?`` Single sequence with Measurement + Annotation ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE PK2PK + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:ANNOTATION:X1?`` Single sequence with + Cursors ``:ACQUIRE:STOPAFTER SEQUENCE``;``:CURSOR:FUNCTION WAVEFORM``;SOURCE CH1;STATE + 1 ``:ACQUIRE:STATE 1``;``*OPC?`` Single sequence with Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MATH1:DEFINE`` 'Ch1``*Ch2``';``:SELECT:MATH1 1`` + ``:ACQUIRE:STATE 1``;``*OPC?`` Default setup followed by Save Waveform + ``*RST``;``*OPC?`` ``:SAVE:WAVEFORM`` CH1,REF1;``*WAI`` ``:SELECT:REF1 1`` Math On + during Acq Run mode ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 + ``:SELECT:MATH1 0`` {Wait a couple sec..longer in release mode?} + ``:SELECT:MATH1 1``;``*WAI``;``:CURVE?`` Save Math to Ref + ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1``;``*WAI``; ``:SAVE:WAVEFORM`` + MATH1,REF1;``:SELECT:REF1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 CURVE? + Trigger state ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:TRIGGER:STATE?`` Single sequence with Measurement + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Single sequence with + Measurement on Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 + ``:MATH1:DEFINE`` 'CH1``*CH1``';``:SELECT:MATH1 1`` + ``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE;SOURCE MATH1 + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Acq Count + ``*RST``;``*WAI``;``:ACQUIRE:NUMACQ?`` Acq state after single sequence + ``:ACQUIRE:STOPAFTER SEQUENCE``;STATE 1;``*WAI``;``:ACQUIRE:STATE?`` + + **Usage:** + - Using the ``.query()`` method will send the ``OPCEXtended?`` query. + - Using the ``.verify(value)`` method will send the ``OPCEXtended?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``OPCEXtended value`` command. + + **SCPI Syntax:** + + :: + + - OPCEXtended {|OFF|ON} + - OPCEXtended? + + **Info:** + - ``ON`` turns on extended OPC behavior. + - ``OFF`` turns off extended OPC behavior. + - ```` = 0 turns off extended OPC behavior; any other value turns on extended OPC + behavior. + """ + return self._opcextended + + @property + def opt(self) -> Opt: + """Return the ``*OPT`` command. + + **Description:** + - This query-only command returns a comma separated list of installed options as an + arbitrary ASCII string (no quotes) of the form: + ``:``,``:``... The last + section of each entry (the text following the last hyphen) indicates the license type. + If no options are found, NONE is returned. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPT?`` query. + - Using the ``.verify(value)`` method will send the ``*OPT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *OPT? + """ + return self._opt + + @property + def password(self) -> Password: + """Return the ``PASSWord`` command. + + **Description:** + - This command (no query form) enables the ``*PUD`` and NEWpass set commands. Sending + ``PASSWord`` without any arguments disables these same commands. Once the password is + successfully entered, the ``*PUD`` and NEWpass commands are enabled until the + instrument is powered off, or until the FACtory command, the ``PASSWord`` command with + no arguments, or the ``*RST`` command is issued. To change the password, you must + first enter the valid password with the ``PASSWord`` command and then change to your + new password with the NEWpass command. Remember that the password is case sensitive. + + **Usage:** + - Using the ``.write(value)`` method will send the ``PASSWord value`` command. + + **SCPI Syntax:** + + :: + + - PASSWord + + **Info:** + - ```` is the password, which can contain up to 10 characters. The factory + default password is 'XYZZY' and is always valid. + """ + return self._password + + @property + def pcenable(self) -> Pcenable: + """Return the ``PCENable`` command. + + **Description:** + - Sets or queries the enable state of the User Preference Probe compensation. + + **Usage:** + - Using the ``.query()`` method will send the ``PCENable?`` query. + - Using the ``.verify(value)`` method will send the ``PCENable?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PCENable value`` command. + + **SCPI Syntax:** + + :: + + - PCENable OFF | ON + - PCENable? + """ + return self._pcenable + + @property + def psc(self) -> Psc: + """Return the ``*PSC`` command. + + **Description:** + - This command sets and queries the power-on status flag that controls the automatic + power-on handling of the DESER, SRER, and ESER registers. When ``*PSC`` is true, the + DESER register is set to 255 and the SRER and ESER registers are set to 0 at power-on. + When ``*PSC`` is false, the current values in the DESER, SRER, and ESER registers are + preserved in nonvolatile memory when power is shut off and are restored at power-on. + + **Usage:** + - Using the ``.query()`` method will send the ``*PSC?`` query. + - Using the ``.verify(value)`` method will send the ``*PSC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PSC value`` command. + + **SCPI Syntax:** + + :: + + - *PSC {|OFF|ON} + - *PSC? + + **Info:** + - ```` = 0 sets the power-on status clear flag to false, disables the power-on + clear and allows the instrument to possibly assert SRQ after power-on; any other value + sets the power-on status clear flag to true, enabling the power-on status clear and + prevents any SRQ assertion after power on. + - ``OFF`` sets the power-on status clear flag to false, disables the power-on clear and + allows the instrument to possibly assert SRQ after power-on. + - ``ON`` sets the power-on status clear flag to true, enabling the power-on status clear + and prevents any SRQ assertion after power on. + """ + return self._psc + + @property + def pud(self) -> Pud: + """Return the ``*PUD`` command. + + **Description:** + - This command sets or queries a string of Protected User Data. This data is protected + by the PASSWord command. You can modify it only by first entering the correct + password. This password is not necessary to query the data. + + **Usage:** + - Using the ``.query()`` method will send the ``*PUD?`` query. + - Using the ``.verify(value)`` method will send the ``*PUD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PUD value`` command. + + **SCPI Syntax:** + + :: + + - *PUD {|} + - *PUD? + + **Info:** + - ```` is a block containing up to 100 characters. + - ```` is a string containing up to 100 characters. + """ + return self._pud + + @property + def rcl(self) -> Rcl: + """Return the ``*RCL`` command. + + **Description:** + - This command restores the state of the oscilloscope from a copy of the settings stored + in memory (The settings are stored using the ``*SAV`` command). + + **Usage:** + - Using the ``.write(value)`` method will send the ``*RCL value`` command. + + **SCPI Syntax:** + + :: + + - *RCL + + **Info:** + - ```` is a value in the range from 1 to 10, which specifies a saved setup storage + location. + """ + return self._rcl + + @property + def recall(self) -> Recall: + """Return the ``RECAll`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``RECAll?`` query. + - Using the ``.verify(value)`` method will send the ``RECAll?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``RECAll:MASK`` command. + - ``.setup``: The ``RECAll:SETUp`` command. + - ``.waveform``: The ``RECAll:WAVEform`` command. + """ + return self._recall + + @property + def ref(self) -> Dict[int, RefItem]: + """Return the ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.horizontal``: The ``REF:HORizontal`` command tree. + - ``.label``: The ``REF:LABel`` command. + - ``.threshold``: The ``REF:THRESHold`` command. + - ``.vertical``: The ``REF:VERTical`` command tree. + """ + return self._ref + + @property + def rem(self) -> Rem: + """Return the ``REM`` command. + + **Description:** + - This command (no query form) embeds a comment within programs as a means of internally + documenting the programs. This is how to embed comments in a .set file. The instrument + ignores these embedded comment lines. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REM value`` command. + + **SCPI Syntax:** + + :: + + - REM + + **Info:** + - ```` is a string that can contain a maximum of 80 characters. + """ + return self._rem + + @property + def rosc(self) -> Rosc: + """Return the ``ROSc`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ROSc?`` query. + - Using the ``.verify(value)`` method will send the ``ROSc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.out``: The ``ROSc:OUT`` command tree. + - ``.source``: The ``ROSc:SOUrce`` command. + - ``.state``: The ``ROSc:STATE`` command. + - ``.tracking``: The ``ROSc:TRACking`` command. + """ + return self._rosc + + @property + def rst(self) -> Rst: + """Return the ``*RST`` command. + + **Description:** + - This command (no query form) resets the instrument to the factory default settings. + This command does the following: Recalls the default instrument setup. Clears the + current ``*DDT`` command. Disables aliases (``:ALIAS:STATE 0``). Disables the user + password (for the ``*PUD`` command). The ``*RST`` command does not change the + following: The current working directory ( ``:FILESystem:CWD`` command). The state of + command headers ( ``:HEADer`` command). The state of keyword and enumeration verbosity + ( ``:VERBose`` command). The Power-on Status Clear Flag ( ``*PSC`` command). The Event + Status Enable Register ( ``*ESE`` command). The Service Request Enable Register ( + ``*SRE`` command). The Device Event Status Enable Register ( DESE command). The user + password for protected user data ( ``:PASSWord`` command). The content of protected + user data ( ``*PUD`` command). The enabled state of the socket server ( + ``:SOCKETServer:ENAble`` command). The socket server port number ( + ``:SOCKETServer:PORT`` command). The socket server protocol ( + ``:SOCKETServer:PROTOCol`` command). The USBTMC port configuration ( + ``:USBDevice:CONFigure`` command). The destination reference waveform or file path for + the ``:CURVe`` command ( ``:DATa:DESTination`` command). The source waveform for the + ``:CURVe?`` or ``:WAVFrm?`` queries ( ``:DATa:SOUrce`` command). The waveform data + encoding for the ``:CURVe`` command or query or the ``:WAVFrm?`` query ( + ``:DATa:ENCdg`` command). The starting point for ``:CURVe?`` queries ( ``:DATa:STARt`` + command). The ending point for ``:CURVe?`` queries ( ``:DATa:STOP`` command). All + settings associated the ``:WFMInpre`` commands. All user settable settings associated + with the WFMOutpre commands. ``*RST`` only resets the programmable interface settings, + it does not change the user interface settings. + + **Usage:** + - Using the ``.write()`` method will send the ``*RST`` command. + + **SCPI Syntax:** + + :: + + - *RST + """ + return self._rst + + @property + def sav(self) -> Sav: + """Return the ``*SAV`` command. + + **Description:** + - Stores the state of the oscilloscope to a specified memory location. You can use the + ``*RCL`` command to restore the oscilloscope to this saved state at a later time. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SAV value`` command. + + **SCPI Syntax:** + + :: + + - *SAV + + **Info:** + - ```` specifies a location in which to save the state of the oscilloscope. + Location values range from 1 through 10. Using an out-of-range location value causes + an execution error. Any settings that have been stored previously at this location + will be overwritten. + """ + return self._sav + + @property + def save(self) -> Save: + """Return the ``SAVe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.marks``: The ``SAVe:MARKS`` command. + - ``.mask``: The ``SAVe:MASK`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + return self._save + + @property + def saveon(self) -> Saveon: + """Return the ``SAVEON`` command. + + **Description:** + - Sets the auto-increment file count to 0. Once the number of saved files has reached + the limit that you set (using the ``SAVEON:NUMevents`` command), no files will be + saved until you reset the count. + + **Usage:** + - Using the ``.write(value)`` method will send the ``SAVEON value`` command. + + **SCPI Syntax:** + + :: + + - SAVEON {RESET} + + **Info:** + - ``RESET`` sets the file count to 0. + + Sub-properties: + - ``.count``: The ``SAVEON:COUNt`` command. + - ``.file``: The ``SAVEON:FILE`` command tree. + - ``.image``: The ``SAVEON:IMAGe`` command. + - ``.limit``: The ``SAVEON:LIMit`` command. + - ``.mask``: The ``SAVEON:MASK`` command. + - ``.measurement``: The ``SAVEON:MEASUrement`` command. + - ``.numevents``: The ``SAVEON:NUMEvents`` command. + - ``.setup``: The ``SAVEON:SETUP`` command. + - ``.trigger``: The ``SAVEON:TRIGger`` command. + - ``.waveform``: The ``SAVEON:WAVEform`` command. + """ + return self._saveon + + @property + def sds(self) -> Sds: + """Return the ``*SDS`` command. + + **Description:** + - This command (no query form) changes the specified setup to reference the factory + setup instead of the specific user setup slot. The content of the setup slot is + unchanged, but the data will no longer be accessible to you. This command is + equivalent to selecting Delete from the File menu, and then choosing the specified + setup. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SDS value`` command. + + **SCPI Syntax:** + + :: + + - *SDS + + **Info:** + - ```` specifies a user setup location to delete. Setup storage location values + range from 1 through 10; using an out-of-range value causes an error. + """ + return self._sds + + @property + def search(self) -> Search: + """Return the ``SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.markallevents``: The ``SEARCH:MARKALLevents`` command. + - ``.search``: The ``SEARCH:SEARCH`` command. + - ``.stop``: The ``SEARCH:STOP`` command. + """ + return self._search + + @property + def select(self) -> Select: + """Return the ``SELect`` command. + + **Description:** + - Queries which waveforms are displayed. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SELect? + + Sub-properties: + - ``.b``: The ``SELect:B`` command. + - ``.ch``: The ``SELect:CH`` command. + - ``.control``: The ``SELect:CONTROl`` command. + - ``.d``: The ``SELect:D`` command. + - ``.dall``: The ``SELect:DALL`` command. + - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. + - ``.ref``: The ``SELect:REF`` command. + """ + return self._select + + @property + def set_(self) -> Set: + """Return the ``SET`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, except + for configuration information for the calibration values. You can use these commands + to return the instrument to the state it was in when you made the ``SET?`` query. The + ``SET?`` query always returns command headers, regardless of the setting of the HEADER + command. This is because the returned commands are intended to be sent back to the + instrument as a command string. The VERBOSE command can still be used to specify + whether the returned headers should be abbreviated or full-length. This command is + identical to the LRN command. + + **Usage:** + - Using the ``.query()`` method will send the ``SET?`` query. + - Using the ``.verify(value)`` method will send the ``SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SET? + """ + return self._set + + @property + def setup(self) -> Setup: + """Return the ``SETUp`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SETUp?`` query. + - Using the ``.verify(value)`` method will send the ``SETUp?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.name``: The ``SETUp:NAMe`` command. + """ + return self._setup + + @property + def sre(self) -> Sre: + """Return the ``*SRE`` command. + + **Description:** + - The ``*SRE`` (Service Request Enable) command sets and queries the bits in the Service + Request Enable Register. For more information, refer to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*SRE?`` query. + - Using the ``.verify(value)`` method will send the ``*SRE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*SRE value`` command. + + **SCPI Syntax:** + + :: + + - *SRE + - *SRE? + + **Info:** + - ```` is a value in the range from 0 through 255. The binary bits of the SRER are + set according to this value. Using an out-of-range value causes an execution error. + The power-on default for SRER is 0 if ``*PSC`` is 1. If ``*PSC`` is 0, the SRER + maintains the previous power cycle value through the current power cycle. + """ + return self._sre + + @property + def stb(self) -> Stb: + """Return the ``*STB`` command. + + **Description:** + - The ``*STB?`` (Read Status Byte) query returns the contents of the Status Byte + Register (SBR) using the Master Summary Status (MSS) bit. For more information, refer + to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*STB?`` query. + - Using the ``.verify(value)`` method will send the ``*STB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *STB? + """ + return self._stb + + @property + def system(self) -> System: + """Return the ``SYSTem`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SYSTem?`` query. + - Using the ``.verify(value)`` method will send the ``SYSTem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``SYSTem:SETup`` command. + """ + return self._system + + @property + def teklink(self) -> Teklink: + """Return the ``TEKLink`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TEKLink?`` query. + - Using the ``.verify(value)`` method will send the ``TEKLink?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.connection``: The ``TEKLink:CONNection`` command. + - ``.refclk``: The ``TEKLink:REFClk`` command. + """ + return self._teklink + + @property + def teksecure(self) -> Teksecure: + """Return the ``TEKSecure`` command. + + **Description:** + - This command initializes, for the current user, both waveform and setup memories, + overwriting any previously stored data. Equivalent to invoking Teksecure from the + Utility menu. This is a time-consuming operation (3 to 5 minutes) and the instrument + is inoperable until the TekSecure operation is complete. + + **Usage:** + - Using the ``.write()`` method will send the ``TEKSecure`` command. + + **SCPI Syntax:** + + :: + + - TEKSecure + """ + return self._teksecure + + @property + def test(self) -> Test: + """Return the ``TEST`` command. + + **Description:** + - This command provides the ability to select and execute an item at any level of the + test hierarchy (Test, Area or Subsystem). The query returns the last command sent. + This command is equivalent to selecting Instrument Diagnostics from the Utilities + menu, choosing a test and then pressing Run. + + **Usage:** + - Using the ``.query()`` method will send the ``TEST?`` query. + - Using the ``.verify(value)`` method will send the ``TEST?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TEST value`` command. + + **SCPI Syntax:** + + :: + + - TEST + - TEST? + + **Info:** + - ```` sets the test ID, which ranges from 0 through 3 characters. If no test + ID is specified, all available diagnostics are executed. + + Sub-properties: + - ``.results``: The ``TEST:RESults`` command. + - ``.stop``: The ``TEST:STOP`` command. + """ + return self._test + + @property + def time(self) -> Time: + """Return the ``TIME`` command. + + **Description:** + - This command sets or queries the time that the instrument displays. This command is + equivalent to selecting Set Time & Date from the Utilities menu and then setting the + fields in the Time group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TIME?`` query. + - Using the ``.verify(value)`` method will send the ``TIME?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TIME value`` command. + + **SCPI Syntax:** + + :: + + - TIME + - TIME? + + **Info:** + - ```` is a time in the form '``hh:mm:ss``' where hh refers to a two-digit hour + number, mm refers to a two-digit minute number from 01 to 60, and ss refers to a + two-digit second number from 01 to 60. + """ + return self._time + + @property + def trg(self) -> Trg: + """Return the ``*TRG`` command. + + **Description:** + - Performs a group execute trigger on commands defined by ``*DDT``. + + **Usage:** + - Using the ``.write()`` method will send the ``*TRG`` command. + + **SCPI Syntax:** + + :: + + - *TRG + """ + return self._trg + + @property + def trig(self) -> Trig: + """Return the ``TRIG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIG?`` query. + - Using the ``.verify(value)`` method will send the ``TRIG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``TRIG:A`` command tree. + """ + return self._trig + + @property + def trigger(self) -> Trigger: + """Return the ``TRIGger`` command. + + **Description:** + - This command forces a trigger event to occur. The query returns the current trigger + parameters for the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger FORCe + - TRIGger? + + **Info:** + - ``FORCe`` creates a trigger event. If ``TRIGger:STATE`` is set to READy, the + acquisition will complete. Otherwise, this command will be ignored. This is equivalent + to pressing the Force button on the front panel. + + Sub-properties: + - ``.a``: The ``TRIGger:A`` command. + - ``.auxlevel``: The ``TRIGger:AUXLevel`` command. + - ``.b``: The ``TRIGger:B`` command. + - ``.enhanced``: The ``TRIGger:ENHanced`` command. + - ``.equation``: The ``TRIGger:EQUation`` command. + - ``.lvlsrcpreference``: The ``TRIGger:LVLSrcpreference`` command. + - ``.main``: The ``TRIGger:MAIn`` command tree. + - ``.multiscope``: The ``TRIGger:MULTiscope`` command. + - ``.qualification``: The ``TRIGger:QUALification`` command tree. + - ``.sensitivity``: The ``TRIGger:SENSITivity`` command. + - ``.showequation``: The ``TRIGger:SHOWEQuation`` command. + - ``.state``: The ``TRIGger:STATE`` command. + """ + return self._trigger + + @property + def tst(self) -> Tst: + """Return the ``*TST`` command. + + **Description:** + - Tests (self-test) the interface and returns a 0. + + **Usage:** + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *TST? + """ + return self._tst + + @property + def unlock(self) -> Unlock: + """Return the ``UNLock`` command. + + **Description:** + - This command (no query form) unlocks the front panel controls only. To unlock the + front panel controls and the touch screen use the LOCk NONe command. The command + ``TOUCHSCReen:STATE ON`` enables the touch screen only. + + **Usage:** + - Using the ``.write(value)`` method will send the ``UNLock value`` command. + + **SCPI Syntax:** + + :: + + - UNLock ALL + + **Info:** + - ``ALL`` specifies that all front panel buttons and knobs are unlocked. + """ + return self._unlock + + @property + def usbtmc(self) -> Usbtmc: + """Return the ``USBTMC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``USBTMC?`` query. + - Using the ``.verify(value)`` method will send the ``USBTMC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.productid``: The ``USBTMC:PRODUCTID`` command tree. + - ``.serialnumber``: The ``USBTMC:SERIALnumber`` command. + - ``.vendorid``: The ``USBTMC:VENDORID`` command tree. + """ + return self._usbtmc + + @property + def verbose(self) -> Verbose: + """Return the ``VERBose`` command. + + **Description:** + - This command sets or queries the Verbose state that controls the length of keywords on + query responses. Keywords can be both headers and arguments. + + **Usage:** + - Using the ``.write(value)`` method will send the ``VERBose value`` command. + + **SCPI Syntax:** + + :: + + - VERBose {|OFF|ON} + + **Info:** + - ```` = 0 disables Verbose, any other value enables Verbose. + - ``OFF`` sets the Verbose state to false, which returns minimum-length keywords for + applicable setting queries. + - ``ON`` sets the Verbose state to true, which returns full-length keywords for + applicable setting queries. + """ + return self._verbose + + @property + def visual(self) -> Visual: + """Return the ``VISual`` command. + + **Description:** + - This query-only command returns the settings for each visual trigger area. + + **Usage:** + - Using the ``.query()`` method will send the ``VISual?`` query. + - Using the ``.verify(value)`` method will send the ``VISual?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - VISual? + + Sub-properties: + - ``.area``: The ``VISual:AREA`` command. + - ``.areacolor``: The ``VISual:AREACOLOr`` command. + - ``.aspectratio``: The ``VISual:ASPECTratio`` command. + - ``.deletearea``: The ``VISual:DELETEAREA`` command. + - ``.enable``: The ``VISual:ENAble`` command. + - ``.file``: The ``VISual:FILE`` command tree. + """ + return self._visual + + @property + def wai(self) -> Wai: + """Return the ``*WAI`` command. + + **Description:** + - The ``*WAI`` (Wait) command (no query form) prevents the instrument from executing + further commands or queries until all pending commands that generate an OPC message + are complete. This command allows you to synchronize the operation of the instrument + with your application program. For more information, refer to Synchronization Methods. + + **Usage:** + - Using the ``.write()`` method will send the ``*WAI`` command. + + **SCPI Syntax:** + + :: + + - *WAI + """ + return self._wai + + @property + def wavfrm(self) -> Wavfrm: + """Return the ``WAVFrm`` command. + + **Description:** + - This query-only command provides the Tektronix standard waveform query which returns + the waveform preamble followed by the waveform data for the source specified by + ``:DATa:SOUrce`` using the ``:DATa`` settings for encoding, width, and so forth. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFrm?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFrm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFrm? + """ + return self._wavfrm + + @property + def wavfrmstream(self) -> Wavfrmstream: + """Return the ``WAVFRMStream`` command. + + **Description:** + - This query only command returns WFMQUTPRE? and CURVESTREAM? data for the waveforms + specified by the DATASOURCE command. This command is similar to sending both + WFMOUTPRE? and CURVESTREAM?, with the additional provision that each CURVESTREAM + response to WAVFRMS? has a WFMOUTPRE response prepended to it. This helps guarantee a + continuous synchronized preamble and curve. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFRMStream?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFRMStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFRMStream? + """ + return self._wavfrmstream + + @property + def wfminpre(self) -> Wfminpre: + """Return the ``WFMInpre`` command. + + **Description:** + - Returns the waveform formatting and scaling specifications to be applied to the next + incoming CURVe command data. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMInpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMInpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMInpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMInpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMInpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMInpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMInpre:BYT_Or`` command. + - ``.encdg``: The ``WFMInpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMInpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMInpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMInpre:PT_Fmt`` command. + - ``.pt_off``: The ``WFMInpre:PT_Off`` command. + - ``.wfid``: The ``WFMInpre:WFId`` command. + - ``.xincr``: The ``WFMInpre:XINcr`` command. + - ``.xunit``: The ``WFMInpre:XUNit`` command. + - ``.xzero``: The ``WFMInpre:XZEro`` command. + - ``.ymult``: The ``WFMInpre:YMUlt`` command. + - ``.yoff``: The ``WFMInpre:YOFf`` command. + - ``.yunit``: The ``WFMInpre:YUNit`` command. + - ``.yzero``: The ``WFMInpre:YZEro`` command. + """ + return self._wfminpre + + @property + def wfmoutpre(self) -> Wfmoutpre: + """Return the ``WFMOutpre`` command. + + **Description:** + - This query-only command queries the waveform formatting data for the waveform + specified by the ``DATA:SOURCE`` command. The preamble components are considered to be + of two types; formatting and interpretation. The formatting components are: ENCdg, + ``BN_Fmt``, ``BYT_Or``, ``BYT_Nr``, ``BIT_Nr``. The interpretation components are + derived from the ``DATa:SOUrce`` specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMOutpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMOutpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMOutpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMOutpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMOutpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMOutpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMOutpre:BYT_Or`` command. + - ``.encdg``: The ``WFMOutpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMOutpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMOutpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMOutpre:PT_Fmt`` command. + - ``.pt_order``: The ``WFMOutpre:PT_ORder`` command. + - ``.pt_off``: The ``WFMOutpre:PT_Off`` command. + - ``.wfid``: The ``WFMOutpre:WFId`` command. + - ``.xincr``: The ``WFMOutpre:XINcr`` command. + - ``.xunit``: The ``WFMOutpre:XUNit`` command. + - ``.xzero``: The ``WFMOutpre:XZEro`` command. + - ``.ymult``: The ``WFMOutpre:YMUlt`` command. + - ``.yoff``: The ``WFMOutpre:YOFf`` command. + - ``.yunit``: The ``WFMOutpre:YUNit`` command. + - ``.yzero``: The ``WFMOutpre:YZEro`` command. + """ + return self._wfmoutpre + + @property + def wfmpre(self) -> Wfmpre: + """Return the ``WFMPre`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMPre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMPre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.nr_fr``: The ``WFMPre:NR_FR`` command. + """ + return self._wfmpre + + @property + def zoom(self) -> Zoom: + """Return the ``ZOOm`` command. + + **Description:** + - This command resets the zoom transforms to default values for all traces or live + traces. The ``ZOOm`` query returns the current vertical and horizontal positioning and + scaling of the display. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ZOOm value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm {RESET|RESETLive} + - ZOOm? + + **Info:** + - ``RESET`` resets the zoom transforms to default values for all traces. + - ``RESETLive`` resets the zoom transforms to default values for live traces. + + Sub-properties: + - ``.graticule``: The ``ZOOm:GRAticule`` command tree. + - ``.horizontal``: The ``ZOOm:HORizontal`` command tree. + - ``.math``: The ``ZOOm:MATH`` command tree. + - ``.mode``: The ``ZOOm:MODe`` command. + - ``.ref``: The ``ZOOm:REF`` command tree. + - ``.scroll``: The ``ZOOm:SCROLL`` command tree. + - ``.state``: The ``ZOOm:STATE`` command. + - ``.vertical``: The ``ZOOm:VERTical`` command tree. + - ``.zoom1``: The ``ZOOm:ZOOM1`` command. + """ + return self._zoom + + +class DPO7KMixin: + """A mixin that provides access to the DPO7K commands and constants. + + Properties: + - ``.command_argument_constants``: The DPO7K command argument constants. + - ``.commands``: The DPO7K commands. + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + device = self if isinstance(self, PIDevice) else None + self._command_argument_constants = DPO7KCommandConstants() + self._commands = DPO7KCommands(device) + + @property + def command_argument_constants(self) -> DPO7KCommandConstants: + """Return the DPO7K command argument constants. + + This provides access to all the string constants which can be used as arguments for DPO7K + commands. + """ + return self._command_argument_constants + + @property + def commands(self) -> DPO7KCommands: + """Return the DPO7K commands. + + This provides access to all the commands for the DPO7K device. See the documentation of each + sub-property for more usage information. + + Sub-properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + return self._commands diff --git a/src/tm_devices/commands/_dpo7kc_commands.py b/src/tm_devices/commands/_dpo7kc_commands.py index 1b90e49d..428c01a5 100644 --- a/src/tm_devices/commands/_dpo7kc_commands.py +++ b/src/tm_devices/commands/_dpo7kc_commands.py @@ -10,103 +10,103 @@ from tm_devices.drivers.pi.pi_device import PIDevice from ._3skc3w_dpo.trigger import Trigger -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dsa70kc_commands.py b/src/tm_devices/commands/_dsa70kc_commands.py index 963a0726..55fb15e2 100644 --- a/src/tm_devices/commands/_dsa70kc_commands.py +++ b/src/tm_devices/commands/_dsa70kc_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_dsa70kd_commands.py b/src/tm_devices/commands/_dsa70kd_commands.py index 4ec1bd67..55e5fd5f 100644 --- a/src/tm_devices/commands/_dsa70kd_commands.py +++ b/src/tm_devices/commands/_dsa70kd_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py b/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py index 5aa9564d..aa3df4b3 100644 --- a/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py +++ b/src/tm_devices/commands/_e3e9uu_lpdmso/measurement.py @@ -19877,7 +19877,9 @@ class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): """ # pylint: disable=too-many-statements - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: # noqa: PLR0915 + def __init__( # noqa: PLR0915 + self, device: Optional["PIDevice"], cmd_syntax: str + ) -> None: super().__init__(device, cmd_syntax) self._abandwidth = MeasurementMeasItemAbandwidth(device, f"{self._cmd_syntax}:ABANdwidth") self._achannels = MeasurementMeasItemAchannels(device, f"{self._cmd_syntax}:ACHANnels") diff --git a/src/tm_devices/commands/_e3pief_ss/buffervar.py b/src/tm_devices/commands/_e3pief_ss/buffervar.py index d0bb6f89..2de5b803 100644 --- a/src/tm_devices/commands/_e3pief_ss/buffervar.py +++ b/src/tm_devices/commands/_e3pief_ss/buffervar.py @@ -671,7 +671,9 @@ def n(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".n" - return self._device.query(f"print({self._cmd_syntax}.n)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.n)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.n`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -947,7 +949,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -971,7 +975,9 @@ def clearcache(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clearcache()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clearcache()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clearcache()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/channel.py b/src/tm_devices/commands/_e3pief_ss/channel.py index 41c42c13..7ea5ff15 100644 --- a/src/tm_devices/commands/_e3pief_ss/channel.py +++ b/src/tm_devices/commands/_e3pief_ss/channel.py @@ -127,7 +127,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -250,7 +252,9 @@ def delete(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.delete("{name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.delete("{name}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -333,7 +337,9 @@ def snapshot(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.snapshot("{name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.snapshot("{name}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.snapshot()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -437,7 +443,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -485,7 +493,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/digio.py b/src/tm_devices/commands/_e3pief_ss/digio.py index 75356f6d..07a95810 100644 --- a/src/tm_devices/commands/_e3pief_ss/digio.py +++ b/src/tm_devices/commands/_e3pief_ss/digio.py @@ -101,7 +101,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -138,7 +140,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -346,7 +350,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -370,7 +376,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -394,7 +402,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -418,7 +428,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -662,7 +674,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/display.py b/src/tm_devices/commands/_e3pief_ss/display.py index 165cbbec..95669358 100644 --- a/src/tm_devices/commands/_e3pief_ss/display.py +++ b/src/tm_devices/commands/_e3pief_ss/display.py @@ -330,7 +330,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/dmm.py b/src/tm_devices/commands/_e3pief_ss/dmm.py index c0449d68..e21e72d3 100644 --- a/src/tm_devices/commands/_e3pief_ss/dmm.py +++ b/src/tm_devices/commands/_e3pief_ss/dmm.py @@ -732,7 +732,9 @@ def fail(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".fail" - return self._device.query(f"print({self._cmd_syntax}.fail)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.fail)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.fail`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -984,7 +986,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1157,7 +1161,9 @@ def type(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".type" - return self._device.query(f"print({self._cmd_syntax}.type)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.type)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1190,7 +1196,9 @@ def type(self, value: Union[str, float]) -> None: self._cmd_syntax + ".type", value ) else: - self._device.write(f"{self._cmd_syntax}.type = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.type = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.type`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1292,7 +1300,9 @@ def delete(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.delete("{name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.delete("{name}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1385,7 +1395,9 @@ def set_(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.set("{name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.set("{name}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1451,7 +1463,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1544,7 +1558,9 @@ def lock(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.lock()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.lock()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.lock()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1565,7 +1581,9 @@ def save(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.save()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.save()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.save()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2478,7 +2496,9 @@ def func(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".func" - return self._device.query(f"print({self._cmd_syntax}.func)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.func)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2510,7 +2530,9 @@ def func(self, value: Union[str, float]) -> None: self._cmd_syntax + ".func", value ) else: - self._device.write(f"{self._cmd_syntax}.func = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.func = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.func`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2769,7 +2791,9 @@ def nplc(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".nplc" - return self._device.query(f"print({self._cmd_syntax}.nplc)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.nplc)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2802,7 +2826,9 @@ def nplc(self, value: Union[str, float]) -> None: self._cmd_syntax + ".nplc", value ) else: - self._device.write(f"{self._cmd_syntax}.nplc = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nplc = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.nplc`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3948,7 +3974,9 @@ def reset(self, scope: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset({scope})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset({scope})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/eventlog.py b/src/tm_devices/commands/_e3pief_ss/eventlog.py index 3fc71843..823f68fd 100644 --- a/src/tm_devices/commands/_e3pief_ss/eventlog.py +++ b/src/tm_devices/commands/_e3pief_ss/eventlog.py @@ -259,7 +259,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/format.py b/src/tm_devices/commands/_e3pief_ss/format.py index 7b606aa6..7a91c3b4 100644 --- a/src/tm_devices/commands/_e3pief_ss/format.py +++ b/src/tm_devices/commands/_e3pief_ss/format.py @@ -222,7 +222,9 @@ def data(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".data" - return self._device.query(f"print({self._cmd_syntax}.data)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.data)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -255,7 +257,9 @@ def data(self, value: Union[str, float]) -> None: self._cmd_syntax + ".data", value ) else: - self._device.write(f"{self._cmd_syntax}.data = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.data = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.data`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/lan.py b/src/tm_devices/commands/_e3pief_ss/lan.py index ef6840f7..679b74e8 100644 --- a/src/tm_devices/commands/_e3pief_ss/lan.py +++ b/src/tm_devices/commands/_e3pief_ss/lan.py @@ -238,7 +238,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -275,7 +277,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -553,7 +557,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -577,7 +583,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -601,7 +609,9 @@ def connect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.connect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.connect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.connect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -625,7 +635,9 @@ def disconnect(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disconnect()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disconnect()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disconnect()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -698,7 +710,9 @@ def dst(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".dst" - return self._device.query(f"print({self._cmd_syntax}.dst)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.dst)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.dst`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -863,7 +877,9 @@ def name(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".name" - return self._device.query(f"print({self._cmd_syntax}.name)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.name)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1940,7 +1956,9 @@ def applysettings(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.applysettings()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.applysettings()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.applysettings()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1961,7 +1979,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1982,7 +2002,9 @@ def restoredefaults(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.restoredefaults()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.restoredefaults()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.restoredefaults()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/localnode.py b/src/tm_devices/commands/_e3pief_ss/localnode.py index a347aec3..22c01e36 100644 --- a/src/tm_devices/commands/_e3pief_ss/localnode.py +++ b/src/tm_devices/commands/_e3pief_ss/localnode.py @@ -326,7 +326,9 @@ def password(self, value: Union[str, float]) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.password = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.password = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.password`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -683,7 +685,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/scan.py b/src/tm_devices/commands/_e3pief_ss/scan.py index b13f8fb9..1648b48c 100644 --- a/src/tm_devices/commands/_e3pief_ss/scan.py +++ b/src/tm_devices/commands/_e3pief_ss/scan.py @@ -145,7 +145,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -166,7 +168,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -264,7 +268,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -285,7 +291,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -383,7 +391,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -404,7 +414,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -502,7 +514,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -523,7 +537,9 @@ def set_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.set()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.set()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.set()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -607,7 +623,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -805,7 +823,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -837,7 +857,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -965,7 +987,9 @@ def abort(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.abort()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.abort()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.abort()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1248,7 +1272,9 @@ def nobufferexecute(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.nobufferexecute()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.nobufferexecute()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.nobufferexecute()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1270,7 +1296,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/schedule.py b/src/tm_devices/commands/_e3pief_ss/schedule.py index 8bd1ea05..812488bb 100644 --- a/src/tm_devices/commands/_e3pief_ss/schedule.py +++ b/src/tm_devices/commands/_e3pief_ss/schedule.py @@ -557,7 +557,9 @@ def disable(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.disable()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.disable()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.disable()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/script.py b/src/tm_devices/commands/_e3pief_ss/script.py index 9486ae21..9cc8050a 100644 --- a/src/tm_devices/commands/_e3pief_ss/script.py +++ b/src/tm_devices/commands/_e3pief_ss/script.py @@ -226,7 +226,9 @@ def restore(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.restore({name})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.restore({name})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.restore()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -247,7 +249,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/scriptvar.py b/src/tm_devices/commands/_e3pief_ss/scriptvar.py index fc61aa32..38dfb6b7 100644 --- a/src/tm_devices/commands/_e3pief_ss/scriptvar.py +++ b/src/tm_devices/commands/_e3pief_ss/scriptvar.py @@ -144,7 +144,9 @@ def name(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".name" - return self._device.query(f"print({self._cmd_syntax}.name)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.name)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -179,7 +181,9 @@ def name(self, value: Union[str, float]) -> None: self._cmd_syntax + ".name", value ) else: - self._device.write(f"{self._cmd_syntax}.name = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.name = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.name`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -236,7 +240,9 @@ def list(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.list()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.list()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.list()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -260,7 +266,9 @@ def run(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.run()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.run()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.run()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/setup_1.py b/src/tm_devices/commands/_e3pief_ss/setup_1.py index 323df3f1..3f5d3b31 100644 --- a/src/tm_devices/commands/_e3pief_ss/setup_1.py +++ b/src/tm_devices/commands/_e3pief_ss/setup_1.py @@ -121,7 +121,9 @@ def recall(self, id_: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.recall({id_})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.recall({id_})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.recall()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/slot.py b/src/tm_devices/commands/_e3pief_ss/slot.py index a09a50d6..01e373e6 100644 --- a/src/tm_devices/commands/_e3pief_ss/slot.py +++ b/src/tm_devices/commands/_e3pief_ss/slot.py @@ -165,7 +165,9 @@ def four(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".four" - return self._device.query(f"print({self._cmd_syntax}.four)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.four)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.four`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -196,7 +198,9 @@ def one(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".one" - return self._device.query(f"print({self._cmd_syntax}.one)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.one)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.one`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -227,7 +231,9 @@ def two(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".two" - return self._device.query(f"print({self._cmd_syntax}.two)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.two)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.two`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -590,7 +596,9 @@ def idn(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".idn" - return self._device.query(f"print({self._cmd_syntax}.idn)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.idn)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.idn`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/status.py b/src/tm_devices/commands/_e3pief_ss/status.py index e3032000..0cb1eb6e 100644 --- a/src/tm_devices/commands/_e3pief_ss/status.py +++ b/src/tm_devices/commands/_e3pief_ss/status.py @@ -244,7 +244,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -277,7 +279,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -307,7 +311,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -340,7 +346,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -511,7 +519,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -544,7 +554,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -574,7 +586,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -607,7 +621,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -778,7 +794,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -811,7 +829,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -841,7 +861,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -874,7 +896,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1045,7 +1069,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1078,7 +1104,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1108,7 +1136,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1141,7 +1171,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1312,7 +1344,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1345,7 +1379,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1375,7 +1411,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1408,7 +1446,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1578,7 +1618,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1611,7 +1653,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1641,7 +1685,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1674,7 +1720,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1841,7 +1889,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1874,7 +1924,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1904,7 +1956,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1937,7 +1991,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2144,7 +2200,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2177,7 +2235,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2207,7 +2267,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2240,7 +2302,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2414,7 +2478,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2447,7 +2513,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2477,7 +2545,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2510,7 +2580,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2690,7 +2762,9 @@ def ntr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ntr" - return self._device.query(f"print({self._cmd_syntax}.ntr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ntr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2723,7 +2797,9 @@ def ntr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ntr", value ) else: - self._device.write(f"{self._cmd_syntax}.ntr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ntr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ntr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2753,7 +2829,9 @@ def ptr(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".ptr" - return self._device.query(f"print({self._cmd_syntax}.ptr)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.ptr)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2786,7 +2864,9 @@ def ptr(self, value: Union[str, float]) -> None: self._cmd_syntax + ".ptr", value ) else: - self._device.write(f"{self._cmd_syntax}.ptr = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.ptr = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.ptr`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -3179,7 +3259,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/trigger.py b/src/tm_devices/commands/_e3pief_ss/trigger.py index 7cdcea2c..8e37c622 100644 --- a/src/tm_devices/commands/_e3pief_ss/trigger.py +++ b/src/tm_devices/commands/_e3pief_ss/trigger.py @@ -495,7 +495,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -519,7 +521,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -743,7 +747,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -767,7 +773,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -886,7 +894,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/tsplink.py b/src/tm_devices/commands/_e3pief_ss/tsplink.py index b062660b..d4764aba 100644 --- a/src/tm_devices/commands/_e3pief_ss/tsplink.py +++ b/src/tm_devices/commands/_e3pief_ss/tsplink.py @@ -105,7 +105,9 @@ def mode(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".mode" - return self._device.query(f"print({self._cmd_syntax}.mode)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.mode)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -141,7 +143,9 @@ def mode(self, value: Union[str, float]) -> None: self._cmd_syntax + ".mode", value ) else: - self._device.write(f"{self._cmd_syntax}.mode = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.mode = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.mode`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -351,7 +355,9 @@ def assert_(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.assert()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.assert()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.assert()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -375,7 +381,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -399,7 +407,9 @@ def release(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.release()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.release()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.release()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -424,7 +434,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -600,7 +612,9 @@ def node(self) -> str: try: if self._device.command_syntax_enabled: # type: ignore[union-attr] return self._cmd_syntax + ".node" - return self._device.query(f"print({self._cmd_syntax}.node)") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.node)" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -632,7 +646,9 @@ def node(self, value: Union[str, float]) -> None: self._cmd_syntax + ".node", value ) else: - self._device.write(f"{self._cmd_syntax}.node = {value}") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.node = {value}" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to access the ``{self._cmd_syntax}.node`` attribute." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -889,7 +905,9 @@ def writeport(self, data: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.writeport({data})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.writeport({data})" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.writeport()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_e3pief_ss/upgrade.py b/src/tm_devices/commands/_e3pief_ss/upgrade.py index 492fa525..786f3fb5 100644 --- a/src/tm_devices/commands/_e3pief_ss/upgrade.py +++ b/src/tm_devices/commands/_e3pief_ss/upgrade.py @@ -77,7 +77,9 @@ def unit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.unit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.unit()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.unit()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_eat5s3_smudaqdmmss/dataqueue.py b/src/tm_devices/commands/_eat5s3_smudaqdmmss/dataqueue.py index 815a2b79..e9739c70 100644 --- a/src/tm_devices/commands/_eat5s3_smudaqdmmss/dataqueue.py +++ b/src/tm_devices/commands/_eat5s3_smudaqdmmss/dataqueue.py @@ -129,7 +129,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_eat5s3_smudaqdmmss/fs.py b/src/tm_devices/commands/_eat5s3_smudaqdmmss/fs.py index eacc1491..70bcc14f 100644 --- a/src/tm_devices/commands/_eat5s3_smudaqdmmss/fs.py +++ b/src/tm_devices/commands/_eat5s3_smudaqdmmss/fs.py @@ -236,7 +236,9 @@ def rmdir(self, path: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.rmdir("{path}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.rmdir("{path}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.rmdir()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_eat5s3_smudaqdmmss/userstring.py b/src/tm_devices/commands/_eat5s3_smudaqdmmss/userstring.py index 6170e40a..5c4a1b59 100644 --- a/src/tm_devices/commands/_eat5s3_smudaqdmmss/userstring.py +++ b/src/tm_devices/commands/_eat5s3_smudaqdmmss/userstring.py @@ -86,7 +86,9 @@ def delete(self, name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'{self._cmd_syntax}.delete("{name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'{self._cmd_syntax}.delete("{name}")' + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.delete()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ed9nkc_daqss/tspnet.py b/src/tm_devices/commands/_ed9nkc_daqss/tspnet.py index ff811bfb..dfd4c02f 100644 --- a/src/tm_devices/commands/_ed9nkc_daqss/tspnet.py +++ b/src/tm_devices/commands/_ed9nkc_daqss/tspnet.py @@ -578,7 +578,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_efap3f_smuss/errorqueue.py b/src/tm_devices/commands/_efap3f_smuss/errorqueue.py index 8727c67e..ef634716 100644 --- a/src/tm_devices/commands/_efap3f_smuss/errorqueue.py +++ b/src/tm_devices/commands/_efap3f_smuss/errorqueue.py @@ -85,7 +85,9 @@ def clear(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.clear()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.clear()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.clear()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_efap3f_smuss/io.py b/src/tm_devices/commands/_efap3f_smuss/io.py index 54672ede..640e6d8c 100644 --- a/src/tm_devices/commands/_efap3f_smuss/io.py +++ b/src/tm_devices/commands/_efap3f_smuss/io.py @@ -91,7 +91,9 @@ def flush(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.flush()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.flush()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.flush()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_efap3f_smuss/timer.py b/src/tm_devices/commands/_efap3f_smuss/timer.py index 3c20af62..24097289 100644 --- a/src/tm_devices/commands/_efap3f_smuss/timer.py +++ b/src/tm_devices/commands/_efap3f_smuss/timer.py @@ -51,7 +51,9 @@ def t(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print({self._cmd_syntax}.t())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print({self._cmd_syntax}.t())" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.t()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -94,7 +96,9 @@ def reset(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"{self._cmd_syntax}.reset()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"{self._cmd_syntax}.reset()" + ) except AttributeError as error: msg = f"No TSPDevice object was provided, unable to run the ``{self._cmd_syntax}.reset()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_5uw825_msodpomdodsa/__init__.py b/src/tm_devices/commands/_ffz2xs_dpodsamso/__init__.py similarity index 100% rename from src/tm_devices/commands/_5uw825_msodpomdodsa/__init__.py rename to src/tm_devices/commands/_ffz2xs_dpodsamso/__init__.py diff --git a/src/tm_devices/commands/_60ea5c_dpodsamso/bus.py b/src/tm_devices/commands/_ffz2xs_dpodsamso/bus.py similarity index 99% rename from src/tm_devices/commands/_60ea5c_dpodsamso/bus.py rename to src/tm_devices/commands/_ffz2xs_dpodsamso/bus.py index 30175f52..196bb434 100644 --- a/src/tm_devices/commands/_60ea5c_dpodsamso/bus.py +++ b/src/tm_devices/commands/_ffz2xs_dpodsamso/bus.py @@ -3,7 +3,7 @@ """The bus commands module. These commands are used in the following models: -DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO70KDX +DPO5K, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5x02qd_msodpodsa/__init__.py b/src/tm_devices/commands/_fhrp27_msodpomdodsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_5x02qd_msodpodsa/__init__.py rename to src/tm_devices/commands/_fhrp27_msodpomdodsa/__init__.py diff --git a/src/tm_devices/commands/_5uw825_msodpomdodsa/curve.py b/src/tm_devices/commands/_fhrp27_msodpomdodsa/curve.py similarity index 93% rename from src/tm_devices/commands/_5uw825_msodpomdodsa/curve.py rename to src/tm_devices/commands/_fhrp27_msodpomdodsa/curve.py index 07da69f2..7dbf558f 100644 --- a/src/tm_devices/commands/_5uw825_msodpomdodsa/curve.py +++ b/src/tm_devices/commands/_fhrp27_msodpomdodsa/curve.py @@ -1,8 +1,9 @@ """The curve commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5KB, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5uw825_msodpomdodsa/date.py b/src/tm_devices/commands/_fhrp27_msodpomdodsa/date.py similarity index 86% rename from src/tm_devices/commands/_5uw825_msodpomdodsa/date.py rename to src/tm_devices/commands/_fhrp27_msodpomdodsa/date.py index cc5e45e6..67636d7f 100644 --- a/src/tm_devices/commands/_5uw825_msodpomdodsa/date.py +++ b/src/tm_devices/commands/_fhrp27_msodpomdodsa/date.py @@ -1,8 +1,9 @@ """The date commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5KB, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5uw825_msodpomdodsa/mathvar.py b/src/tm_devices/commands/_fhrp27_msodpomdodsa/mathvar.py similarity index 94% rename from src/tm_devices/commands/_5uw825_msodpomdodsa/mathvar.py rename to src/tm_devices/commands/_fhrp27_msodpomdodsa/mathvar.py index 34309c4c..fc143434 100644 --- a/src/tm_devices/commands/_5uw825_msodpomdodsa/mathvar.py +++ b/src/tm_devices/commands/_fhrp27_msodpomdodsa/mathvar.py @@ -1,8 +1,9 @@ """The mathvar commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5KB, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5uw825_msodpomdodsa/save_and_recall.py b/src/tm_devices/commands/_fhrp27_msodpomdodsa/save_and_recall.py similarity index 90% rename from src/tm_devices/commands/_5uw825_msodpomdodsa/save_and_recall.py rename to src/tm_devices/commands/_fhrp27_msodpomdodsa/save_and_recall.py index 3915d680..9b23e175 100644 --- a/src/tm_devices/commands/_5uw825_msodpomdodsa/save_and_recall.py +++ b/src/tm_devices/commands/_fhrp27_msodpomdodsa/save_and_recall.py @@ -1,8 +1,9 @@ """The save_and_recall commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5KB, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2K, MSO2KB, MSO4K, MSO4KB, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_60ea5c_dpodsamso/__init__.py b/src/tm_devices/commands/_fk3z56_dpodsamso/__init__.py similarity index 100% rename from src/tm_devices/commands/_60ea5c_dpodsamso/__init__.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/__init__.py diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/acquire.py b/src/tm_devices/commands/_fk3z56_dpodsamso/acquire.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/acquire.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/acquire.py index fa3c3369..79090837 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/acquire.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/acquire.py @@ -1,7 +1,8 @@ """The acquire commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/allocate.py b/src/tm_devices/commands/_fk3z56_dpodsamso/allocate.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/allocate.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/allocate.py index f3cc825c..ac739b6b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/allocate.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/allocate.py @@ -1,7 +1,8 @@ """The allocate commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/application.py b/src/tm_devices/commands/_fk3z56_dpodsamso/application.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/application.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/application.py index d42577f5..f24f692c 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/application.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/application.py @@ -1,7 +1,8 @@ """The application commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/autoset.py b/src/tm_devices/commands/_fk3z56_dpodsamso/autoset.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/autoset.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/autoset.py index 50c5d5fa..64a8e542 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/autoset.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/autoset.py @@ -1,7 +1,8 @@ """The autoset commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/auxin.py b/src/tm_devices/commands/_fk3z56_dpodsamso/auxin.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/auxin.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/auxin.py index 35413f41..49360ea4 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/auxin.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/auxin.py @@ -3,7 +3,8 @@ """The auxin commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/auxout.py b/src/tm_devices/commands/_fk3z56_dpodsamso/auxout.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/auxout.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/auxout.py index 39d20d1a..6d50e2ec 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/auxout.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/auxout.py @@ -1,7 +1,8 @@ """The auxout commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/bell.py b/src/tm_devices/commands/_fk3z56_dpodsamso/bell.py similarity index 88% rename from src/tm_devices/commands/_5y90wx_dpodsamso/bell.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/bell.py index 516f6a37..e772fcca 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/bell.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/bell.py @@ -1,7 +1,8 @@ """The bell commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/calibrate.py b/src/tm_devices/commands/_fk3z56_dpodsamso/calibrate.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/calibrate.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/calibrate.py index c3212a23..4353f55b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/calibrate.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/calibrate.py @@ -1,7 +1,8 @@ """The calibrate commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/ch.py b/src/tm_devices/commands/_fk3z56_dpodsamso/ch.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/ch.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/ch.py index 2bcc14e8..b21e546e 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/ch.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/ch.py @@ -3,7 +3,8 @@ """The ch commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/clear.py b/src/tm_devices/commands/_fk3z56_dpodsamso/clear.py similarity index 87% rename from src/tm_devices/commands/_5y90wx_dpodsamso/clear.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/clear.py index 832cf4d7..9c666a31 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/clear.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/clear.py @@ -1,7 +1,8 @@ """The clear commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/cmdbatch.py b/src/tm_devices/commands/_fk3z56_dpodsamso/cmdbatch.py similarity index 93% rename from src/tm_devices/commands/_5y90wx_dpodsamso/cmdbatch.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/cmdbatch.py index ca55ac13..192159c3 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/cmdbatch.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/cmdbatch.py @@ -1,7 +1,8 @@ """The cmdbatch commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/cq.py b/src/tm_devices/commands/_fk3z56_dpodsamso/cq.py similarity index 96% rename from src/tm_devices/commands/_5y90wx_dpodsamso/cq.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/cq.py index a189db4d..56d74a48 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/cq.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/cq.py @@ -1,7 +1,8 @@ """The cq commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/cursor.py b/src/tm_devices/commands/_fk3z56_dpodsamso/cursor.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/cursor.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/cursor.py index da9adb9b..1f5814a7 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/cursor.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/cursor.py @@ -2,7 +2,8 @@ """The cursor commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/curvenext.py b/src/tm_devices/commands/_fk3z56_dpodsamso/curvenext.py similarity index 92% rename from src/tm_devices/commands/_5y90wx_dpodsamso/curvenext.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/curvenext.py index e03b6df3..6d9f5126 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/curvenext.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/curvenext.py @@ -1,7 +1,8 @@ """The curvenext commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/curvestream.py b/src/tm_devices/commands/_fk3z56_dpodsamso/curvestream.py similarity index 96% rename from src/tm_devices/commands/_5y90wx_dpodsamso/curvestream.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/curvestream.py index 230db29a..7c07f6f8 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/curvestream.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/curvestream.py @@ -1,7 +1,8 @@ """The curvestream commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/custom.py b/src/tm_devices/commands/_fk3z56_dpodsamso/custom.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/custom.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/custom.py index a8fcad6a..2d3e2d77 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/custom.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/custom.py @@ -2,7 +2,8 @@ """The custom commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/d.py b/src/tm_devices/commands/_fk3z56_dpodsamso/d.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/d.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/d.py index 6985e3a1..a66d6c94 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/d.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/d.py @@ -1,7 +1,8 @@ """The d commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/data.py b/src/tm_devices/commands/_fk3z56_dpodsamso/data.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/data.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/data.py index 022091de..32b14681 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/data.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/data.py @@ -1,7 +1,8 @@ """The data commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/delete.py b/src/tm_devices/commands/_fk3z56_dpodsamso/delete.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/delete.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/delete.py index f8a37479..9dea1ed2 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/delete.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/delete.py @@ -1,7 +1,8 @@ """The delete commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/diag.py b/src/tm_devices/commands/_fk3z56_dpodsamso/diag.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/diag.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/diag.py index 811fae74..19808128 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/diag.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/diag.py @@ -2,7 +2,8 @@ """The diag commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/display.py b/src/tm_devices/commands/_fk3z56_dpodsamso/display.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/display.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/display.py index 05257875..13d8de39 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/display.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/display.py @@ -3,7 +3,8 @@ """The display commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/email.py b/src/tm_devices/commands/_fk3z56_dpodsamso/email.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/email.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/email.py index 1b153e6c..0a7eb528 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/email.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/email.py @@ -2,7 +2,8 @@ """The email commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/export.py b/src/tm_devices/commands/_fk3z56_dpodsamso/export.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/export.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/export.py index 52316f4b..b1f92afc 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/export.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/export.py @@ -1,7 +1,8 @@ """The export commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/fastacq.py b/src/tm_devices/commands/_fk3z56_dpodsamso/fastacq.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/fastacq.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/fastacq.py index 9d74d8b3..2685652c 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/fastacq.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/fastacq.py @@ -1,7 +1,8 @@ """The fastacq commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/filesystem.py b/src/tm_devices/commands/_fk3z56_dpodsamso/filesystem.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/filesystem.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/filesystem.py index 3a7ba662..4a5733ac 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/filesystem.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/filesystem.py @@ -1,7 +1,8 @@ """The filesystem commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/gpibusb.py b/src/tm_devices/commands/_fk3z56_dpodsamso/gpibusb.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/gpibusb.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/gpibusb.py index 71213429..c0705183 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/gpibusb.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/gpibusb.py @@ -1,7 +1,8 @@ """The gpibusb commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/hardcopy.py b/src/tm_devices/commands/_fk3z56_dpodsamso/hardcopy.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/hardcopy.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/hardcopy.py index 76834b8d..84749076 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/hardcopy.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/hardcopy.py @@ -1,7 +1,8 @@ """The hardcopy commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/hdr.py b/src/tm_devices/commands/_fk3z56_dpodsamso/hdr.py similarity index 93% rename from src/tm_devices/commands/_5y90wx_dpodsamso/hdr.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/hdr.py index 94bd1c3c..6ba9ddec 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/hdr.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/hdr.py @@ -1,7 +1,8 @@ """The hdr commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/histogram.py b/src/tm_devices/commands/_fk3z56_dpodsamso/histogram.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/histogram.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/histogram.py index 18506aac..6de2f4ad 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/histogram.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/histogram.py @@ -1,7 +1,8 @@ """The histogram commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py b/src/tm_devices/commands/_fk3z56_dpodsamso/horizontal.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/horizontal.py index 127cc12b..18b76a09 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/horizontal.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/horizontal.py @@ -2,7 +2,8 @@ """The horizontal commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/limit.py b/src/tm_devices/commands/_fk3z56_dpodsamso/limit.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/limit.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/limit.py index d9442c53..46f4bf2d 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/limit.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/limit.py @@ -2,7 +2,8 @@ """The limit commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/mark.py b/src/tm_devices/commands/_fk3z56_dpodsamso/mark.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/mark.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/mark.py index 60931472..5793c540 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/mark.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/mark.py @@ -1,7 +1,8 @@ """The mark commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/mask.py b/src/tm_devices/commands/_fk3z56_dpodsamso/mask.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/mask.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/mask.py index fe4157cb..ac4d9c56 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/mask.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/mask.py @@ -3,7 +3,8 @@ """The mask commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/math.py b/src/tm_devices/commands/_fk3z56_dpodsamso/math.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/math.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/math.py index 61960e02..96745d2b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/math.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/math.py @@ -3,7 +3,8 @@ """The math commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/matharbflt.py b/src/tm_devices/commands/_fk3z56_dpodsamso/matharbflt.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/matharbflt.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/matharbflt.py index f8213155..e0e27e93 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/matharbflt.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/matharbflt.py @@ -1,7 +1,8 @@ """The matharbflt commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/mch.py b/src/tm_devices/commands/_fk3z56_dpodsamso/mch.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/mch.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/mch.py index 9e7f4e7c..05c7cc3d 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/mch.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/mch.py @@ -1,7 +1,8 @@ """The mch commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/measurement.py b/src/tm_devices/commands/_fk3z56_dpodsamso/measurement.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/measurement.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/measurement.py index 363502cd..c7557e67 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/measurement.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/measurement.py @@ -3,7 +3,8 @@ """The measurement commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/multiscope.py b/src/tm_devices/commands/_fk3z56_dpodsamso/multiscope.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/multiscope.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/multiscope.py index 34d8c794..15e0a9a2 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/multiscope.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/multiscope.py @@ -1,7 +1,8 @@ """The multiscope commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/opcextended.py b/src/tm_devices/commands/_fk3z56_dpodsamso/opcextended.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/opcextended.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/opcextended.py index 1a40aa95..991f6796 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/opcextended.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/opcextended.py @@ -1,7 +1,8 @@ """The opcextended commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/pcenable.py b/src/tm_devices/commands/_fk3z56_dpodsamso/pcenable.py similarity index 90% rename from src/tm_devices/commands/_5y90wx_dpodsamso/pcenable.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/pcenable.py index 4c2e6ba7..afb9a975 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/pcenable.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/pcenable.py @@ -1,7 +1,8 @@ """The pcenable commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/recall.py b/src/tm_devices/commands/_fk3z56_dpodsamso/recall.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/recall.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/recall.py index 4c254f08..d34be0de 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/recall.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/recall.py @@ -1,7 +1,8 @@ """The recall commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/ref.py b/src/tm_devices/commands/_fk3z56_dpodsamso/ref.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/ref.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/ref.py index dc030d78..4fc5401c 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/ref.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/ref.py @@ -1,7 +1,8 @@ """The ref commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/save.py b/src/tm_devices/commands/_fk3z56_dpodsamso/save.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/save.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/save.py index 63684375..f62646c7 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/save.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/save.py @@ -2,7 +2,8 @@ """The save commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/save_and_recall.py b/src/tm_devices/commands/_fk3z56_dpodsamso/save_and_recall.py similarity index 91% rename from src/tm_devices/commands/_5y90wx_dpodsamso/save_and_recall.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/save_and_recall.py index 2666fff2..fe4ff20b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/save_and_recall.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/save_and_recall.py @@ -1,7 +1,8 @@ """The save_and_recall commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/saveon.py b/src/tm_devices/commands/_fk3z56_dpodsamso/saveon.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/saveon.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/saveon.py index 474932b2..b75452ff 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/saveon.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/saveon.py @@ -1,7 +1,8 @@ """The saveon commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/search.py b/src/tm_devices/commands/_fk3z56_dpodsamso/search.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/search.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/search.py index 87fb6541..7775723e 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/search.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/search.py @@ -3,7 +3,8 @@ """The search commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/select.py b/src/tm_devices/commands/_fk3z56_dpodsamso/select.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/select.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/select.py index 9c4f0147..f2820dd1 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/select.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/select.py @@ -1,7 +1,8 @@ """The select commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/setup_1.py b/src/tm_devices/commands/_fk3z56_dpodsamso/setup_1.py similarity index 96% rename from src/tm_devices/commands/_5y90wx_dpodsamso/setup_1.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/setup_1.py index c4f21a15..514ff855 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/setup_1.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/setup_1.py @@ -1,7 +1,8 @@ """The setup_1 commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/system.py b/src/tm_devices/commands/_fk3z56_dpodsamso/system.py similarity index 95% rename from src/tm_devices/commands/_5y90wx_dpodsamso/system.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/system.py index ca776a6f..0d02320b 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/system.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/system.py @@ -1,7 +1,8 @@ """The system commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/teklink.py b/src/tm_devices/commands/_fk3z56_dpodsamso/teklink.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/teklink.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/teklink.py index cf2d699f..66061fcd 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/teklink.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/teklink.py @@ -1,7 +1,8 @@ """The teklink commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/test.py b/src/tm_devices/commands/_fk3z56_dpodsamso/test.py similarity index 98% rename from src/tm_devices/commands/_5y90wx_dpodsamso/test.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/test.py index f71385be..e0d2fa1c 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/test.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/test.py @@ -1,7 +1,8 @@ """The test commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/trig.py b/src/tm_devices/commands/_fk3z56_dpodsamso/trig.py similarity index 97% rename from src/tm_devices/commands/_5y90wx_dpodsamso/trig.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/trig.py index f1cfd7f7..0a5ccfdc 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/trig.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/trig.py @@ -1,7 +1,8 @@ """The trig commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/usbtmc.py b/src/tm_devices/commands/_fk3z56_dpodsamso/usbtmc.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/usbtmc.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/usbtmc.py index 74cdf6b0..8a71b328 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/usbtmc.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/usbtmc.py @@ -1,7 +1,8 @@ """The usbtmc commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/visual.py b/src/tm_devices/commands/_fk3z56_dpodsamso/visual.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/visual.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/visual.py index d0da481d..dce079a2 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/visual.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/visual.py @@ -3,7 +3,8 @@ """The visual commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/wavfrmstream.py b/src/tm_devices/commands/_fk3z56_dpodsamso/wavfrmstream.py similarity index 92% rename from src/tm_devices/commands/_5y90wx_dpodsamso/wavfrmstream.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/wavfrmstream.py index 2b791e7b..08297c9e 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/wavfrmstream.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/wavfrmstream.py @@ -1,7 +1,8 @@ """The wavfrmstream commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/wfminpre.py b/src/tm_devices/commands/_fk3z56_dpodsamso/wfminpre.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/wfminpre.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/wfminpre.py index 59ce90a8..f6255132 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/wfminpre.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/wfminpre.py @@ -2,7 +2,8 @@ """The wfminpre commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/wfmoutpre.py b/src/tm_devices/commands/_fk3z56_dpodsamso/wfmoutpre.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/wfmoutpre.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/wfmoutpre.py index 3342f563..4c9ae6b7 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/wfmoutpre.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/wfmoutpre.py @@ -1,7 +1,8 @@ """The wfmoutpre commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/wfmpre.py b/src/tm_devices/commands/_fk3z56_dpodsamso/wfmpre.py similarity index 94% rename from src/tm_devices/commands/_5y90wx_dpodsamso/wfmpre.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/wfmpre.py index 5f4105e4..9b53fa47 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/wfmpre.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/wfmpre.py @@ -1,7 +1,8 @@ """The wfmpre commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py b/src/tm_devices/commands/_fk3z56_dpodsamso/zoom.py similarity index 99% rename from src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py rename to src/tm_devices/commands/_fk3z56_dpodsamso/zoom.py index 565e0510..57ac5441 100644 --- a/src/tm_devices/commands/_5y90wx_dpodsamso/zoom.py +++ b/src/tm_devices/commands/_fk3z56_dpodsamso/zoom.py @@ -2,7 +2,8 @@ """The zoom commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, +MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_fkjfe8_msodpodsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/__init__.py rename to src/tm_devices/commands/_fkjfe8_msodpodsa/__init__.py diff --git a/src/tm_devices/commands/_5x02qd_msodpodsa/time.py b/src/tm_devices/commands/_fkjfe8_msodpodsa/time.py similarity index 91% rename from src/tm_devices/commands/_5x02qd_msodpodsa/time.py rename to src/tm_devices/commands/_fkjfe8_msodpodsa/time.py index 12153b59..f2d64534 100644 --- a/src/tm_devices/commands/_5x02qd_msodpodsa/time.py +++ b/src/tm_devices/commands/_fkjfe8_msodpodsa/time.py @@ -1,8 +1,8 @@ """The time commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, MSO2K, -MSO2KB, MSO5KB, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, +MSO2K, MSO2KB, MSO5K, MSO5KB, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/__init__.py b/src/tm_devices/commands/_fn2qbf_msodpo/__init__.py similarity index 100% rename from src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/__init__.py rename to src/tm_devices/commands/_fn2qbf_msodpo/__init__.py diff --git a/src/tm_devices/commands/_fn2qbf_msodpo/errordetector.py b/src/tm_devices/commands/_fn2qbf_msodpo/errordetector.py new file mode 100644 index 00000000..9924f64c --- /dev/null +++ b/src/tm_devices/commands/_fn2qbf_msodpo/errordetector.py @@ -0,0 +1,6092 @@ +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +"""The errordetector commands module. + +These commands are used in the following models: +DPO5K, DPO7K, MSO5K + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - ERRORDetector:ALERT {ON|OFF|} + - ERRORDetector:ALERT? + - ERRORDetector:ALIGNCHARacter:MINus? + - ERRORDetector:ALIGNCHARacter:PLUS? + - ERRORDetector:ALIGNCHARacter:SYMBOL + - ERRORDetector:ALIGNCHARacter:SYMBOL? + - ERRORDetector:ALIGNCHARacter? + - ERRORDetector:ALIGNPRIMitive:MINUS? + - ERRORDetector:ALIGNPRIMitive:MINus? + - ERRORDetector:ALIGNPRIMitive:PLUS? + - ERRORDetector:ALIGNPRIMitive:PLUS? + - ERRORDetector:ALIGNPRIMitive:STATE {|OFF|ON} + - ERRORDetector:ALIGNPRIMitive:STATE? + - ERRORDetector:ALIGNPRIMitive:SYMBOL + - ERRORDetector:ALIGNPRIMitive:SYMBOL? + - ERRORDetector:ALIGNPRIMitive:SYMBOLS + - ERRORDetector:ALIGNPRIMitive:SYMBOLS? + - ERRORDetector:ALIGNPRIMitive? + - ERRORDetector:BIT:LENgth + - ERRORDetector:BIT:LENgth? + - ERRORDetector:BIT:SYNCPATtern:BITString + - ERRORDetector:BIT:SYNCPATtern:BITString? + - ERRORDetector:BIT:SYNCPATtern:DISParity {RDPLUS | RDMINUS} + - ERRORDetector:BIT:SYNCPATtern:DISParity? + - ERRORDetector:BIT:SYNCPATtern:MINus? + - ERRORDetector:BIT:SYNCPATtern:PLUS? + - ERRORDetector:BIT:SYNCPATtern? + - ERRORDetector:BIT:TEST DPO70000SX + - ERRORDetector:BIT:TEST:COUNt? + - ERRORDetector:BIT:TEST:DURATION? + - ERRORDetector:BIT:TEST:MAXALIGNS? + - ERRORDetector:BIT:TEST:RATE? + - ERRORDetector:BIT:TEST:RESults? + - ERRORDetector:BIT:TEST:SECOnds? + - ERRORDetector:BIT:TEST:STATUS:LOCK? + - ERRORDetector:BIT:TEST:STATUS:MAX_AP? + - ERRORDetector:BIT:TEST:STATUS:SIGNAL? + - ERRORDetector:BIT:TEST:STATUS:START? + - ERRORDetector:BIT:TEST:STATUS:SYNC? + - ERRORDetector:BIT:TEST:STATUS? + - ERRORDetector:BIT:TEST:TIME:DAYS? + - ERRORDetector:BIT:TEST:TIME:HOURS? + - ERRORDetector:BIT:TEST:TIME:MINUTES? + - ERRORDetector:BIT:TEST:TIME:SECOnds? + - ERRORDetector:BIT:TEST:TIME? + - ERRORDetector:BITRate {RATEcustom:CUSTOM |RATE312000000:RATE312 |RATE1250000000:RATE1250 |RATE1500000000:RATE1500 |RATE2125000000:RATE2125 |RATE2500000000:RATE2500 |RATE3000000000:RATE3000 |RATE3125000000:RATE3125 |RATE4250000000:RATE4250 |RATE5000000000:RATE5000 |RATE6000000000:RATE6000 |RATE6250000000:RATE6250}DPO70000SX{RATE3200 | RATE3600 | RATE4000 | RATE4400 | RATE4800 | RATE5200 | RATE5600 | RATE6000 | RATE6400 | CUSTOM} + - ERRORDetector:BITRate:VALue + - ERRORDetector:BITRate:VALue? + - ERRORDetector:BITRate? + - ERRORDetector:CHANnel {CH1 | CH2 | CH3 | CH4} + - ERRORDetector:CHANnel? + - ERRORDetector:DURATION:COUNt + - ERRORDetector:DURATION:COUNt? + - ERRORDetector:DURATION:SECOnds + - ERRORDetector:DURATION:SECOnds? + - ERRORDetector:DURATION:TIME + - ERRORDetector:DURATION:TIME:DAYS + - ERRORDetector:DURATION:TIME:DAYS? + - ERRORDetector:DURATION:TIME:HOURS + - ERRORDetector:DURATION:TIME:HOURS? + - ERRORDetector:DURATION:TIME:MINUTES + - ERRORDetector:DURATION:TIME:MINUTES? + - ERRORDetector:DURATION:TIME:SECOnds + - ERRORDetector:DURATION:TIME:SECOnds? + - ERRORDetector:DURATION:TIME? + - ERRORDetector:ERRORLIMIT + - ERRORDetector:ERRORLIMIT? + - ERRORDetector:FILE:RECAll + - ERRORDetector:FILE:SAVe + - ERRORDetector:FONTSIze {DEFAULT | LARGE | XLARGE} + - ERRORDetector:FONTSIze? + - ERRORDetector:FRAme:EOF + - ERRORDetector:FRAme:EOF? + - ERRORDetector:FRAme:INITIALCRCVALue + - ERRORDetector:FRAme:INITIALCRCVALue? + - ERRORDetector:FRAme:SOF + - ERRORDetector:FRAme:SOF? + - ERRORDetector:FRAme:TEST + - ERRORDetector:FRAme:TEST:BADCHARS? + - ERRORDetector:FRAme:TEST:COUNt? + - ERRORDetector:FRAme:TEST:DISParity? + - ERRORDetector:FRAme:TEST:DURATION? + - ERRORDetector:FRAme:TEST:MAXALIGNS? + - ERRORDetector:FRAme:TEST:RATE? + - ERRORDetector:FRAme:TEST:RESults? + - ERRORDetector:FRAme:TEST:SECOnds? + - ERRORDetector:FRAme:TEST:STATUS:LOCK? + - ERRORDetector:FRAme:TEST:STATUS:MAX_AP? + - ERRORDetector:FRAme:TEST:STATUS:SIGNAL? + - ERRORDetector:FRAme:TEST:STATUS:START? + - ERRORDetector:FRAme:TEST:STATUS? + - ERRORDetector:FRAme:TEST:TIME:DAYS? + - ERRORDetector:FRAme:TEST:TIME:HOURS? + - ERRORDetector:FRAme:TEST:TIME:MINUTES? + - ERRORDetector:FRAme:TEST:TIME:SECOnds? + - ERRORDetector:FRAme:TEST:TIME? + - ERRORDetector:FRAme:TEST? + - ERRORDetector:FRAme? + - ERRORDetector:MAXALIGNS + - ERRORDetector:MAXALIGNS? + - ERRORDetector:PATTERNNAME + - ERRORDetector:PATTERNNAME? + - ERRORDetector:PREset {SATA1_CJTPAT_BIT | SATA2_CJTPAT_BIT | SATA3_CJTPAT_BIT | SATA3_FRAME | SATA3_CHAR | SATA3_HFTP_BIT | SATA3_LBP_BIT | SATA3_LFTP_BIT | SATA3_MFTP_BIT | USB3_SYMBOL | USB3_CHAR | PCIE1_COMP_BIT | PCIE2_COMP_BIT | ANY_CJTPAT_BIT | ANY_CJTPAT_CHAR | CUSTOM}DPO70000SX{CUSTOM_SETUP | PRBS7_BIT_ERROR | PRBS9_BIT_ERROR | PRBS11_BIT_ERROR | PRBS16_BIT_ERROR | PRBS23_BIT_ERROR} + - ERRORDetector:PREset:APPLY + - ERRORDetector:SAVEIMAGE {OFF | ON} + - ERRORDetector:SAVEIMAGE? + - ERRORDetector:SAVEWFM {OFF | ON} + - ERRORDetector:SAVEWFM? + - ERRORDetector:SCRAMBLED {ON | OFF} + - ERRORDetector:SCRAMBLED? + - ERRORDetector:SENDEMAIL {OFF | ON} + - ERRORDetector:SENDEMAIL? + - ERRORDetector:SIGnaltype {SATAGEN| USB3|PCIEGEN|ANY8B10B|PRBS7|PRBS9}?DPO70000SX{CUSTOM | PRBS7 | PRBS9 | PRBS11 | PRBS16 |PRBS23} + - ERRORDetector:SSC {ON|OFF} + - ERRORDetector:SSC? + - ERRORDetector:STANdard + - ERRORDetector:STANdard? + - ERRORDetector:STATE {| OFF | ON}?DPO70000SX{OFF | ON} + - ERRORDetector:STATE? + - ERRORDetector:STATus? + - ERRORDetector:STOPWHEN DPO70000SX + - ERRORDetector:STOPWHEN? + - ERRORDetector:SYMBOL:TEST + - ERRORDetector:SYMBOL:TEST:BADCHARS? + - ERRORDetector:SYMBOL:TEST:BITCOUNT? + - ERRORDetector:SYMBOL:TEST:BITDURATION? + - ERRORDetector:SYMBOL:TEST:BITRate? + - ERRORDetector:SYMBOL:TEST:COUNt? + - ERRORDetector:SYMBOL:TEST:DISParity? + - ERRORDetector:SYMBOL:TEST:DURATION? + - ERRORDetector:SYMBOL:TEST:MAXALIGNS? + - ERRORDetector:SYMBOL:TEST:RATE? + - ERRORDetector:SYMBOL:TEST:RESults? + - ERRORDetector:SYMBOL:TEST:SECOnds? + - ERRORDetector:SYMBOL:TEST:STATUS:LOCK? + - ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP? + - ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL? + - ERRORDetector:SYMBOL:TEST:STATUS:START? + - ERRORDetector:SYMBOL:TEST:STATUS? + - ERRORDetector:SYMBOL:TEST:TIME:DAYS? + - ERRORDetector:SYMBOL:TEST:TIME:HOURS? + - ERRORDetector:SYMBOL:TEST:TIME:MINUTES? + - ERRORDetector:SYMBOL:TEST:TIME:SECOnds? + - ERRORDetector:SYMBOL:TEST:TIME? + - ERRORDetector:SYMBOL:TEST? + - ERRORDetector:SYMBOL? + - ERRORDetector:TIMEformat {DDHHMMSS | SECONDS} + - ERRORDetector:TIMEformat? + - ERRORDetector:TYPe {BIT | FRAME | SYMBOL | CHARACTER | PRBS7 | PRBS9} + - ERRORDetector:TYPe? +""" # noqa: E501 +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class ErrordetectorType(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:TYPe`` command. + + **Description:** + - This command sets or queries the error detector type. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:TYPe {BIT | FRAME | SYMBOL | CHARACTER | PRBS7 | PRBS9} + - ERRORDetector:TYPe? + + **Info:** + - ``BIT`` sets the error detector type to bit. + - ``FRAME`` sets the error detector type to frame. + - ``SYMBOL`` sets the error detector type to symbol. + - ``CHARACTER`` sets the error detector type to character. + - ``PRBS7`` sets the error detector type to PRBS7. + - ``PRBS9`` sets the error detector type to PRBS9. + """ + + +class ErrordetectorTimeformat(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:TIMEformat`` command. + + **Description:** + - This command sets or queries error detector Elapsed Time Format as DDHHMMSS or Seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:TIMEformat?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:TIMEformat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:TIMEformat value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:TIMEformat {DDHHMMSS | SECONDS} + - ERRORDetector:TIMEformat? + """ + + +class ErrordetectorSymbolTestTimeSeconds(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:SECOnds? + """ + + +class ErrordetectorSymbolTestTimeMinutes(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:MINUTES? + """ + + +class ErrordetectorSymbolTestTimeHours(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:HOURS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:HOURS? + """ + + +class ErrordetectorSymbolTestTimeDays(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:DAYS?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:DAYS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:DAYS? + """ + + +class ErrordetectorSymbolTestTime(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for symbol + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME? + + Properties: + - ``.days``: The ``ERRORDetector:SYMBOL:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:SYMBOL:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._days = ErrordetectorSymbolTestTimeDays(device, f"{self._cmd_syntax}:DAYS") + self._hours = ErrordetectorSymbolTestTimeHours(device, f"{self._cmd_syntax}:HOURS") + self._minutes = ErrordetectorSymbolTestTimeMinutes(device, f"{self._cmd_syntax}:MINUTES") + self._seconds = ErrordetectorSymbolTestTimeSeconds(device, f"{self._cmd_syntax}:SECOnds") + + @property + def days(self) -> ErrordetectorSymbolTestTimeDays: + """Return the ``ERRORDetector:SYMBOL:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:DAYS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:DAYS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:DAYS? + """ + return self._days + + @property + def hours(self) -> ErrordetectorSymbolTestTimeHours: + """Return the ``ERRORDetector:SYMBOL:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:HOURS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:HOURS? + """ + return self._hours + + @property + def minutes(self) -> ErrordetectorSymbolTestTimeMinutes: + """Return the ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:MINUTES? + """ + return self._minutes + + @property + def seconds(self) -> ErrordetectorSymbolTestTimeSeconds: + """Return the ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME:SECOnds? + """ + return self._seconds + + +class ErrordetectorSymbolTestStatusStart(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:STATUS:START`` command. + + **Description:** + - This command queries the START status for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS:START?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:START?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:START? + """ + + +class ErrordetectorSymbolTestStatusSignal(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL? + """ + + +class ErrordetectorSymbolTestStatusMaxAp(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP? + """ + + +class ErrordetectorSymbolTestStatusLock(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:LOCK? + """ + + +class ErrordetectorSymbolTestStatus(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:STATUS`` command. + + **Description:** + - This command queries all of the status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS? + + Properties: + - ``.lock``: The ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:SYMBOL:TEST:STATUS:START`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lock = ErrordetectorSymbolTestStatusLock(device, f"{self._cmd_syntax}:LOCK") + self._max_ap = ErrordetectorSymbolTestStatusMaxAp(device, f"{self._cmd_syntax}:MAX_AP") + self._signal = ErrordetectorSymbolTestStatusSignal(device, f"{self._cmd_syntax}:SIGNAL") + self._start = ErrordetectorSymbolTestStatusStart(device, f"{self._cmd_syntax}:START") + + @property + def lock(self) -> ErrordetectorSymbolTestStatusLock: + """Return the ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:LOCK? + """ + return self._lock + + @property + def max_ap(self) -> ErrordetectorSymbolTestStatusMaxAp: + """Return the ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP? + """ + return self._max_ap + + @property + def signal(self) -> ErrordetectorSymbolTestStatusSignal: + """Return the ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL? + """ + return self._signal + + @property + def start(self) -> ErrordetectorSymbolTestStatusStart: + """Return the ``ERRORDetector:SYMBOL:TEST:STATUS:START`` command. + + **Description:** + - This command queries the START status for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:START?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS:START?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS:START? + """ + return self._start + + +class ErrordetectorSymbolTestSeconds(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:SECOnds`` command. + + **Description:** + - This command queries the elapsed duration time (in seconds) for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:SECOnds? + """ + + +class ErrordetectorSymbolTestResults(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:RESults`` command. + + **Description:** + - This command queries all of the results for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:RESults?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:RESults?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:RESults? + """ + + +class ErrordetectorSymbolTestRate(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:RATE`` command. + + **Description:** + - This command queries the calculated symbol error rate for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:RATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:RATE? + """ + + +class ErrordetectorSymbolTestMaxaligns(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the maximum consecutive skip order sets encountered for symbol error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:MAXALIGNS?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:MAXALIGNS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:MAXALIGNS? + """ + + +class ErrordetectorSymbolTestDuration(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration (in units of symbols) for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:DURATION?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:DURATION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:DURATION? + """ + + +class ErrordetectorSymbolTestDisparity(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:DISParity`` command. + + **Description:** + - This command queries the disparity error count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:DISParity?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:DISParity? + """ + + +class ErrordetectorSymbolTestCount(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:COUNt`` command. + + **Description:** + - This command queries the symbol error count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:COUNt? + """ + + +class ErrordetectorSymbolTestBitrate(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:BITRate`` command. + + **Description:** + - This command queries the calculated bit error rate for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITRate? + """ + + +class ErrordetectorSymbolTestBitduration(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:BITDURATION`` command. + + **Description:** + - This command queries the elapsed duration in units of bits tested for symbol error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITDURATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:BITDURATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITDURATION? + """ + + +class ErrordetectorSymbolTestBitcount(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:BITCOUNT`` command. + + **Description:** + - This command queries the bit error count (number of bad bits) for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:BITCOUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITCOUNT? + """ + + +class ErrordetectorSymbolTestBadchars(SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST:BADCHARS`` command. + + **Description:** + - This command queries the illegal character count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BADCHARS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:BADCHARS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BADCHARS? + """ + + +# pylint: disable=too-many-instance-attributes +class ErrordetectorSymbolTest(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SYMBOL:TEST`` command. + + **Description:** + - This command initiates and terminates symbol error testing for the arguments START and + STOP. Zeroes the symbol error results for the argument CLEAR. Re-synchronizes the + recovered clock for the argument SYNC. This command also queries all of the symbol test + settings and results for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SYMBOL:TEST value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST + - ERRORDetector:SYMBOL:TEST? + + **Info:** + - ``START`` initiates symbol and bit error testing. + - ``STOP`` terminates symbol and bit error testing. + - ``CLEAR`` zeroes the symbol and bit error counts, duration, bit error rate, and symbol + error rate. + - ``SYNC`` re-synchronizes the recovered clock. + + Properties: + - ``.badchars``: The ``ERRORDetector:SYMBOL:TEST:BADCHARS`` command. + - ``.bitcount``: The ``ERRORDetector:SYMBOL:TEST:BITCOUNT`` command. + - ``.bitduration``: The ``ERRORDetector:SYMBOL:TEST:BITDURATION`` command. + - ``.bitrate``: The ``ERRORDetector:SYMBOL:TEST:BITRate`` command. + - ``.count``: The ``ERRORDetector:SYMBOL:TEST:COUNt`` command. + - ``.disparity``: The ``ERRORDetector:SYMBOL:TEST:DISParity`` command. + - ``.duration``: The ``ERRORDetector:SYMBOL:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:SYMBOL:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:SYMBOL:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:SYMBOL:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:SYMBOL:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:SYMBOL:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:SYMBOL:TEST:TIME`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._badchars = ErrordetectorSymbolTestBadchars(device, f"{self._cmd_syntax}:BADCHARS") + self._bitcount = ErrordetectorSymbolTestBitcount(device, f"{self._cmd_syntax}:BITCOUNT") + self._bitduration = ErrordetectorSymbolTestBitduration( + device, f"{self._cmd_syntax}:BITDURATION" + ) + self._bitrate = ErrordetectorSymbolTestBitrate(device, f"{self._cmd_syntax}:BITRate") + self._count = ErrordetectorSymbolTestCount(device, f"{self._cmd_syntax}:COUNt") + self._disparity = ErrordetectorSymbolTestDisparity(device, f"{self._cmd_syntax}:DISParity") + self._duration = ErrordetectorSymbolTestDuration(device, f"{self._cmd_syntax}:DURATION") + self._maxaligns = ErrordetectorSymbolTestMaxaligns(device, f"{self._cmd_syntax}:MAXALIGNS") + self._rate = ErrordetectorSymbolTestRate(device, f"{self._cmd_syntax}:RATE") + self._results = ErrordetectorSymbolTestResults(device, f"{self._cmd_syntax}:RESults") + self._seconds = ErrordetectorSymbolTestSeconds(device, f"{self._cmd_syntax}:SECOnds") + self._status = ErrordetectorSymbolTestStatus(device, f"{self._cmd_syntax}:STATUS") + self._time = ErrordetectorSymbolTestTime(device, f"{self._cmd_syntax}:TIME") + + @property + def badchars(self) -> ErrordetectorSymbolTestBadchars: + """Return the ``ERRORDetector:SYMBOL:TEST:BADCHARS`` command. + + **Description:** + - This command queries the illegal character count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BADCHARS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:BADCHARS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BADCHARS? + """ + return self._badchars + + @property + def bitcount(self) -> ErrordetectorSymbolTestBitcount: + """Return the ``ERRORDetector:SYMBOL:TEST:BITCOUNT`` command. + + **Description:** + - This command queries the bit error count (number of bad bits) for symbol error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITCOUNT?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:BITCOUNT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITCOUNT? + """ + return self._bitcount + + @property + def bitduration(self) -> ErrordetectorSymbolTestBitduration: + """Return the ``ERRORDetector:SYMBOL:TEST:BITDURATION`` command. + + **Description:** + - This command queries the elapsed duration in units of bits tested for symbol error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITDURATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:BITDURATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITDURATION? + """ + return self._bitduration + + @property + def bitrate(self) -> ErrordetectorSymbolTestBitrate: + """Return the ``ERRORDetector:SYMBOL:TEST:BITRate`` command. + + **Description:** + - This command queries the calculated bit error rate for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:BITRate?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:BITRate?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:BITRate? + """ + return self._bitrate + + @property + def count(self) -> ErrordetectorSymbolTestCount: + """Return the ``ERRORDetector:SYMBOL:TEST:COUNt`` command. + + **Description:** + - This command queries the symbol error count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:COUNt?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:COUNt? + """ + return self._count + + @property + def disparity(self) -> ErrordetectorSymbolTestDisparity: + """Return the ``ERRORDetector:SYMBOL:TEST:DISParity`` command. + + **Description:** + - This command queries the disparity error count for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:DISParity?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:DISParity?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:DISParity? + """ + return self._disparity + + @property + def duration(self) -> ErrordetectorSymbolTestDuration: + """Return the ``ERRORDetector:SYMBOL:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration (in units of symbols) for symbol error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:DURATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:DURATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:DURATION? + """ + return self._duration + + @property + def maxaligns(self) -> ErrordetectorSymbolTestMaxaligns: + """Return the ``ERRORDetector:SYMBOL:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the maximum consecutive skip order sets encountered for symbol + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:MAXALIGNS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:MAXALIGNS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:MAXALIGNS? + """ + return self._maxaligns + + @property + def rate(self) -> ErrordetectorSymbolTestRate: + """Return the ``ERRORDetector:SYMBOL:TEST:RATE`` command. + + **Description:** + - This command queries the calculated symbol error rate for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:RATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:RATE? + """ + return self._rate + + @property + def results(self) -> ErrordetectorSymbolTestResults: + """Return the ``ERRORDetector:SYMBOL:TEST:RESults`` command. + + **Description:** + - This command queries all of the results for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:RESults?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:RESults?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:RESults? + """ + return self._results + + @property + def seconds(self) -> ErrordetectorSymbolTestSeconds: + """Return the ``ERRORDetector:SYMBOL:TEST:SECOnds`` command. + + **Description:** + - This command queries the elapsed duration time (in seconds) for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:SECOnds? + """ + return self._seconds + + @property + def status(self) -> ErrordetectorSymbolTestStatus: + """Return the ``ERRORDetector:SYMBOL:TEST:STATUS`` command. + + **Description:** + - This command queries all of the status for the symbol error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:STATUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:SYMBOL:TEST:STATUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:STATUS? + + Sub-properties: + - ``.lock``: The ``ERRORDetector:SYMBOL:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:SYMBOL:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:SYMBOL:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:SYMBOL:TEST:STATUS:START`` command. + """ + return self._status + + @property + def time(self) -> ErrordetectorSymbolTestTime: + """Return the ``ERRORDetector:SYMBOL:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for + symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST:TIME? + + Sub-properties: + - ``.days``: The ``ERRORDetector:SYMBOL:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:SYMBOL:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:SYMBOL:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:SYMBOL:TEST:TIME:SECOnds`` command. + """ + return self._time + + +class ErrordetectorSymbol(SCPICmdRead): + """The ``ERRORDetector:SYMBOL`` command. + + **Description:** + - This command queries all symbol error settings, status, and results. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL? + + Properties: + - ``.test``: The ``ERRORDetector:SYMBOL:TEST`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._test = ErrordetectorSymbolTest(device, f"{self._cmd_syntax}:TEST") + + @property + def test(self) -> ErrordetectorSymbolTest: + """Return the ``ERRORDetector:SYMBOL:TEST`` command. + + **Description:** + - This command initiates and terminates symbol error testing for the arguments START and + STOP. Zeroes the symbol error results for the argument CLEAR. Re-synchronizes the + recovered clock for the argument SYNC. This command also queries all of the symbol + test settings and results for symbol error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL:TEST?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL:TEST?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SYMBOL:TEST value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL:TEST + - ERRORDetector:SYMBOL:TEST? + + **Info:** + - ``START`` initiates symbol and bit error testing. + - ``STOP`` terminates symbol and bit error testing. + - ``CLEAR`` zeroes the symbol and bit error counts, duration, bit error rate, and symbol + error rate. + - ``SYNC`` re-synchronizes the recovered clock. + + Sub-properties: + - ``.badchars``: The ``ERRORDetector:SYMBOL:TEST:BADCHARS`` command. + - ``.bitcount``: The ``ERRORDetector:SYMBOL:TEST:BITCOUNT`` command. + - ``.bitduration``: The ``ERRORDetector:SYMBOL:TEST:BITDURATION`` command. + - ``.bitrate``: The ``ERRORDetector:SYMBOL:TEST:BITRate`` command. + - ``.count``: The ``ERRORDetector:SYMBOL:TEST:COUNt`` command. + - ``.disparity``: The ``ERRORDetector:SYMBOL:TEST:DISParity`` command. + - ``.duration``: The ``ERRORDetector:SYMBOL:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:SYMBOL:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:SYMBOL:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:SYMBOL:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:SYMBOL:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:SYMBOL:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:SYMBOL:TEST:TIME`` command. + """ + return self._test + + +class ErrordetectorStopwhen(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:STOPWHEN`` command. + + **Description:** + - This command sets or queries the stopping condition. The test can be stopped when the + count, time, or number of errors elapses. If the STOPWHEN value is MANUAL, the test runs + until a TEST STOP command is received. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STOPWHEN?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STOPWHEN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STOPWHEN value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STOPWHEN DPO70000SX + - ERRORDetector:STOPWHEN? + + **Info:** + - ``MANUAL`` indicates that the test must be stopped by issuing a TEST STOP command. This is + the default. + - ``COUNT`` stops the test when ``DURATION:COUNT`` comparisons are made. The comparisons can + be bit, frame, symbol, or character as appropriate for the ``TEST:TYPE``. + - ``TIME`` stops the test when ``DURATION:TIME`` elapses. + - ``ERROR`` stops the test when the number of errors ≥ ERRORLIMIT. + """ + + +class ErrordetectorStatus(SCPICmdRead): + """The ``ERRORDetector:STATus`` command. + + **Description:** + - Queries only the 'most significant' or 'summary' status of the error detector. All of the + status flags for each test type may be obtained from the + ``ERRORdetector::TEST:STATUS`` commands. LOCK refers to the recovered clock. + Signal refers to the cable carrying the signal to the scope. SYNC refers to bit error + tests that require a sync pattern. STOPPED/COUNTING refer to whether the error detector is + testing for errors. ``MAX_AP`` refers to whether the error detector has detected the + maximum consecutive Align (or SkipSets) Primitives as specified in the ERRORDetector: + MAXALIGNS command + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STATus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STATus? + """ + + +class ErrordetectorState(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:STATE`` command. + + **Description:** + - This command sets or queries the status of the error option. STATE must be ON to use the + error detector feature. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STATE?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STATE {| OFF | ON}?DPO70000SX{OFF | ON} + - ERRORDetector:STATE? + + **Info:** + - ``ON`` enables the software error detector feature. + - ``OFF`` disables the software error detector feature. This is the default. + - ```` = 0 disables the error detector; any other value enables the error detector. + """ + + +class ErrordetectorStandard(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:STANdard`` command. + + **Description:** + - This command sets or queries the standard selection for error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STANdard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STANdard value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STANdard + - ERRORDetector:STANdard? + + **Info:** + - ```` is the supported standard. + """ + + +class ErrordetectorSsc(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SSC`` command. + + **Description:** + - This command sets or queries the status of the spread spectrum clock tracking option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SSC?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SSC?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SSC value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SSC {ON|OFF} + - ERRORDetector:SSC? + + **Info:** + - ``ON`` enables spread spectrum clock tracking. For error detector, the spread spectrum + clock tracking should always be turned on. + - ``OFF`` disables spread spectrum clock tracking. For serial trigger, the spread spectrum + clock tracking is turned off. + """ + + +class ErrordetectorSignaltype(SCPICmdWrite): + """The ``ERRORDetector:SIGnaltype`` command. + + **Description:** + - This command sets or queries error detector Signal Type control. Setting the signal type + establishes the bit rate appropriate for the standard, as well as establishing the testing + algorithm. Custom bit rates may be used as well. See the ``ERRORDetector:BITRATE`` and + ``ERRORDetector:BITRATE:VALue`` commands. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:SIGnaltype value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SIGnaltype {SATAGEN| USB3|PCIEGEN|ANY8B10B|PRBS7|PRBS9}?DPO70000SX{CUSTOM | PRBS7 | PRBS9 | PRBS11 | PRBS16 |PRBS23} + + **Info:** + - ``The DPO70000SX only supports PRBS7, PRBS9, PRBS11, PRBS16, PRBS23, and CUSTOM.`` + """ # noqa: E501 + + +class ErrordetectorSendemail(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SENDEMAIL`` command. + + **Description:** + - This command sets or queries error detector Send Email control. When set to ON, a email + will be sent to the recipient, defined elsewhere in the PI, when the error detector + detects an error (because detecting an error triggers the instrument). The default number + of emails sent is 1, so that you do not overflow your inbox. If you also set the SaveImage + or SaveWfm parameters to ON, the email will contain these items. Send Email is an + alternate way of setting the E-mail on Trigger actions defined elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SENDEMAIL?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SENDEMAIL?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SENDEMAIL value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SENDEMAIL {OFF | ON} + - ERRORDetector:SENDEMAIL? + + **Info:** + - ``OFF`` disables the send email feature. + - ``ON`` enables the send email feature. + """ + + +class ErrordetectorScrambled(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SCRAMBLED`` command. + + **Description:** + - This command sets or queries the status of the error detection data scrambling option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SCRAMBLED?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SCRAMBLED?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SCRAMBLED value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SCRAMBLED {ON | OFF} + - ERRORDetector:SCRAMBLED? + + **Info:** + - ``ON`` enables the error detection data scrambling option. This is the default option. + - ``OFF`` disables the error detection data scrambling option. + """ + + +class ErrordetectorSavewfm(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SAVEWFM`` command. + + **Description:** + - This command sets or queries error detector Save Waveform (WFM) control. When set to ON, a + waveform object will be made when the error detector detects an error (because detecting + an error triggers the instrument). The waveforms are saved in the + C:UsersTektronixTekScopeSaveOnTrigger directory. A default limit of 10 screen + shots prevents overflowing your disk drive should the error detector sense massive errors, + such as when you disconnect the signal. If you also set the SendEmail parameter to ON, the + saved waveform (wfm object) is emailed to the recipient (set elsewhere in the trigger PI) + as an attachedment. SaveImage is an alternate way of setting the Save on Trigger actions + defined elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SAVEWFM?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SAVEWFM?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SAVEWFM value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SAVEWFM {OFF | ON} + - ERRORDetector:SAVEWFM? + + **Info:** + - ``OFF`` turns off the error detector save waveform feature. + - ``ON`` turns on the error detector save waveform feature. + """ + + +class ErrordetectorSaveimage(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:SAVEIMAGE`` command. + + **Description:** + - Sets or queries error detector Save Image control. When set to ON, a screen shot will be + made when the error detector detects an error (because detecting an error triggers the + scope). The images are saved in the C:Users TektronixTekScopeSaveOnTrigger + directory. A default limit of 10 screen shots prevents overflowing your disk drive should + the error detector sense massive errors, such as when you disconnect the signal. If you + also set the SendEmail parameter to ON, the saved image (screen shot) will be emailed to + the recipient (set elsewhere in the trigger PI). SaveImage is an alternate way of setting + the Save on Trigger actions defined elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SAVEIMAGE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SAVEIMAGE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SAVEIMAGE value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SAVEIMAGE {OFF | ON} + - ERRORDetector:SAVEIMAGE? + """ + + +class ErrordetectorPresetApply(SCPICmdWriteNoArguments): + """The ``ERRORDetector:PREset:APPLY`` command. + + **Description:** + - This command causes selected preset setup to be applied. Until this command is received by + the instrument, the selected preset has not been applied. This mimics the user interface + operation, which allows window shopping various preset setups, without actually applying + them to the instrument setup. + + **Usage:** + - Using the ``.write()`` method will send the ``ERRORDetector:PREset:APPLY`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PREset:APPLY + """ + + +class ErrordetectorPreset(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:PREset`` command. + + **Description:** + - This command sets or queries error detector font preset selection. A number of preset + setups are selected by this parameter to cover the more common cases. The preset names + attempt to indicate the standard, signal pattern, and test type employed. The bit rate + appropriate for the standard is used. The text files containing the preset setups are + located in the C:UsersPublicTektronixTekScopeErrorDetector directory in Windows. You may + select CUSTOM as a preset value, and save or recall your own custom setups. You may want + to recall one of the standard preset setups, modify some of the parameters, and then save + it as a custom setup for recall at a later time. This same behavior is supported on the + error detector User Interface. he ``SATA3_FRAME`` preset expects the SATA3 Compliance + Pattern. ``USB3_SYMBOL`` preset expects the USB3 standard ``CP0_SKP`` signal. You can set + a PATTERNNAME for each setup. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:PREset value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PREset {SATA1_CJTPAT_BIT | SATA2_CJTPAT_BIT | SATA3_CJTPAT_BIT | SATA3_FRAME | SATA3_CHAR | SATA3_HFTP_BIT | SATA3_LBP_BIT | SATA3_LFTP_BIT | SATA3_MFTP_BIT | USB3_SYMBOL | USB3_CHAR | PCIE1_COMP_BIT | PCIE2_COMP_BIT | ANY_CJTPAT_BIT | ANY_CJTPAT_CHAR | CUSTOM}DPO70000SX{CUSTOM_SETUP | PRBS7_BIT_ERROR | PRBS9_BIT_ERROR | PRBS11_BIT_ERROR | PRBS16_BIT_ERROR | PRBS23_BIT_ERROR} + + Properties: + - ``.apply``: The ``ERRORDetector:PREset:APPLY`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._apply = ErrordetectorPresetApply(device, f"{self._cmd_syntax}:APPLY") + + @property + def apply(self) -> ErrordetectorPresetApply: + """Return the ``ERRORDetector:PREset:APPLY`` command. + + **Description:** + - This command causes selected preset setup to be applied. Until this command is + received by the instrument, the selected preset has not been applied. This mimics the + user interface operation, which allows window shopping various preset setups, without + actually applying them to the instrument setup. + + **Usage:** + - Using the ``.write()`` method will send the ``ERRORDetector:PREset:APPLY`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PREset:APPLY + """ + return self._apply + + +class ErrordetectorPatternname(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:PATTERNNAME`` command. + + **Description:** + - This command sets or queries the pattern name stored in the setup file. Setting this name + has no functional effect on the instrument, but it is a convenient reminder to users as to + which setup is in effect. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:PATTERNNAME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:PATTERNNAME?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:PATTERNNAME value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PATTERNNAME + - ERRORDetector:PATTERNNAME? + + **Info:** + - ```` is a quoted string representing a pattern name. + """ + + +class ErrordetectorMaxaligns(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:MAXALIGNS`` command. + + **Description:** + - This command sets or queries the maximum consecutive align primitives before a + ``MAX_AP_FAIL`` error is reported. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:MAXALIGNS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:MAXALIGNS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:MAXALIGNS value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:MAXALIGNS + - ERRORDetector:MAXALIGNS? + + **Info:** + - ```` is a integer. The limit values are 0 to 63 and the default is 8. + """ + + +class ErrordetectorFrameTestTimeSeconds(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:SECOnds? + """ + + +class ErrordetectorFrameTestTimeMinutes(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:MINUTES? + """ + + +class ErrordetectorFrameTestTimeHours(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:TIME:HOURS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:HOURS? + """ + + +class ErrordetectorFrameTestTimeDays(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:DAYS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:TIME:DAYS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:DAYS? + """ + + +class ErrordetectorFrameTestTime(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for frame + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:TIME?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME? + + Properties: + - ``.days``: The ``ERRORDetector:FRAme:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:FRAme:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:FRAme:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:FRAme:TEST:TIME:SECOnds`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._days = ErrordetectorFrameTestTimeDays(device, f"{self._cmd_syntax}:DAYS") + self._hours = ErrordetectorFrameTestTimeHours(device, f"{self._cmd_syntax}:HOURS") + self._minutes = ErrordetectorFrameTestTimeMinutes(device, f"{self._cmd_syntax}:MINUTES") + self._seconds = ErrordetectorFrameTestTimeSeconds(device, f"{self._cmd_syntax}:SECOnds") + + @property + def days(self) -> ErrordetectorFrameTestTimeDays: + """Return the ``ERRORDetector:FRAme:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:DAYS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:DAYS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:DAYS? + """ + return self._days + + @property + def hours(self) -> ErrordetectorFrameTestTimeHours: + """Return the ``ERRORDetector:FRAme:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:HOURS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:HOURS? + """ + return self._hours + + @property + def minutes(self) -> ErrordetectorFrameTestTimeMinutes: + """Return the ``ERRORDetector:FRAme:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:MINUTES? + """ + return self._minutes + + @property + def seconds(self) -> ErrordetectorFrameTestTimeSeconds: + """Return the ``ERRORDetector:FRAme:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME:SECOnds? + """ + return self._seconds + + +class ErrordetectorFrameTestStatusStart(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:STATUS:START`` command. + + **Description:** + - This command returns the START status for frame error tests. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:START?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:START?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:START? + """ + + +class ErrordetectorFrameTestStatusSignal(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:SIGNAL? + """ + + +class ErrordetectorFrameTestStatusMaxAp(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:MAX_AP? + """ + + +class ErrordetectorFrameTestStatusLock(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:LOCK?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:LOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:LOCK? + """ + + +class ErrordetectorFrameTestStatus(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:STATUS`` command. + + **Description:** + - This command queries all of the status for frame error status. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS? + + Properties: + - ``.lock``: The ``ERRORDetector:FRAme:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:FRAme:TEST:STATUS:START`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lock = ErrordetectorFrameTestStatusLock(device, f"{self._cmd_syntax}:LOCK") + self._max_ap = ErrordetectorFrameTestStatusMaxAp(device, f"{self._cmd_syntax}:MAX_AP") + self._signal = ErrordetectorFrameTestStatusSignal(device, f"{self._cmd_syntax}:SIGNAL") + self._start = ErrordetectorFrameTestStatusStart(device, f"{self._cmd_syntax}:START") + + @property + def lock(self) -> ErrordetectorFrameTestStatusLock: + """Return the ``ERRORDetector:FRAme:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:LOCK?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:LOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:LOCK? + """ + return self._lock + + @property + def max_ap(self) -> ErrordetectorFrameTestStatusMaxAp: + """Return the ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:MAX_AP? + """ + return self._max_ap + + @property + def signal(self) -> ErrordetectorFrameTestStatusSignal: + """Return the ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for the frame error test. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:SIGNAL? + """ + return self._signal + + @property + def start(self) -> ErrordetectorFrameTestStatusStart: + """Return the ``ERRORDetector:FRAme:TEST:STATUS:START`` command. + + **Description:** + - This command returns the START status for frame error tests. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS:START?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:STATUS:START?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS:START? + """ + return self._start + + +class ErrordetectorFrameTestSeconds(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:SECOnds`` command. + + **Description:** + - This command queries the result of elapsed duration in seconds for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:SECOnds? + """ + + +class ErrordetectorFrameTestResults(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:RESults`` command. + + **Description:** + - This command queries all the results for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:RESults?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:RESults?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:RESults? + """ + + +class ErrordetectorFrameTestRate(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:RATE`` command. + + **Description:** + - This command queries the calculated frame error rate. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:RATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:RATE? + """ + + +class ErrordetectorFrameTestMaxaligns(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the result of the maximum consecutive aligns encountered for frame + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:MAXALIGNS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:MAXALIGNS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:MAXALIGNS? + """ + + +class ErrordetectorFrameTestDuration(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration in number of frames. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:DURATION?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:DURATION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:DURATION? + """ + + +class ErrordetectorFrameTestDisparity(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:DISParity`` command. + + **Description:** + - This command queries the disparity error count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:DISParity? + """ + + +class ErrordetectorFrameTestCount(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:COUNt`` command. + + **Description:** + - This command queries the test error count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:COUNt? + """ + + +class ErrordetectorFrameTestBadchars(SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST:BADCHARS`` command. + + **Description:** + - This command queries the illegal character count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:BADCHARS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:BADCHARS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:BADCHARS? + """ + + +# pylint: disable=too-many-instance-attributes +class ErrordetectorFrameTest(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:FRAme:TEST`` command. + + **Description:** + - This command and query initiates and terminates frame error testing for the arguments + START and STOP. Zeroes the frame error results for the argument CLEAR. Re-synchronizes the + recovered clock for the argument SYNC. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:TEST value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST + - ERRORDetector:FRAme:TEST? + + **Info:** + - ``START`` initiates the frame error test counting of errors and duration. + - ``STOP`` terminates the frame error test counting of frame errors and duration. + - ``CLEAR`` zeroes the frame error test count, duration, and rate. + - ``SYNC`` re-synchronizes the recovered clock. + + Properties: + - ``.badchars``: The ``ERRORDetector:FRAme:TEST:BADCHARS`` command. + - ``.count``: The ``ERRORDetector:FRAme:TEST:COUNt`` command. + - ``.disparity``: The ``ERRORDetector:FRAme:TEST:DISParity`` command. + - ``.duration``: The ``ERRORDetector:FRAme:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:FRAme:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:FRAme:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:FRAme:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:FRAme:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:FRAme:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:FRAme:TEST:TIME`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._badchars = ErrordetectorFrameTestBadchars(device, f"{self._cmd_syntax}:BADCHARS") + self._count = ErrordetectorFrameTestCount(device, f"{self._cmd_syntax}:COUNt") + self._disparity = ErrordetectorFrameTestDisparity(device, f"{self._cmd_syntax}:DISParity") + self._duration = ErrordetectorFrameTestDuration(device, f"{self._cmd_syntax}:DURATION") + self._maxaligns = ErrordetectorFrameTestMaxaligns(device, f"{self._cmd_syntax}:MAXALIGNS") + self._rate = ErrordetectorFrameTestRate(device, f"{self._cmd_syntax}:RATE") + self._results = ErrordetectorFrameTestResults(device, f"{self._cmd_syntax}:RESults") + self._seconds = ErrordetectorFrameTestSeconds(device, f"{self._cmd_syntax}:SECOnds") + self._status = ErrordetectorFrameTestStatus(device, f"{self._cmd_syntax}:STATUS") + self._time = ErrordetectorFrameTestTime(device, f"{self._cmd_syntax}:TIME") + + @property + def badchars(self) -> ErrordetectorFrameTestBadchars: + """Return the ``ERRORDetector:FRAme:TEST:BADCHARS`` command. + + **Description:** + - This command queries the illegal character count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:BADCHARS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:BADCHARS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:BADCHARS? + """ + return self._badchars + + @property + def count(self) -> ErrordetectorFrameTestCount: + """Return the ``ERRORDetector:FRAme:TEST:COUNt`` command. + + **Description:** + - This command queries the test error count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:COUNt? + """ + return self._count + + @property + def disparity(self) -> ErrordetectorFrameTestDisparity: + """Return the ``ERRORDetector:FRAme:TEST:DISParity`` command. + + **Description:** + - This command queries the disparity error count for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:DISParity?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:DISParity?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:DISParity? + """ + return self._disparity + + @property + def duration(self) -> ErrordetectorFrameTestDuration: + """Return the ``ERRORDetector:FRAme:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration in number of frames. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:DURATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:DURATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:DURATION? + """ + return self._duration + + @property + def maxaligns(self) -> ErrordetectorFrameTestMaxaligns: + """Return the ``ERRORDetector:FRAme:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the result of the maximum consecutive aligns encountered for + frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:MAXALIGNS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:MAXALIGNS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:MAXALIGNS? + """ + return self._maxaligns + + @property + def rate(self) -> ErrordetectorFrameTestRate: + """Return the ``ERRORDetector:FRAme:TEST:RATE`` command. + + **Description:** + - This command queries the calculated frame error rate. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:RATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:RATE? + """ + return self._rate + + @property + def results(self) -> ErrordetectorFrameTestResults: + """Return the ``ERRORDetector:FRAme:TEST:RESults`` command. + + **Description:** + - This command queries all the results for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:RESults?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:RESults?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:RESults? + """ + return self._results + + @property + def seconds(self) -> ErrordetectorFrameTestSeconds: + """Return the ``ERRORDetector:FRAme:TEST:SECOnds`` command. + + **Description:** + - This command queries the result of elapsed duration in seconds for frame error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:TEST:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:SECOnds? + """ + return self._seconds + + @property + def status(self) -> ErrordetectorFrameTestStatus: + """Return the ``ERRORDetector:FRAme:TEST:STATUS`` command. + + **Description:** + - This command queries all of the status for frame error status. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:STATUS?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:STATUS? + + Sub-properties: + - ``.lock``: The ``ERRORDetector:FRAme:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:FRAme:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:FRAme:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:FRAme:TEST:STATUS:START`` command. + """ + return self._status + + @property + def time(self) -> ErrordetectorFrameTestTime: + """Return the ``ERRORDetector:FRAme:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for frame + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST:TIME? + + Sub-properties: + - ``.days``: The ``ERRORDetector:FRAme:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:FRAme:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:FRAme:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:FRAme:TEST:TIME:SECOnds`` command. + """ + return self._time + + +class ErrordetectorFrameSof(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:FRAme:SOF`` command. + + **Description:** + - This command sets or queries the Start of Frame for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:SOF?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:SOF?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:SOF value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:SOF + - ERRORDetector:FRAme:SOF? + + **Info:** + - ```` is a quoted string representing a 32-bit pattern. + """ + + +class ErrordetectorFrameInitialcrcvalue(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:FRAme:INITIALCRCVALue`` command. + + **Description:** + - This command sets or queries the initial CRC value for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:INITIALCRCVALue?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:INITIALCRCVALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:FRAme:INITIALCRCVALue value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:INITIALCRCVALue + - ERRORDetector:FRAme:INITIALCRCVALue? + + **Info:** + - ```` is a value defined by the selected standard. + """ + + +class ErrordetectorFrameEof(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:FRAme:EOF`` command. + + **Description:** + - This command sets or queries the End of Frame for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:EOF?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:EOF?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:EOF value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:EOF + - ERRORDetector:FRAme:EOF? + + **Info:** + - ```` is a quoted string representing a 32-bit pattern. + """ + + +class ErrordetectorFrame(SCPICmdRead): + """The ``ERRORDetector:FRAme`` command. + + **Description:** + - This command queries all frame error settings, status, and results. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme? + + Properties: + - ``.eof``: The ``ERRORDetector:FRAme:EOF`` command. + - ``.initialcrcvalue``: The ``ERRORDetector:FRAme:INITIALCRCVALue`` command. + - ``.sof``: The ``ERRORDetector:FRAme:SOF`` command. + - ``.test``: The ``ERRORDetector:FRAme:TEST`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._eof = ErrordetectorFrameEof(device, f"{self._cmd_syntax}:EOF") + self._initialcrcvalue = ErrordetectorFrameInitialcrcvalue( + device, f"{self._cmd_syntax}:INITIALCRCVALue" + ) + self._sof = ErrordetectorFrameSof(device, f"{self._cmd_syntax}:SOF") + self._test = ErrordetectorFrameTest(device, f"{self._cmd_syntax}:TEST") + + @property + def eof(self) -> ErrordetectorFrameEof: + """Return the ``ERRORDetector:FRAme:EOF`` command. + + **Description:** + - This command sets or queries the End of Frame for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:EOF?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:EOF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:EOF value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:EOF + - ERRORDetector:FRAme:EOF? + + **Info:** + - ```` is a quoted string representing a 32-bit pattern. + """ + return self._eof + + @property + def initialcrcvalue(self) -> ErrordetectorFrameInitialcrcvalue: + """Return the ``ERRORDetector:FRAme:INITIALCRCVALue`` command. + + **Description:** + - This command sets or queries the initial CRC value for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:INITIALCRCVALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:FRAme:INITIALCRCVALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:FRAme:INITIALCRCVALue value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:INITIALCRCVALue + - ERRORDetector:FRAme:INITIALCRCVALue? + + **Info:** + - ```` is a value defined by the selected standard. + """ + return self._initialcrcvalue + + @property + def sof(self) -> ErrordetectorFrameSof: + """Return the ``ERRORDetector:FRAme:SOF`` command. + + **Description:** + - This command sets or queries the Start of Frame for frame error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:SOF?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:SOF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:SOF value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:SOF + - ERRORDetector:FRAme:SOF? + + **Info:** + - ```` is a quoted string representing a 32-bit pattern. + """ + return self._sof + + @property + def test(self) -> ErrordetectorFrameTest: + """Return the ``ERRORDetector:FRAme:TEST`` command. + + **Description:** + - This command and query initiates and terminates frame error testing for the arguments + START and STOP. Zeroes the frame error results for the argument CLEAR. Re-synchronizes + the recovered clock for the argument SYNC. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme:TEST?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme:TEST?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FRAme:TEST value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme:TEST + - ERRORDetector:FRAme:TEST? + + **Info:** + - ``START`` initiates the frame error test counting of errors and duration. + - ``STOP`` terminates the frame error test counting of frame errors and duration. + - ``CLEAR`` zeroes the frame error test count, duration, and rate. + - ``SYNC`` re-synchronizes the recovered clock. + + Sub-properties: + - ``.badchars``: The ``ERRORDetector:FRAme:TEST:BADCHARS`` command. + - ``.count``: The ``ERRORDetector:FRAme:TEST:COUNt`` command. + - ``.disparity``: The ``ERRORDetector:FRAme:TEST:DISParity`` command. + - ``.duration``: The ``ERRORDetector:FRAme:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:FRAme:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:FRAme:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:FRAme:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:FRAme:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:FRAme:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:FRAme:TEST:TIME`` command. + """ + return self._test + + +class ErrordetectorFontsize(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:FONTSIze`` command. + + **Description:** + - Sets or queries error detector font size selection. Currently, the font size only applied + the error detector UI control window. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FONTSIze?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FONTSIze?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FONTSIze value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FONTSIze {DEFAULT | LARGE | XLARGE} + - ERRORDetector:FONTSIze? + + **Info:** + - ``DEFAULT`` sets the font size to the default size. + - ``LARGE`` sets the font size to large. + - ``XLARGE`` sets the font size to extra large. + """ + + +class ErrordetectorFileSave(SCPICmdWrite): + """The ``ERRORDetector:FILE:SAVe`` command. + + **Description:** + - This command initiates a file save of error detector parameters to a text file. Argument + is the file name. The setup files are supplied with the instrument. You can also save your + own setup files. For example, the setup for the USB ``CP0_SKP`` signal test pattern is + supplied in 'C:UsersPublicTektronixTekScopeErrorDetector + ``UsbCP0_SKPsymbolErrorSetup``.txt'. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:FILE:SAVe value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FILE:SAVe + + **Info:** + - ```` is the file name and file location. The default location is + 'C:UsersPublicTektronixTekScopeErrorDetector' and the setup file is in TXT format. + """ + + +class ErrordetectorFileRecall(SCPICmdWrite): + """The ``ERRORDetector:FILE:RECAll`` command. + + **Description:** + - This command initiates a file recall of error detector parameters from a text file. + Argument is the file name. The setup files are supplied with the instrument. You can also + create your own setup files. The setup for the USB ``CP0_SKP`` signal test pattern is + supplied in 'C:UsersPublicTektronixTekScopeErrorDetector + ``UsbCP0_SKPsymbolErrorSetup``.txt'. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:FILE:RECAll value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FILE:RECAll + + **Info:** + - ```` is the file name and file location. The default location is + 'C:UsersPublicTektronixTekScopeErrorDetector' and the setup file is in TXT format. + """ + + +class ErrordetectorFile(SCPICmdRead): + """The ``ERRORDetector:FILE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FILE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FILE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.recall``: The ``ERRORDetector:FILE:RECAll`` command. + - ``.save``: The ``ERRORDetector:FILE:SAVe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._recall = ErrordetectorFileRecall(device, f"{self._cmd_syntax}:RECAll") + self._save = ErrordetectorFileSave(device, f"{self._cmd_syntax}:SAVe") + + @property + def recall(self) -> ErrordetectorFileRecall: + """Return the ``ERRORDetector:FILE:RECAll`` command. + + **Description:** + - This command initiates a file recall of error detector parameters from a text file. + Argument is the file name. The setup files are supplied with the instrument. You can + also create your own setup files. The setup for the USB ``CP0_SKP`` signal test + pattern is supplied in 'C:UsersPublicTektronixTekScopeErrorDetector + ``UsbCP0_SKPsymbolErrorSetup``.txt'. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:FILE:RECAll value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FILE:RECAll + + **Info:** + - ```` is the file name and file location. The default location is + 'C:UsersPublicTektronixTekScopeErrorDetector' and the setup file is in TXT format. + """ + return self._recall + + @property + def save(self) -> ErrordetectorFileSave: + """Return the ``ERRORDetector:FILE:SAVe`` command. + + **Description:** + - This command initiates a file save of error detector parameters to a text file. + Argument is the file name. The setup files are supplied with the instrument. You can + also save your own setup files. For example, the setup for the USB ``CP0_SKP`` signal + test pattern is supplied in 'C:UsersPublicTektronixTekScopeErrorDetector + ``UsbCP0_SKPsymbolErrorSetup``.txt'. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:FILE:SAVe value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FILE:SAVe + + **Info:** + - ```` is the file name and file location. The default location is + 'C:UsersPublicTektronixTekScopeErrorDetector' and the setup file is in TXT format. + """ + return self._save + + +class ErrordetectorErrorlimit(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:ERRORLIMIT`` command. + + **Description:** + - This command sets or queries the error limit value to use when STOPWHEN is ERROR. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ERRORLIMIT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ERRORLIMIT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:ERRORLIMIT value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ERRORLIMIT + - ERRORDetector:ERRORLIMIT? + + **Info:** + - ```` is the maximum number of errors. + """ + + +class ErrordetectorDurationTimeSeconds(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:TIME:SECOnds`` command. + + **Description:** + - This command sets or queries the test duration time seconds component for error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:SECOnds value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:SECOnds + - ERRORDetector:DURATION:TIME:SECOnds? + + **Info:** + - ```` is a number for the test duration time seconds component. + """ + + +class ErrordetectorDurationTimeMinutes(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:TIME:MINUTES`` command. + + **Description:** + - This command sets or queries the test duration time minutes component for error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME:MINUTES?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:MINUTES value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:MINUTES + - ERRORDetector:DURATION:TIME:MINUTES? + + **Info:** + - ```` is a number for the test duration time minutes component. + """ + + +class ErrordetectorDurationTimeHours(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:TIME:HOURS`` command. + + **Description:** + - This command sets or queries the test duration time hours component. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:HOURS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME:HOURS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:HOURS value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:HOURS + - ERRORDetector:DURATION:TIME:HOURS? + + **Info:** + - ```` is a number for the test duration time hours component. + """ + + +class ErrordetectorDurationTimeDays(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:TIME:DAYS`` command. + + **Description:** + - This command sets or queries the test duration time days component. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:DAYS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME:DAYS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:DAYS value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:DAYS + - ERRORDetector:DURATION:TIME:DAYS? + + **Info:** + - ```` is a number for the test duration time days component. + """ + + +class ErrordetectorDurationTime(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:TIME`` command. + + **Description:** + - This command sets or queries the test duration time in days, hours, minutes, and seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:DURATION:TIME value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME + - ERRORDetector:DURATION:TIME? + + **Info:** + - ```` is the test duration time in days, hours, minutes, and seconds. It is in the + format . + + Properties: + - ``.days``: The ``ERRORDetector:DURATION:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:DURATION:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:DURATION:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:DURATION:TIME:SECOnds`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._days = ErrordetectorDurationTimeDays(device, f"{self._cmd_syntax}:DAYS") + self._hours = ErrordetectorDurationTimeHours(device, f"{self._cmd_syntax}:HOURS") + self._minutes = ErrordetectorDurationTimeMinutes(device, f"{self._cmd_syntax}:MINUTES") + self._seconds = ErrordetectorDurationTimeSeconds(device, f"{self._cmd_syntax}:SECOnds") + + @property + def days(self) -> ErrordetectorDurationTimeDays: + """Return the ``ERRORDetector:DURATION:TIME:DAYS`` command. + + **Description:** + - This command sets or queries the test duration time days component. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:DAYS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:DURATION:TIME:DAYS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:DAYS value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:DAYS + - ERRORDetector:DURATION:TIME:DAYS? + + **Info:** + - ```` is a number for the test duration time days component. + """ + return self._days + + @property + def hours(self) -> ErrordetectorDurationTimeHours: + """Return the ``ERRORDetector:DURATION:TIME:HOURS`` command. + + **Description:** + - This command sets or queries the test duration time hours component. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:DURATION:TIME:HOURS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:HOURS value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:HOURS + - ERRORDetector:DURATION:TIME:HOURS? + + **Info:** + - ```` is a number for the test duration time hours component. + """ + return self._hours + + @property + def minutes(self) -> ErrordetectorDurationTimeMinutes: + """Return the ``ERRORDetector:DURATION:TIME:MINUTES`` command. + + **Description:** + - This command sets or queries the test duration time minutes component for error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:DURATION:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:MINUTES value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:MINUTES + - ERRORDetector:DURATION:TIME:MINUTES? + + **Info:** + - ```` is a number for the test duration time minutes component. + """ + return self._minutes + + @property + def seconds(self) -> ErrordetectorDurationTimeSeconds: + """Return the ``ERRORDetector:DURATION:TIME:SECOnds`` command. + + **Description:** + - This command sets or queries the test duration time seconds component for error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:DURATION:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:TIME:SECOnds value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME:SECOnds + - ERRORDetector:DURATION:TIME:SECOnds? + + **Info:** + - ```` is a number for the test duration time seconds component. + """ + return self._seconds + + +class ErrordetectorDurationSeconds(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:SECOnds`` command. + + **Description:** + - This command sets or queries the test duration in seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:DURATION:SECOnds value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:SECOnds + - ERRORDetector:DURATION:SECOnds? + + **Info:** + - ```` is the test duration in seconds. + """ + + +class ErrordetectorDurationCount(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:DURATION:COUNt`` command. + + **Description:** + - This command sets or queries the test duration count as the number of bits, frames, + symbols, or characters to be tested for error testing. (Frame, symbol, and character + testing not available on the DPO70000SX instruments.) + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:COUNt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:DURATION:COUNt value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:COUNt + - ERRORDetector:DURATION:COUNt? + + **Info:** + - ```` indicates the number of bits, frame, symbols, or characters to be tested for the + test duration count. (Frame, symbol, and character testing not available on the DPO70000SX + instruments.). + """ + + +class ErrordetectorDuration(SCPICmdRead): + """The ``ERRORDetector:DURATION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.count``: The ``ERRORDetector:DURATION:COUNt`` command. + - ``.seconds``: The ``ERRORDetector:DURATION:SECOnds`` command. + - ``.time``: The ``ERRORDetector:DURATION:TIME`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = ErrordetectorDurationCount(device, f"{self._cmd_syntax}:COUNt") + self._seconds = ErrordetectorDurationSeconds(device, f"{self._cmd_syntax}:SECOnds") + self._time = ErrordetectorDurationTime(device, f"{self._cmd_syntax}:TIME") + + @property + def count(self) -> ErrordetectorDurationCount: + """Return the ``ERRORDetector:DURATION:COUNt`` command. + + **Description:** + - This command sets or queries the test duration count as the number of bits, frames, + symbols, or characters to be tested for error testing. (Frame, symbol, and character + testing not available on the DPO70000SX instruments.) + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:COUNt + - ERRORDetector:DURATION:COUNt? + + **Info:** + - ```` indicates the number of bits, frame, symbols, or characters to be tested for + the test duration count. (Frame, symbol, and character testing not available on the + DPO70000SX instruments.). + """ + return self._count + + @property + def seconds(self) -> ErrordetectorDurationSeconds: + """Return the ``ERRORDetector:DURATION:SECOnds`` command. + + **Description:** + - This command sets or queries the test duration in seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:DURATION:SECOnds value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:SECOnds + - ERRORDetector:DURATION:SECOnds? + + **Info:** + - ```` is the test duration in seconds. + """ + return self._seconds + + @property + def time(self) -> ErrordetectorDurationTime: + """Return the ``ERRORDetector:DURATION:TIME`` command. + + **Description:** + - This command sets or queries the test duration time in days, hours, minutes, and + seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:DURATION:TIME value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:DURATION:TIME + - ERRORDetector:DURATION:TIME? + + **Info:** + - ```` is the test duration time in days, hours, minutes, and seconds. It is in the + format . + + Sub-properties: + - ``.days``: The ``ERRORDetector:DURATION:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:DURATION:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:DURATION:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:DURATION:TIME:SECOnds`` command. + """ + return self._time + + +class ErrordetectorChannel(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:CHANnel`` command. + + **Description:** + - Sets or queries error detector channel selection. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:CHANnel?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:CHANnel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:CHANnel value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:CHANnel {CH1 | CH2 | CH3 | CH4} + - ERRORDetector:CHANnel? + + **Info:** + - ``CHx`` is the error detector channel selection. + """ + + +class ErrordetectorBitrateValue(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:BITRate:VALue`` command. + + **Description:** + - This command sets or queries error detector custom bitrate value for error detection. To + set the custom value, you must also set ``ERRORDetector:BITTRATE`` to CUSTOM. The bitrate + range is nominally 1.25 Gb/s to 6.25 Gb/s. Special coding also allows the custom bitrate + to range from 200 Mb/s to 350 Mb/s for PRBS7 and PRBS9 only. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BITRate:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BITRate:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BITRate:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BITRate:VALue + - ERRORDetector:BITRate:VALue? + + **Info:** + - ```` is the custom bit rate value. + """ + + +class ErrordetectorBitrate(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:BITRate`` command. + + **Description:** + - This command sets or queries error detector bitrate enumeration for error detection. There + are two bitrate enumerations for each standard: 1) The standard bitrate, for example + RATE6000 (meaning 6.0Gb/s, for SATA Gen3); and 2) Custom. When Custom is selected the + ``ERRORDetector:BITRATE:VALUE`` must also be set to the specific desired bitrate. For + example, 6.1 Gb/s. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BITRate value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BITRate {RATEcustom:CUSTOM |RATE312000000:RATE312 |RATE1250000000:RATE1250 |RATE1500000000:RATE1500 |RATE2125000000:RATE2125 |RATE2500000000:RATE2500 |RATE3000000000:RATE3000 |RATE3125000000:RATE3125 |RATE4250000000:RATE4250 |RATE5000000000:RATE5000 |RATE6000000000:RATE6000 |RATE6250000000:RATE6250}DPO70000SX{RATE3200 | RATE3600 | RATE4000 | RATE4400 | RATE4800 | RATE5200 | RATE5600 | RATE6000 | RATE6400 | CUSTOM} + - ERRORDetector:BITRate? + + **Info:** + - ``RATE3200..to..RATE6400`` sets the error detector bit rate to the specified value. + RATE3200 indicates a bitrate of 3.2 Gb/s, etc. + - ``:ERRORDETECTOR:BITRATE:VALUE`` command. + + Properties: + - ``.value``: The ``ERRORDetector:BITRate:VALue`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = ErrordetectorBitrateValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> ErrordetectorBitrateValue: + """Return the ``ERRORDetector:BITRate:VALue`` command. + + **Description:** + - This command sets or queries error detector custom bitrate value for error detection. + To set the custom value, you must also set ``ERRORDetector:BITTRATE`` to CUSTOM. The + bitrate range is nominally 1.25 Gb/s to 6.25 Gb/s. Special coding also allows the + custom bitrate to range from 200 Mb/s to 350 Mb/s for PRBS7 and PRBS9 only. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BITRate:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BITRate:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BITRate:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BITRate:VALue + - ERRORDetector:BITRate:VALue? + + **Info:** + - ```` is the custom bit rate value. + """ + return self._value + + +class ErrordetectorBitTestTimeSeconds(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:SECOnds? + """ + + +class ErrordetectorBitTestTimeMinutes(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME:MINUTES?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:MINUTES? + """ + + +class ErrordetectorBitTestTimeHours(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:HOURS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME:HOURS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:HOURS? + """ + + +class ErrordetectorBitTestTimeDays(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:DAYS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME:DAYS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:DAYS? + """ + + +class ErrordetectorBitTestTime(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for bit error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME? + + Properties: + - ``.days``: The ``ERRORDetector:BIT:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:BIT:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:BIT:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:BIT:TEST:TIME:SECOnds`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._days = ErrordetectorBitTestTimeDays(device, f"{self._cmd_syntax}:DAYS") + self._hours = ErrordetectorBitTestTimeHours(device, f"{self._cmd_syntax}:HOURS") + self._minutes = ErrordetectorBitTestTimeMinutes(device, f"{self._cmd_syntax}:MINUTES") + self._seconds = ErrordetectorBitTestTimeSeconds(device, f"{self._cmd_syntax}:SECOnds") + + @property + def days(self) -> ErrordetectorBitTestTimeDays: + """Return the ``ERRORDetector:BIT:TEST:TIME:DAYS`` command. + + **Description:** + - This command queries the elapsed time days component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:DAYS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:TIME:DAYS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:DAYS? + """ + return self._days + + @property + def hours(self) -> ErrordetectorBitTestTimeHours: + """Return the ``ERRORDetector:BIT:TEST:TIME:HOURS`` command. + + **Description:** + - This command queries the elapsed time hours component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:HOURS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:TIME:HOURS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:HOURS? + """ + return self._hours + + @property + def minutes(self) -> ErrordetectorBitTestTimeMinutes: + """Return the ``ERRORDetector:BIT:TEST:TIME:MINUTES`` command. + + **Description:** + - This command queries the elapsed time minutes component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:MINUTES?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:TIME:MINUTES?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:MINUTES? + """ + return self._minutes + + @property + def seconds(self) -> ErrordetectorBitTestTimeSeconds: + """Return the ``ERRORDetector:BIT:TEST:TIME:SECOnds`` command. + + **Description:** + - This command queries the elapsed time seconds component for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME:SECOnds?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:TIME:SECOnds?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME:SECOnds? + """ + return self._seconds + + +class ErrordetectorBitTestStatusSync(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS:SYNC`` command. + + **Description:** + - This command queries the SYNC status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:SYNC?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:STATUS:SYNC?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:SYNC? + """ + + +class ErrordetectorBitTestStatusStart(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS:START`` command. + + **Description:** + - This command queries the START status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:START?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:STATUS:START?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:START? + """ + + +class ErrordetectorBitTestStatusSignal(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:SIGNAL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:SIGNAL? + """ + + +class ErrordetectorBitTestStatusMaxAp(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:MAX_AP?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:MAX_AP? + """ + + +class ErrordetectorBitTestStatusLock(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:LOCK?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:STATUS:LOCK?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:LOCK? + """ + + +class ErrordetectorBitTestStatus(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:STATUS`` command. + + **Description:** + - This command queries all of the bit error test status bits. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:STATUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS? + + Properties: + - ``.lock``: The ``ERRORDetector:BIT:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:BIT:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:BIT:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:BIT:TEST:STATUS:START`` command. + - ``.sync``: The ``ERRORDetector:BIT:TEST:STATUS:SYNC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lock = ErrordetectorBitTestStatusLock(device, f"{self._cmd_syntax}:LOCK") + self._max_ap = ErrordetectorBitTestStatusMaxAp(device, f"{self._cmd_syntax}:MAX_AP") + self._signal = ErrordetectorBitTestStatusSignal(device, f"{self._cmd_syntax}:SIGNAL") + self._start = ErrordetectorBitTestStatusStart(device, f"{self._cmd_syntax}:START") + self._sync = ErrordetectorBitTestStatusSync(device, f"{self._cmd_syntax}:SYNC") + + @property + def lock(self) -> ErrordetectorBitTestStatusLock: + """Return the ``ERRORDetector:BIT:TEST:STATUS:LOCK`` command. + + **Description:** + - This command queries the LOCK status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:LOCK?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:LOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:LOCK? + """ + return self._lock + + @property + def max_ap(self) -> ErrordetectorBitTestStatusMaxAp: + """Return the ``ERRORDetector:BIT:TEST:STATUS:MAX_AP`` command. + + **Description:** + - This command queries the ``MAX_AP`` status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:MAX_AP?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:MAX_AP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:MAX_AP? + """ + return self._max_ap + + @property + def signal(self) -> ErrordetectorBitTestStatusSignal: + """Return the ``ERRORDetector:BIT:TEST:STATUS:SIGNAL`` command. + + **Description:** + - This command queries the SIGNAL status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:SIGNAL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:SIGNAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:SIGNAL? + """ + return self._signal + + @property + def start(self) -> ErrordetectorBitTestStatusStart: + """Return the ``ERRORDetector:BIT:TEST:STATUS:START`` command. + + **Description:** + - This command queries the START status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:START?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:START?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:START? + """ + return self._start + + @property + def sync(self) -> ErrordetectorBitTestStatusSync: + """Return the ``ERRORDetector:BIT:TEST:STATUS:SYNC`` command. + + **Description:** + - This command queries the SYNC status for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS:SYNC?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:STATUS:SYNC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS:SYNC? + """ + return self._sync + + +class ErrordetectorBitTestSeconds(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:SECOnds`` command. + + **Description:** + - This command queries the elapsed time in seconds for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:SECOnds? + """ + + +class ErrordetectorBitTestResults(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:RESults`` command. + + **Description:** + - This command queries all of the results for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:RESults?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:RESults?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:RESults? + """ + + +class ErrordetectorBitTestRate(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:RATE`` command. + + **Description:** + - This command queries the calculated bit error rate for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:RATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:RATE? + """ + + +class ErrordetectorBitTestMaxaligns(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the maximum consecutive SATA align primitives or USB skip order sets + for bit error testing. The maximum number of align primitives is a design parameter of the + bus standard. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:MAXALIGNS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:MAXALIGNS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:MAXALIGNS? + """ + + +class ErrordetectorBitTestDuration(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration (in units of bits) tested for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:DURATION?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:DURATION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:DURATION? + """ + + +class ErrordetectorBitTestCount(SCPICmdRead): + """The ``ERRORDetector:BIT:TEST:COUNt`` command. + + **Description:** + - This command queries the bit error count for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:COUNt?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:COUNt? + """ + + +# pylint: disable=too-many-instance-attributes +class ErrordetectorBitTest(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:BIT:TEST`` command. + + **Description:** + - This command initiates and terminates bit error testing for the arguments START and STOP. + It zeroes bit error test results for the argument CLEAR. It also copies the test pattern + from the signal to memory for the argument LEARN. It re-synchronizes the recovered clock + for argument SYNC. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:BIT:TEST value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST DPO70000SX + + **Info:** + - ``LEARN`` copies the test pattern from the signal to the hardware template memory. + - ``START`` initiates bit error counting of bit errors and duration. + - ``STOP`` terminates bit error counting of bit errors and duration. + - ``CLEAR`` zeroes the bit error count, duration, and bit error rate. + - ``SYNC`` resynchronizes the recovered clock. + + Properties: + - ``.count``: The ``ERRORDetector:BIT:TEST:COUNt`` command. + - ``.duration``: The ``ERRORDetector:BIT:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:BIT:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:BIT:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:BIT:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:BIT:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:BIT:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:BIT:TEST:TIME`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = ErrordetectorBitTestCount(device, f"{self._cmd_syntax}:COUNt") + self._duration = ErrordetectorBitTestDuration(device, f"{self._cmd_syntax}:DURATION") + self._maxaligns = ErrordetectorBitTestMaxaligns(device, f"{self._cmd_syntax}:MAXALIGNS") + self._rate = ErrordetectorBitTestRate(device, f"{self._cmd_syntax}:RATE") + self._results = ErrordetectorBitTestResults(device, f"{self._cmd_syntax}:RESults") + self._seconds = ErrordetectorBitTestSeconds(device, f"{self._cmd_syntax}:SECOnds") + self._status = ErrordetectorBitTestStatus(device, f"{self._cmd_syntax}:STATUS") + self._time = ErrordetectorBitTestTime(device, f"{self._cmd_syntax}:TIME") + + @property + def count(self) -> ErrordetectorBitTestCount: + """Return the ``ERRORDetector:BIT:TEST:COUNt`` command. + + **Description:** + - This command queries the bit error count for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:COUNt? + """ + return self._count + + @property + def duration(self) -> ErrordetectorBitTestDuration: + """Return the ``ERRORDetector:BIT:TEST:DURATION`` command. + + **Description:** + - This command queries the elapsed duration (in units of bits) tested for bit error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:DURATION?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:DURATION?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:DURATION? + """ + return self._duration + + @property + def maxaligns(self) -> ErrordetectorBitTestMaxaligns: + """Return the ``ERRORDetector:BIT:TEST:MAXALIGNS`` command. + + **Description:** + - This command queries the maximum consecutive SATA align primitives or USB skip order + sets for bit error testing. The maximum number of align primitives is a design + parameter of the bus standard. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:MAXALIGNS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:TEST:MAXALIGNS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:MAXALIGNS? + """ + return self._maxaligns + + @property + def rate(self) -> ErrordetectorBitTestRate: + """Return the ``ERRORDetector:BIT:TEST:RATE`` command. + + **Description:** + - This command queries the calculated bit error rate for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:RATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:RATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:RATE? + """ + return self._rate + + @property + def results(self) -> ErrordetectorBitTestResults: + """Return the ``ERRORDetector:BIT:TEST:RESults`` command. + + **Description:** + - This command queries all of the results for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:RESults?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:RESults?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:RESults? + """ + return self._results + + @property + def seconds(self) -> ErrordetectorBitTestSeconds: + """Return the ``ERRORDetector:BIT:TEST:SECOnds`` command. + + **Description:** + - This command queries the elapsed time in seconds for bit error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:SECOnds?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:SECOnds?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:SECOnds? + """ + return self._seconds + + @property + def status(self) -> ErrordetectorBitTestStatus: + """Return the ``ERRORDetector:BIT:TEST:STATUS`` command. + + **Description:** + - This command queries all of the bit error test status bits. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:STATUS? + + Sub-properties: + - ``.lock``: The ``ERRORDetector:BIT:TEST:STATUS:LOCK`` command. + - ``.max_ap``: The ``ERRORDetector:BIT:TEST:STATUS:MAX_AP`` command. + - ``.signal``: The ``ERRORDetector:BIT:TEST:STATUS:SIGNAL`` command. + - ``.start``: The ``ERRORDetector:BIT:TEST:STATUS:START`` command. + - ``.sync``: The ``ERRORDetector:BIT:TEST:STATUS:SYNC`` command. + """ + return self._status + + @property + def time(self) -> ErrordetectorBitTestTime: + """Return the ``ERRORDetector:BIT:TEST:TIME`` command. + + **Description:** + - This command queries the elapsed time (in days, hours, minutes, and seconds) for bit + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:TEST:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:TEST:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST:TIME? + + Sub-properties: + - ``.days``: The ``ERRORDetector:BIT:TEST:TIME:DAYS`` command. + - ``.hours``: The ``ERRORDetector:BIT:TEST:TIME:HOURS`` command. + - ``.minutes``: The ``ERRORDetector:BIT:TEST:TIME:MINUTES`` command. + - ``.seconds``: The ``ERRORDetector:BIT:TEST:TIME:SECOnds`` command. + """ + return self._time + + +class ErrordetectorBitSyncpatternPlusItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``ERRORDetector:BIT:SYNCPATtern:PLUS`` command. + + **Description:** + - This command queries the four RD+ bit string sync pattern elements. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:PLUS? + """ + + +class ErrordetectorBitSyncpatternMinusItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``ERRORDetector:BIT:SYNCPATtern:MINus`` command. + + **Description:** + - This command queries the four RD- bit string sync pattern elements. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:MINus? + """ + + +class ErrordetectorBitSyncpatternDisparityItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``ERRORDetector:BIT:SYNCPATtern:DISParity`` command. + + **Description:** + - Sets or queries the four sync pattern Disparity elements, when the ``SYNCpat:ADVanced`` is + ON. When Advanced is off, the DISParity alternates based on the DISParity of the first + element. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:DISParity {RDPLUS | RDMINUS} + - ERRORDetector:BIT:SYNCPATtern:DISParity? + + **Info:** + - ``RDPLUS`` sets the sync pattern disparity element to RDPLUS. + - ``RDMINUS`` sets the sync pattern disparity element to RDMINUS. + """ + + +class ErrordetectorBitSyncpatternBitstring(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:BIT:SYNCPATtern:BITString`` command. + + **Description:** + - This command queries the 10-, 20-, 30-, or 40-bit sync pattern in bit string form. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern:BITString?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:BITString?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:BITString value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:BITString + - ERRORDetector:BIT:SYNCPATtern:BITString? + + **Info:** + - ```` is the bit string. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ErrordetectorBitSyncpattern(SCPICmdRead): + """The ``ERRORDetector:BIT:SYNCPATtern`` command. + + **Description:** + - This command queries all of the sync pattern forms and associated settings for non-USB bit + error testing. The SYNCPATtern consists of one to four symbolic 10-bit 8B10B characters + and their matching RD+ and RD- bit string equivalents. It is required for all non-USB bit + error testing. This sequence of 8B10B characters must actually occur and be unique in the + signal test pattern sent to the oscilloscope for error detection to work correctly. The + SyncPattern has a symbolic form ('K28.5'), an RD+ and RD- bit string form ('0011111010'), + and an as-used bit string form. The actual form used depends on the + ``SyncPattern:Disparity`` and ``SyncPattern:Advanced`` settings. When Advanced is Off, the + disparity setting determines the disparity of the first (leftmost) syncpattern element, + and the others alternate disparity. When Advanced is On, the Disparity is set for each + SyncPattern element. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:SYNCPATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern? + + Properties: + - ``.bitstring``: The ``ERRORDetector:BIT:SYNCPATtern:BITString`` command. + - ``.disparity``: The ``ERRORDetector:BIT:SYNCPATtern:DISParity`` command. + - ``.minus``: The ``ERRORDetector:BIT:SYNCPATtern:MINus`` command. + - ``.plus``: The ``ERRORDetector:BIT:SYNCPATtern:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitstring = ErrordetectorBitSyncpatternBitstring( + device, f"{self._cmd_syntax}:BITString" + ) + self._disparity: Dict[ + int, ErrordetectorBitSyncpatternDisparityItem + ] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorBitSyncpatternDisparityItem( + device, f"{self._cmd_syntax}:DISParity{x}" + ) + ) + self._minus: Dict[int, ErrordetectorBitSyncpatternMinusItem] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorBitSyncpatternMinusItem(device, f"{self._cmd_syntax}:MINus{x}") + ) + self._plus: Dict[int, ErrordetectorBitSyncpatternPlusItem] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorBitSyncpatternPlusItem(device, f"{self._cmd_syntax}:PLUS{x}") + ) + + @property + def bitstring(self) -> ErrordetectorBitSyncpatternBitstring: + """Return the ``ERRORDetector:BIT:SYNCPATtern:BITString`` command. + + **Description:** + - This command queries the 10-, 20-, 30-, or 40-bit sync pattern in bit string form. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:BITString?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:BITString?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:BITString value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:BITString + - ERRORDetector:BIT:SYNCPATtern:BITString? + + **Info:** + - ```` is the bit string. + """ + return self._bitstring + + @property + def disparity(self) -> Dict[int, ErrordetectorBitSyncpatternDisparityItem]: + """Return the ``ERRORDetector:BIT:SYNCPATtern:DISParity`` command. + + **Description:** + - Sets or queries the four sync pattern Disparity elements, when the + ``SYNCpat:ADVanced`` is ON. When Advanced is off, the DISParity alternates based on + the DISParity of the first element. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:DISParity value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:DISParity {RDPLUS | RDMINUS} + - ERRORDetector:BIT:SYNCPATtern:DISParity? + + **Info:** + - ``RDPLUS`` sets the sync pattern disparity element to RDPLUS. + - ``RDMINUS`` sets the sync pattern disparity element to RDMINUS. + """ + return self._disparity + + @property + def minus(self) -> Dict[int, ErrordetectorBitSyncpatternMinusItem]: + """Return the ``ERRORDetector:BIT:SYNCPATtern:MINus`` command. + + **Description:** + - This command queries the four RD- bit string sync pattern elements. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:MINus? + """ + return self._minus + + @property + def plus(self) -> Dict[int, ErrordetectorBitSyncpatternPlusItem]: + """Return the ``ERRORDetector:BIT:SYNCPATtern:PLUS`` command. + + **Description:** + - This command queries the four RD+ bit string sync pattern elements. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:BIT:SYNCPATtern:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern:PLUS? + """ + return self._plus + + +class ErrordetectorBitLength(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:BIT:LENgth`` command. + + **Description:** + - This command sets or queries the signal test pattern length in bits for non-USB bit error + testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:LENgth?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:LENgth?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BIT:LENgth value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:LENgth + - ERRORDetector:BIT:LENgth? + + **Info:** + - ```` indicates the bit length of the signal test pattern. + """ + + +class ErrordetectorBit(SCPICmdRead): + """The ``ERRORDetector:BIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.length``: The ``ERRORDetector:BIT:LENgth`` command. + - ``.syncpattern``: The ``ERRORDetector:BIT:SYNCPATtern`` command. + - ``.test``: The ``ERRORDetector:BIT:TEST`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = ErrordetectorBitLength(device, f"{self._cmd_syntax}:LENgth") + self._syncpattern = ErrordetectorBitSyncpattern(device, f"{self._cmd_syntax}:SYNCPATtern") + self._test = ErrordetectorBitTest(device, f"{self._cmd_syntax}:TEST") + + @property + def length(self) -> ErrordetectorBitLength: + """Return the ``ERRORDetector:BIT:LENgth`` command. + + **Description:** + - This command sets or queries the signal test pattern length in bits for non-USB bit + error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:LENgth?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:LENgth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BIT:LENgth value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:LENgth + - ERRORDetector:BIT:LENgth? + + **Info:** + - ```` indicates the bit length of the signal test pattern. + """ + return self._length + + @property + def syncpattern(self) -> ErrordetectorBitSyncpattern: + """Return the ``ERRORDetector:BIT:SYNCPATtern`` command. + + **Description:** + - This command queries all of the sync pattern forms and associated settings for non-USB + bit error testing. The SYNCPATtern consists of one to four symbolic 10-bit 8B10B + characters and their matching RD+ and RD- bit string equivalents. It is required for + all non-USB bit error testing. This sequence of 8B10B characters must actually occur + and be unique in the signal test pattern sent to the oscilloscope for error detection + to work correctly. The SyncPattern has a symbolic form ('K28.5'), an RD+ and RD- bit + string form ('0011111010'), and an as-used bit string form. The actual form used + depends on the ``SyncPattern:Disparity`` and ``SyncPattern:Advanced`` settings. When + Advanced is Off, the disparity setting determines the disparity of the first + (leftmost) syncpattern element, and the others alternate disparity. When Advanced is + On, the Disparity is set for each SyncPattern element. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT:SYNCPATtern?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT:SYNCPATtern?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:SYNCPATtern? + + Sub-properties: + - ``.bitstring``: The ``ERRORDetector:BIT:SYNCPATtern:BITString`` command. + - ``.disparity``: The ``ERRORDetector:BIT:SYNCPATtern:DISParity`` command. + - ``.minus``: The ``ERRORDetector:BIT:SYNCPATtern:MINus`` command. + - ``.plus``: The ``ERRORDetector:BIT:SYNCPATtern:PLUS`` command. + """ + return self._syncpattern + + @property + def test(self) -> ErrordetectorBitTest: + """Return the ``ERRORDetector:BIT:TEST`` command. + + **Description:** + - This command initiates and terminates bit error testing for the arguments START and + STOP. It zeroes bit error test results for the argument CLEAR. It also copies the test + pattern from the signal to memory for the argument LEARN. It re-synchronizes the + recovered clock for argument SYNC. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:BIT:TEST value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BIT:TEST DPO70000SX + + **Info:** + - ``LEARN`` copies the test pattern from the signal to the hardware template memory. + - ``START`` initiates bit error counting of bit errors and duration. + - ``STOP`` terminates bit error counting of bit errors and duration. + - ``CLEAR`` zeroes the bit error count, duration, and bit error rate. + - ``SYNC`` resynchronizes the recovered clock. + + Sub-properties: + - ``.count``: The ``ERRORDetector:BIT:TEST:COUNt`` command. + - ``.duration``: The ``ERRORDetector:BIT:TEST:DURATION`` command. + - ``.maxaligns``: The ``ERRORDetector:BIT:TEST:MAXALIGNS`` command. + - ``.rate``: The ``ERRORDetector:BIT:TEST:RATE`` command. + - ``.results``: The ``ERRORDetector:BIT:TEST:RESults`` command. + - ``.seconds``: The ``ERRORDetector:BIT:TEST:SECOnds`` command. + - ``.status``: The ``ERRORDetector:BIT:TEST:STATUS`` command. + - ``.time``: The ``ERRORDetector:BIT:TEST:TIME`` command. + """ # noqa: E501 + return self._test + + +class ErrordetectorAlignprimitiveSymbols(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` command. + + **Description:** + - Sets or queries the four align primitive symbols. You can set one or more symbols with the + command, but they must be done in order. The query returns all four symbols. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:SYMBOLS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOLS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:SYMBOLS + - ERRORDetector:ALIGNPRIMitive:SYMBOLS? + + **Info:** + - ```` is a quoted string representing one of the four align primitive symbols, + such as 'K28.5'. You can set one or more of the symbols with a single command, but the + symbols must be set in order. + """ + + +class ErrordetectorAlignprimitiveSymbolItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:SYMBOL`` command. + + **Description:** + - Sets or queries the align primitive symbol. The individual symbolic array elements may be + accessed through SYMbol1, SYMBol2, etc. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:SYMBOL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOL value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:SYMBOL + - ERRORDetector:ALIGNPRIMitive:SYMBOL? + + **Info:** + - ```` is a quoted string representing the symbolic align primitive symbols such as + K28.5. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ErrordetectorAlignprimitiveState(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:STATE`` command. + + **Description:** + - This command sets or queries the status of the RD- align primitive option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNPRIMitive:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:STATE {|OFF|ON} + - ERRORDetector:ALIGNPRIMitive:STATE? + + **Info:** + - ``ON`` enables the align primitive option. + - ``OFF`` disables the align primitive option. + - ```` = 0 disables the align primitive option; any other value enables the option. + """ + + +class ErrordetectorAlignprimitivePlusItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + + **Description:** + - This command queries the align primitive plus value. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:PLUS? + """ + + +class ErrordetectorAlignprimitivePlus(SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + + **Description:** + - This command queries the four RD+ align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:PLUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNPRIMitive:PLUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:PLUS? + """ + + +class ErrordetectorAlignprimitiveMinusItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:MINus`` command. + + **Description:** + - This command queries the RD- align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:MINus? + """ + + +class ErrordetectorAlignprimitiveMinus(SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive:MINUS`` command. + + **Description:** + - This command queries the RD- align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:MINUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNPRIMitive:MINUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:MINUS? + """ + + +class ErrordetectorAlignprimitive(SCPICmdRead): + """The ``ERRORDetector:ALIGNPRIMitive`` command. + + **Description:** + - This command queries all of the align primitive values, including its state (ON=1/OFF=0), + the length four array of symbolic character values, and the RD+ and RD- .length four + arrays of bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNPRIMitive?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive? + + Properties: + - ``.minus``: The ``ERRORDetector:ALIGNPRIMitive:MINUS`` command. + - ``.minusx``: The ``ERRORDetector:ALIGNPRIMitive:MINus`` command. + - ``.plus``: The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + - ``.plusx``: The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + - ``.state``: The ``ERRORDetector:ALIGNPRIMitive:STATE`` command. + - ``.symbol``: The ``ERRORDetector:ALIGNPRIMitive:SYMBOL`` command. + - ``.symbols``: The ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus = ErrordetectorAlignprimitiveMinus(device, f"{self._cmd_syntax}:MINUS") + self._minusx: Dict[int, ErrordetectorAlignprimitiveMinusItem] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorAlignprimitiveMinusItem(device, f"{self._cmd_syntax}:MINus{x}") + ) + self._plus = ErrordetectorAlignprimitivePlus(device, f"{self._cmd_syntax}:PLUS") + self._plusx: Dict[int, ErrordetectorAlignprimitivePlusItem] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorAlignprimitivePlusItem(device, f"{self._cmd_syntax}:PLUS{x}") + ) + self._state = ErrordetectorAlignprimitiveState(device, f"{self._cmd_syntax}:STATE") + self._symbol: Dict[ + int, ErrordetectorAlignprimitiveSymbolItem + ] = DefaultDictPassKeyToFactory( + lambda x: ErrordetectorAlignprimitiveSymbolItem(device, f"{self._cmd_syntax}:SYMBOL{x}") + ) + self._symbols = ErrordetectorAlignprimitiveSymbols(device, f"{self._cmd_syntax}:SYMBOLS") + + @property + def minus(self) -> ErrordetectorAlignprimitiveMinus: + """Return the ``ERRORDetector:ALIGNPRIMitive:MINUS`` command. + + **Description:** + - This command queries the RD- align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:MINUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:MINUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:MINUS? + """ + return self._minus + + @property + def minusx(self) -> Dict[int, ErrordetectorAlignprimitiveMinusItem]: + """Return the ``ERRORDetector:ALIGNPRIMitive:MINus`` command. + + **Description:** + - This command queries the RD- align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:MINus? + """ + return self._minusx + + @property + def plus(self) -> ErrordetectorAlignprimitivePlus: + """Return the ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + + **Description:** + - This command queries the four RD+ align primitive bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:PLUS? + """ + return self._plus + + @property + def plusx(self) -> Dict[int, ErrordetectorAlignprimitivePlusItem]: + """Return the ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + + **Description:** + - This command queries the align primitive plus value. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:PLUS? + """ + return self._plusx + + @property + def state(self) -> ErrordetectorAlignprimitiveState: + """Return the ``ERRORDetector:ALIGNPRIMitive:STATE`` command. + + **Description:** + - This command sets or queries the status of the RD- align primitive option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:STATE value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:STATE {|OFF|ON} + - ERRORDetector:ALIGNPRIMitive:STATE? + + **Info:** + - ``ON`` enables the align primitive option. + - ``OFF`` disables the align primitive option. + - ```` = 0 disables the align primitive option; any other value enables the option. + """ + return self._state + + @property + def symbol(self) -> Dict[int, ErrordetectorAlignprimitiveSymbolItem]: + """Return the ``ERRORDetector:ALIGNPRIMitive:SYMBOL`` command. + + **Description:** + - Sets or queries the align primitive symbol. The individual symbolic array elements may + be accessed through SYMbol1, SYMBol2, etc. + + **Usage:** + - Using the ``.query()`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOL?`` query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOL value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:SYMBOL + - ERRORDetector:ALIGNPRIMitive:SYMBOL? + + **Info:** + - ```` is a quoted string representing the symbolic align primitive symbols + such as K28.5. + """ + return self._symbol + + @property + def symbols(self) -> ErrordetectorAlignprimitiveSymbols: + """Return the ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` command. + + **Description:** + - Sets or queries the four align primitive symbols. You can set one or more symbols with + the command, but they must be done in order. The query returns all four symbols. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive:SYMBOLS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNPRIMitive:SYMBOLS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive:SYMBOLS + - ERRORDetector:ALIGNPRIMitive:SYMBOLS? + + **Info:** + - ```` is a quoted string representing one of the four align primitive symbols, + such as 'K28.5'. You can set one or more of the symbols with a single command, but the + symbols must be set in order. + """ + return self._symbols + + +class ErrordetectorAligncharacterSymbol(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:ALIGNCHARacter:SYMBOL`` command. + + **Description:** + - This command sets or queries the symbolic align character value. Reception of the align + character by the instrument aligns the receiver to the 10-bit character boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:SYMBOL?`` + query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNCHARacter:SYMBOL?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNCHARacter:SYMBOL value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:SYMBOL + - ERRORDetector:ALIGNCHARacter:SYMBOL? + + **Info:** + - ```` is a quoted string representing a symbolic character, e.g., 'K28.5'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ErrordetectorAligncharacterPlus(SCPICmdRead): + """The ``ERRORDetector:ALIGNCHARacter:PLUS`` command. + + **Description:** + - This command queries the RD+ align character bit string value. Reception of the align + character by the instrument aligns the receiver to the 10-bit character boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:PLUS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNCHARacter:PLUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:PLUS? + """ + + +class ErrordetectorAligncharacterMinus(SCPICmdRead): + """The ``ERRORDetector:ALIGNCHARacter:MINus`` command. + + **Description:** + - This command queries the RD- align character bit string value. Reception of this character + by the instrument causes the receiver to align to the 10-bit character boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:MINus?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNCHARacter:MINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:MINus? + """ + + +class ErrordetectorAligncharacter(SCPICmdRead): + """The ``ERRORDetector:ALIGNCHARacter`` command. + + **Description:** + - This command queries all of the align character values. Align characters must be defined + for all test types, and those characters must appear in the signal test pattern. The Align + character may be in symbolic or bit string form + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNCHARacter?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter? + + Properties: + - ``.minus``: The ``ERRORDetector:ALIGNCHARacter:MINus`` command. + - ``.plus``: The ``ERRORDetector:ALIGNCHARacter:PLUS`` command. + - ``.symbol``: The ``ERRORDetector:ALIGNCHARacter:SYMBOL`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus = ErrordetectorAligncharacterMinus(device, f"{self._cmd_syntax}:MINus") + self._plus = ErrordetectorAligncharacterPlus(device, f"{self._cmd_syntax}:PLUS") + self._symbol = ErrordetectorAligncharacterSymbol(device, f"{self._cmd_syntax}:SYMBOL") + + @property + def minus(self) -> ErrordetectorAligncharacterMinus: + """Return the ``ERRORDetector:ALIGNCHARacter:MINus`` command. + + **Description:** + - This command queries the RD- align character bit string value. Reception of this + character by the instrument causes the receiver to align to the 10-bit character + boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNCHARacter:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:MINus? + """ + return self._minus + + @property + def plus(self) -> ErrordetectorAligncharacterPlus: + """Return the ``ERRORDetector:ALIGNCHARacter:PLUS`` command. + + **Description:** + - This command queries the RD+ align character bit string value. Reception of the align + character by the instrument aligns the receiver to the 10-bit character boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNCHARacter:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:PLUS? + """ + return self._plus + + @property + def symbol(self) -> ErrordetectorAligncharacterSymbol: + """Return the ``ERRORDetector:ALIGNCHARacter:SYMBOL`` command. + + **Description:** + - This command sets or queries the symbolic align character value. Reception of the + align character by the instrument aligns the receiver to the 10-bit character + boundary. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter:SYMBOL?`` + query. + - Using the ``.verify(value)`` method will send the + ``ERRORDetector:ALIGNCHARacter:SYMBOL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ERRORDetector:ALIGNCHARacter:SYMBOL value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter:SYMBOL + - ERRORDetector:ALIGNCHARacter:SYMBOL? + + **Info:** + - ```` is a quoted string representing a symbolic character, e.g., 'K28.5'. + """ + return self._symbol + + +class ErrordetectorAlert(SCPICmdWrite, SCPICmdRead): + """The ``ERRORDetector:ALERT`` command. + + **Description:** + - This command sets or queries the error detector alert. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALERT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALERT?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:ALERT value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALERT {ON|OFF|} + - ERRORDetector:ALERT? + + **Info:** + - ``ON`` turns on the error detector alert. + - ``OFF`` turns off the error detector alert. + - ```` = 0 disables the alert; any other value enables the alert. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class Errordetector(SCPICmdRead): + """The ``ERRORDetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.alert``: The ``ERRORDetector:ALERT`` command. + - ``.aligncharacter``: The ``ERRORDetector:ALIGNCHARacter`` command. + - ``.alignprimitive``: The ``ERRORDetector:ALIGNPRIMitive`` command. + - ``.bit``: The ``ERRORDetector:BIT`` command tree. + - ``.bitrate``: The ``ERRORDetector:BITRate`` command. + - ``.channel``: The ``ERRORDetector:CHANnel`` command. + - ``.duration``: The ``ERRORDetector:DURATION`` command tree. + - ``.errorlimit``: The ``ERRORDetector:ERRORLIMIT`` command. + - ``.file``: The ``ERRORDetector:FILE`` command tree. + - ``.fontsize``: The ``ERRORDetector:FONTSIze`` command. + - ``.frame``: The ``ERRORDetector:FRAme`` command. + - ``.maxaligns``: The ``ERRORDetector:MAXALIGNS`` command. + - ``.patternname``: The ``ERRORDetector:PATTERNNAME`` command. + - ``.preset``: The ``ERRORDetector:PREset`` command. + - ``.saveimage``: The ``ERRORDetector:SAVEIMAGE`` command. + - ``.savewfm``: The ``ERRORDetector:SAVEWFM`` command. + - ``.scrambled``: The ``ERRORDetector:SCRAMBLED`` command. + - ``.sendemail``: The ``ERRORDetector:SENDEMAIL`` command. + - ``.signaltype``: The ``ERRORDetector:SIGnaltype`` command. + - ``.ssc``: The ``ERRORDetector:SSC`` command. + - ``.standard``: The ``ERRORDetector:STANdard`` command. + - ``.state``: The ``ERRORDetector:STATE`` command. + - ``.status``: The ``ERRORDetector:STATus`` command. + - ``.stopwhen``: The ``ERRORDetector:STOPWHEN`` command. + - ``.symbol``: The ``ERRORDetector:SYMBOL`` command. + - ``.timeformat``: The ``ERRORDetector:TIMEformat`` command. + - ``.type``: The ``ERRORDetector:TYPe`` command. + """ + + def __init__( + self, device: Optional["PIDevice"] = None, cmd_syntax: str = "ERRORDetector" + ) -> None: + super().__init__(device, cmd_syntax) + self._alert = ErrordetectorAlert(device, f"{self._cmd_syntax}:ALERT") + self._aligncharacter = ErrordetectorAligncharacter( + device, f"{self._cmd_syntax}:ALIGNCHARacter" + ) + self._alignprimitive = ErrordetectorAlignprimitive( + device, f"{self._cmd_syntax}:ALIGNPRIMitive" + ) + self._bit = ErrordetectorBit(device, f"{self._cmd_syntax}:BIT") + self._bitrate = ErrordetectorBitrate(device, f"{self._cmd_syntax}:BITRate") + self._channel = ErrordetectorChannel(device, f"{self._cmd_syntax}:CHANnel") + self._duration = ErrordetectorDuration(device, f"{self._cmd_syntax}:DURATION") + self._errorlimit = ErrordetectorErrorlimit(device, f"{self._cmd_syntax}:ERRORLIMIT") + self._file = ErrordetectorFile(device, f"{self._cmd_syntax}:FILE") + self._fontsize = ErrordetectorFontsize(device, f"{self._cmd_syntax}:FONTSIze") + self._frame = ErrordetectorFrame(device, f"{self._cmd_syntax}:FRAme") + self._maxaligns = ErrordetectorMaxaligns(device, f"{self._cmd_syntax}:MAXALIGNS") + self._patternname = ErrordetectorPatternname(device, f"{self._cmd_syntax}:PATTERNNAME") + self._preset = ErrordetectorPreset(device, f"{self._cmd_syntax}:PREset") + self._saveimage = ErrordetectorSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGE") + self._savewfm = ErrordetectorSavewfm(device, f"{self._cmd_syntax}:SAVEWFM") + self._scrambled = ErrordetectorScrambled(device, f"{self._cmd_syntax}:SCRAMBLED") + self._sendemail = ErrordetectorSendemail(device, f"{self._cmd_syntax}:SENDEMAIL") + self._signaltype = ErrordetectorSignaltype(device, f"{self._cmd_syntax}:SIGnaltype") + self._ssc = ErrordetectorSsc(device, f"{self._cmd_syntax}:SSC") + self._standard = ErrordetectorStandard(device, f"{self._cmd_syntax}:STANdard") + self._state = ErrordetectorState(device, f"{self._cmd_syntax}:STATE") + self._status = ErrordetectorStatus(device, f"{self._cmd_syntax}:STATus") + self._stopwhen = ErrordetectorStopwhen(device, f"{self._cmd_syntax}:STOPWHEN") + self._symbol = ErrordetectorSymbol(device, f"{self._cmd_syntax}:SYMBOL") + self._timeformat = ErrordetectorTimeformat(device, f"{self._cmd_syntax}:TIMEformat") + self._type = ErrordetectorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def alert(self) -> ErrordetectorAlert: + """Return the ``ERRORDetector:ALERT`` command. + + **Description:** + - This command sets or queries the error detector alert. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALERT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALERT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:ALERT value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALERT {ON|OFF|} + - ERRORDetector:ALERT? + + **Info:** + - ``ON`` turns on the error detector alert. + - ``OFF`` turns off the error detector alert. + - ```` = 0 disables the alert; any other value enables the alert. + """ + return self._alert + + @property + def aligncharacter(self) -> ErrordetectorAligncharacter: + """Return the ``ERRORDetector:ALIGNCHARacter`` command. + + **Description:** + - This command queries all of the align character values. Align characters must be + defined for all test types, and those characters must appear in the signal test + pattern. The Align character may be in symbolic or bit string form + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNCHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNCHARacter?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNCHARacter? + + Sub-properties: + - ``.minus``: The ``ERRORDetector:ALIGNCHARacter:MINus`` command. + - ``.plus``: The ``ERRORDetector:ALIGNCHARacter:PLUS`` command. + - ``.symbol``: The ``ERRORDetector:ALIGNCHARacter:SYMBOL`` command. + """ + return self._aligncharacter + + @property + def alignprimitive(self) -> ErrordetectorAlignprimitive: + """Return the ``ERRORDetector:ALIGNPRIMitive`` command. + + **Description:** + - This command queries all of the align primitive values, including its state + (ON=1/OFF=0), the length four array of symbolic character values, and the RD+ and RD- + .length four arrays of bit string values. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ALIGNPRIMitive?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ALIGNPRIMitive?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ALIGNPRIMitive? + + Sub-properties: + - ``.minus``: The ``ERRORDetector:ALIGNPRIMitive:MINUS`` command. + - ``.minusx``: The ``ERRORDetector:ALIGNPRIMitive:MINus`` command. + - ``.plus``: The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + - ``.plusx``: The ``ERRORDetector:ALIGNPRIMitive:PLUS`` command. + - ``.state``: The ``ERRORDetector:ALIGNPRIMitive:STATE`` command. + - ``.symbol``: The ``ERRORDetector:ALIGNPRIMitive:SYMBOL`` command. + - ``.symbols``: The ``ERRORDetector:ALIGNPRIMitive:SYMBOLS`` command. + """ + return self._alignprimitive + + @property + def bit(self) -> ErrordetectorBit: + """Return the ``ERRORDetector:BIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BIT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BIT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``ERRORDetector:BIT:LENgth`` command. + - ``.syncpattern``: The ``ERRORDetector:BIT:SYNCPATtern`` command. + - ``.test``: The ``ERRORDetector:BIT:TEST`` command. + """ + return self._bit + + @property + def bitrate(self) -> ErrordetectorBitrate: + """Return the ``ERRORDetector:BITRate`` command. + + **Description:** + - This command sets or queries error detector bitrate enumeration for error detection. + There are two bitrate enumerations for each standard: 1) The standard bitrate, for + example RATE6000 (meaning 6.0Gb/s, for SATA Gen3); and 2) Custom. When Custom is + selected the ``ERRORDetector:BITRATE:VALUE`` must also be set to the specific desired + bitrate. For example, 6.1 Gb/s. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:BITRate {RATEcustom:CUSTOM |RATE312000000:RATE312 |RATE1250000000:RATE1250 |RATE1500000000:RATE1500 |RATE2125000000:RATE2125 |RATE2500000000:RATE2500 |RATE3000000000:RATE3000 |RATE3125000000:RATE3125 |RATE4250000000:RATE4250 |RATE5000000000:RATE5000 |RATE6000000000:RATE6000 |RATE6250000000:RATE6250}DPO70000SX{RATE3200 | RATE3600 | RATE4000 | RATE4400 | RATE4800 | RATE5200 | RATE5600 | RATE6000 | RATE6400 | CUSTOM} + - ERRORDetector:BITRate? + + **Info:** + - ``RATE3200..to..RATE6400`` sets the error detector bit rate to the specified value. + RATE3200 indicates a bitrate of 3.2 Gb/s, etc. + - ``:ERRORDETECTOR:BITRATE:VALUE`` command. + + Sub-properties: + - ``.value``: The ``ERRORDetector:BITRate:VALue`` command. + """ # noqa: E501 + return self._bitrate + + @property + def channel(self) -> ErrordetectorChannel: + """Return the ``ERRORDetector:CHANnel`` command. + + **Description:** + - Sets or queries error detector channel selection. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:CHANnel?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:CHANnel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:CHANnel value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:CHANnel {CH1 | CH2 | CH3 | CH4} + - ERRORDetector:CHANnel? + + **Info:** + - ``CHx`` is the error detector channel selection. + """ + return self._channel + + @property + def duration(self) -> ErrordetectorDuration: + """Return the ``ERRORDetector:DURATION`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:DURATION?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:DURATION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.count``: The ``ERRORDetector:DURATION:COUNt`` command. + - ``.seconds``: The ``ERRORDetector:DURATION:SECOnds`` command. + - ``.time``: The ``ERRORDetector:DURATION:TIME`` command. + """ + return self._duration + + @property + def errorlimit(self) -> ErrordetectorErrorlimit: + """Return the ``ERRORDetector:ERRORLIMIT`` command. + + **Description:** + - This command sets or queries the error limit value to use when STOPWHEN is ERROR. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:ERRORLIMIT?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:ERRORLIMIT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:ERRORLIMIT value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:ERRORLIMIT + - ERRORDetector:ERRORLIMIT? + + **Info:** + - ```` is the maximum number of errors. + """ + return self._errorlimit + + @property + def file(self) -> ErrordetectorFile: + """Return the ``ERRORDetector:FILE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FILE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FILE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.recall``: The ``ERRORDetector:FILE:RECAll`` command. + - ``.save``: The ``ERRORDetector:FILE:SAVe`` command. + """ + return self._file + + @property + def fontsize(self) -> ErrordetectorFontsize: + """Return the ``ERRORDetector:FONTSIze`` command. + + **Description:** + - Sets or queries error detector font size selection. Currently, the font size only + applied the error detector UI control window. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FONTSIze?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FONTSIze?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:FONTSIze value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FONTSIze {DEFAULT | LARGE | XLARGE} + - ERRORDetector:FONTSIze? + + **Info:** + - ``DEFAULT`` sets the font size to the default size. + - ``LARGE`` sets the font size to large. + - ``XLARGE`` sets the font size to extra large. + """ + return self._fontsize + + @property + def frame(self) -> ErrordetectorFrame: + """Return the ``ERRORDetector:FRAme`` command. + + **Description:** + - This command queries all frame error settings, status, and results. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:FRAme?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:FRAme?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:FRAme? + + Sub-properties: + - ``.eof``: The ``ERRORDetector:FRAme:EOF`` command. + - ``.initialcrcvalue``: The ``ERRORDetector:FRAme:INITIALCRCVALue`` command. + - ``.sof``: The ``ERRORDetector:FRAme:SOF`` command. + - ``.test``: The ``ERRORDetector:FRAme:TEST`` command. + """ + return self._frame + + @property + def maxaligns(self) -> ErrordetectorMaxaligns: + """Return the ``ERRORDetector:MAXALIGNS`` command. + + **Description:** + - This command sets or queries the maximum consecutive align primitives before a + ``MAX_AP_FAIL`` error is reported. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:MAXALIGNS?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:MAXALIGNS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:MAXALIGNS value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:MAXALIGNS + - ERRORDetector:MAXALIGNS? + + **Info:** + - ```` is a integer. The limit values are 0 to 63 and the default is 8. + """ + return self._maxaligns + + @property + def patternname(self) -> ErrordetectorPatternname: + """Return the ``ERRORDetector:PATTERNNAME`` command. + + **Description:** + - This command sets or queries the pattern name stored in the setup file. Setting this + name has no functional effect on the instrument, but it is a convenient reminder to + users as to which setup is in effect. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:PATTERNNAME?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:PATTERNNAME?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:PATTERNNAME value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PATTERNNAME + - ERRORDetector:PATTERNNAME? + + **Info:** + - ```` is a quoted string representing a pattern name. + """ + return self._patternname + + @property + def preset(self) -> ErrordetectorPreset: + """Return the ``ERRORDetector:PREset`` command. + + **Description:** + - This command sets or queries error detector font preset selection. A number of preset + setups are selected by this parameter to cover the more common cases. The preset names + attempt to indicate the standard, signal pattern, and test type employed. The bit rate + appropriate for the standard is used. The text files containing the preset setups are + located in the C:UsersPublicTektronixTekScopeErrorDetector directory in Windows. You + may select CUSTOM as a preset value, and save or recall your own custom setups. You + may want to recall one of the standard preset setups, modify some of the parameters, + and then save it as a custom setup for recall at a later time. This same behavior is + supported on the error detector User Interface. he ``SATA3_FRAME`` preset expects the + SATA3 Compliance Pattern. ``USB3_SYMBOL`` preset expects the USB3 standard ``CP0_SKP`` + signal. You can set a PATTERNNAME for each setup. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:PREset value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:PREset {SATA1_CJTPAT_BIT | SATA2_CJTPAT_BIT | SATA3_CJTPAT_BIT | SATA3_FRAME | SATA3_CHAR | SATA3_HFTP_BIT | SATA3_LBP_BIT | SATA3_LFTP_BIT | SATA3_MFTP_BIT | USB3_SYMBOL | USB3_CHAR | PCIE1_COMP_BIT | PCIE2_COMP_BIT | ANY_CJTPAT_BIT | ANY_CJTPAT_CHAR | CUSTOM}DPO70000SX{CUSTOM_SETUP | PRBS7_BIT_ERROR | PRBS9_BIT_ERROR | PRBS11_BIT_ERROR | PRBS16_BIT_ERROR | PRBS23_BIT_ERROR} + + Sub-properties: + - ``.apply``: The ``ERRORDetector:PREset:APPLY`` command. + """ # noqa: E501 + return self._preset + + @property + def saveimage(self) -> ErrordetectorSaveimage: + """Return the ``ERRORDetector:SAVEIMAGE`` command. + + **Description:** + - Sets or queries error detector Save Image control. When set to ON, a screen shot will + be made when the error detector detects an error (because detecting an error triggers + the scope). The images are saved in the C:Users + TektronixTekScopeSaveOnTrigger directory. A default limit of 10 screen shots prevents + overflowing your disk drive should the error detector sense massive errors, such as + when you disconnect the signal. If you also set the SendEmail parameter to ON, the + saved image (screen shot) will be emailed to the recipient (set elsewhere in the + trigger PI). SaveImage is an alternate way of setting the Save on Trigger actions + defined elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SAVEIMAGE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SAVEIMAGE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SAVEIMAGE value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SAVEIMAGE {OFF | ON} + - ERRORDetector:SAVEIMAGE? + """ + return self._saveimage + + @property + def savewfm(self) -> ErrordetectorSavewfm: + """Return the ``ERRORDetector:SAVEWFM`` command. + + **Description:** + - This command sets or queries error detector Save Waveform (WFM) control. When set to + ON, a waveform object will be made when the error detector detects an error (because + detecting an error triggers the instrument). The waveforms are saved in the + C:UsersTektronixTekScopeSaveOnTrigger directory. A default limit of 10 + screen shots prevents overflowing your disk drive should the error detector sense + massive errors, such as when you disconnect the signal. If you also set the SendEmail + parameter to ON, the saved waveform (wfm object) is emailed to the recipient (set + elsewhere in the trigger PI) as an attachedment. SaveImage is an alternate way of + setting the Save on Trigger actions defined elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SAVEWFM?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SAVEWFM?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SAVEWFM value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SAVEWFM {OFF | ON} + - ERRORDetector:SAVEWFM? + + **Info:** + - ``OFF`` turns off the error detector save waveform feature. + - ``ON`` turns on the error detector save waveform feature. + """ + return self._savewfm + + @property + def scrambled(self) -> ErrordetectorScrambled: + """Return the ``ERRORDetector:SCRAMBLED`` command. + + **Description:** + - This command sets or queries the status of the error detection data scrambling option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SCRAMBLED?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SCRAMBLED?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SCRAMBLED value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SCRAMBLED {ON | OFF} + - ERRORDetector:SCRAMBLED? + + **Info:** + - ``ON`` enables the error detection data scrambling option. This is the default option. + - ``OFF`` disables the error detection data scrambling option. + """ + return self._scrambled + + @property + def sendemail(self) -> ErrordetectorSendemail: + """Return the ``ERRORDetector:SENDEMAIL`` command. + + **Description:** + - This command sets or queries error detector Send Email control. When set to ON, a + email will be sent to the recipient, defined elsewhere in the PI, when the error + detector detects an error (because detecting an error triggers the instrument). The + default number of emails sent is 1, so that you do not overflow your inbox. If you + also set the SaveImage or SaveWfm parameters to ON, the email will contain these + items. Send Email is an alternate way of setting the E-mail on Trigger actions defined + elsewhere in the PI. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SENDEMAIL?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SENDEMAIL?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SENDEMAIL value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SENDEMAIL {OFF | ON} + - ERRORDetector:SENDEMAIL? + + **Info:** + - ``OFF`` disables the send email feature. + - ``ON`` enables the send email feature. + """ + return self._sendemail + + @property + def signaltype(self) -> ErrordetectorSignaltype: + """Return the ``ERRORDetector:SIGnaltype`` command. + + **Description:** + - This command sets or queries error detector Signal Type control. Setting the signal + type establishes the bit rate appropriate for the standard, as well as establishing + the testing algorithm. Custom bit rates may be used as well. See the + ``ERRORDetector:BITRATE`` and ``ERRORDetector:BITRATE:VALue`` commands. + + **Usage:** + - Using the ``.write(value)`` method will send the ``ERRORDetector:SIGnaltype value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SIGnaltype {SATAGEN| USB3|PCIEGEN|ANY8B10B|PRBS7|PRBS9}?DPO70000SX{CUSTOM | PRBS7 | PRBS9 | PRBS11 | PRBS16 |PRBS23} + + **Info:** + - ``The DPO70000SX only supports PRBS7, PRBS9, PRBS11, PRBS16, PRBS23, and CUSTOM.`` + """ # noqa: E501 + return self._signaltype + + @property + def ssc(self) -> ErrordetectorSsc: + """Return the ``ERRORDetector:SSC`` command. + + **Description:** + - This command sets or queries the status of the spread spectrum clock tracking option. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SSC?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SSC?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:SSC value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SSC {ON|OFF} + - ERRORDetector:SSC? + + **Info:** + - ``ON`` enables spread spectrum clock tracking. For error detector, the spread spectrum + clock tracking should always be turned on. + - ``OFF`` disables spread spectrum clock tracking. For serial trigger, the spread + spectrum clock tracking is turned off. + """ + return self._ssc + + @property + def standard(self) -> ErrordetectorStandard: + """Return the ``ERRORDetector:STANdard`` command. + + **Description:** + - This command sets or queries the standard selection for error testing. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STANdard?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STANdard + - ERRORDetector:STANdard? + + **Info:** + - ```` is the supported standard. + """ + return self._standard + + @property + def state(self) -> ErrordetectorState: + """Return the ``ERRORDetector:STATE`` command. + + **Description:** + - This command sets or queries the status of the error option. STATE must be ON to use + the error detector feature. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STATE value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STATE {| OFF | ON}?DPO70000SX{OFF | ON} + - ERRORDetector:STATE? + + **Info:** + - ``ON`` enables the software error detector feature. + - ``OFF`` disables the software error detector feature. This is the default. + - ```` = 0 disables the error detector; any other value enables the error detector. + """ + return self._state + + @property + def status(self) -> ErrordetectorStatus: + """Return the ``ERRORDetector:STATus`` command. + + **Description:** + - Queries only the 'most significant' or 'summary' status of the error detector. All of + the status flags for each test type may be obtained from the + ``ERRORdetector::TEST:STATUS`` commands. LOCK refers to the recovered clock. + Signal refers to the cable carrying the signal to the scope. SYNC refers to bit error + tests that require a sync pattern. STOPPED/COUNTING refer to whether the error + detector is testing for errors. ``MAX_AP`` refers to whether the error detector has + detected the maximum consecutive Align (or SkipSets) Primitives as specified in the + ERRORDetector: MAXALIGNS command + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STATus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STATus? + """ + return self._status + + @property + def stopwhen(self) -> ErrordetectorStopwhen: + """Return the ``ERRORDetector:STOPWHEN`` command. + + **Description:** + - This command sets or queries the stopping condition. The test can be stopped when the + count, time, or number of errors elapses. If the STOPWHEN value is MANUAL, the test + runs until a TEST STOP command is received. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:STOPWHEN?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:STOPWHEN?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:STOPWHEN value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:STOPWHEN DPO70000SX + - ERRORDetector:STOPWHEN? + + **Info:** + - ``MANUAL`` indicates that the test must be stopped by issuing a TEST STOP command. + This is the default. + - ``COUNT`` stops the test when ``DURATION:COUNT`` comparisons are made. The comparisons + can be bit, frame, symbol, or character as appropriate for the ``TEST:TYPE``. + - ``TIME`` stops the test when ``DURATION:TIME`` elapses. + - ``ERROR`` stops the test when the number of errors ≥ ERRORLIMIT. + """ + return self._stopwhen + + @property + def symbol(self) -> ErrordetectorSymbol: + """Return the ``ERRORDetector:SYMBOL`` command. + + **Description:** + - This command queries all symbol error settings, status, and results. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:SYMBOL?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:SYMBOL?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ERRORDetector:SYMBOL? + + Sub-properties: + - ``.test``: The ``ERRORDetector:SYMBOL:TEST`` command. + """ + return self._symbol + + @property + def timeformat(self) -> ErrordetectorTimeformat: + """Return the ``ERRORDetector:TIMEformat`` command. + + **Description:** + - This command sets or queries error detector Elapsed Time Format as DDHHMMSS or + Seconds. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:TIMEformat?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:TIMEformat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:TIMEformat value`` + command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:TIMEformat {DDHHMMSS | SECONDS} + - ERRORDetector:TIMEformat? + """ + return self._timeformat + + @property + def type(self) -> ErrordetectorType: + """Return the ``ERRORDetector:TYPe`` command. + + **Description:** + - This command sets or queries the error detector type. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ERRORDetector:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - ERRORDetector:TYPe {BIT | FRAME | SYMBOL | CHARACTER | PRBS7 | PRBS9} + - ERRORDetector:TYPe? + + **Info:** + - ``BIT`` sets the error detector type to bit. + - ``FRAME`` sets the error detector type to frame. + - ``SYMBOL`` sets the error detector type to symbol. + - ``CHARACTER`` sets the error detector type to character. + - ``PRBS7`` sets the error detector type to PRBS7. + - ``PRBS9`` sets the error detector type to PRBS9. + """ + return self._type diff --git a/src/tm_devices/commands/_fn2qbf_msodpo/trigger.py b/src/tm_devices/commands/_fn2qbf_msodpo/trigger.py new file mode 100644 index 00000000..44e0ef92 --- /dev/null +++ b/src/tm_devices/commands/_fn2qbf_msodpo/trigger.py @@ -0,0 +1,36710 @@ +# pylint: disable=too-many-lines +# pylint: disable=line-too-long +r"""The trigger commands module. + +These commands are used in the following models: +DPO5K, DPO7K, MSO5K + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + +:: + + - TRIGger FORCe + - TRIGger:A SETLevel + - TRIGger:A:BUS:CAN:ADDRess:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:ADDRess:DIRection? + - TRIGger:A:BUS:CAN:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:ADDRess:FORMat? + - TRIGger:A:BUS:CAN:ADDRess:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:ADDRess:MODe? + - TRIGger:A:BUS:CAN:ADDRess:VALue + - TRIGger:A:BUS:CAN:ADDRess:VALue? + - TRIGger:A:BUS:CAN:CONDition {ERRor|DATA|IDANDDATA|EOF|IDentifier|ACKMISS|SOF|FRAMEtype} + - TRIGger:A:BUS:CAN:CONDition? + - TRIGger:A:BUS:CAN:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:DATa:DIRection? + - TRIGger:A:BUS:CAN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:DATa:FORMat? + - TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:CAN:DATa:QUALifier? + - TRIGger:A:BUS:CAN:DATa:SIZe + - TRIGger:A:BUS:CAN:DATa:SIZe? + - TRIGger:A:BUS:CAN:DATa:VALue + - TRIGger:A:BUS:CAN:DATa:VALue? + - TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - TRIGger:A:BUS:CAN:FRAMEtype? + - TRIGger:A:BUS:CAN:IDentifier:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:IDentifier:DIRection? + - TRIGger:A:BUS:CAN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:IDentifier:FORMat? + - TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:IDentifier:MODe? + - TRIGger:A:BUS:CAN:IDentifier:VALue + - TRIGger:A:BUS:CAN:IDentifier:VALue? + - TRIGger:A:BUS:DATa:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:DATa:FORMat? + - TRIGger:A:BUS:DATa:VALue + - TRIGger:A:BUS:DATa:VALue? + - TRIGger:A:BUS:ETHERnet:DATa:FORMat {BINARY | HEX} + - TRIGger:A:BUS:ETHERnet:DATa:FORMat? + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + - TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEtype|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - TRIGger:A:BUS:FLEXRAY:CONDition? + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat? + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat? + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + - TRIGger:A:BUS:FLEXRAY:DATa:VALue + - TRIGger:A:BUS:FLEXRAY:DATa:VALue? + - TRIGger:A:BUS:FLEXRAY:EOFTYPE {ALL|STATIC|DYNAMIC} + - TRIGger:A:BUS:FLEXRAY:EOFTYPE? + - TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHEADer|CRCTRAILer|NULLFRSTATIC|NULLFRDYNAMIC |SYNCFRAME|STARTUPNOSYNC} + - TRIGger:A:BUS:FLEXRAY:ERRTYPE? + - TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - TRIGger:A:BUS:FLEXRAY:FRAMEType? + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat? + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier? + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue? + - TRIGger:A:BUS:I2C:ADDress:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:ADDress:FORMat? + - TRIGger:A:BUS:I2C:ADDress:MODe {ADDR7|ADDR10} + - TRIGger:A:BUS:I2C:ADDress:MODe? + - TRIGger:A:BUS:I2C:ADDress:TYPe {NONe|STARtbyte|HSMODe|GENeralcall|EEPROm|CBUS} + - TRIGger:A:BUS:I2C:ADDress:TYPe? + - TRIGger:A:BUS:I2C:ADDress:VALue + - TRIGger:A:BUS:I2C:ADDress:VALue? + - TRIGger:A:BUS:I2C:CONDition {ACKMISS|ADDress|ADDRANDDATA|DATa|REPEATstart|STARt|STOP} + - TRIGger:A:BUS:I2C:CONDition? + - TRIGger:A:BUS:I2C:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:I2C:DATa:DIRection? + - TRIGger:A:BUS:I2C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:DATa:FORMat? + - TRIGger:A:BUS:I2C:DATa:SIZe + - TRIGger:A:BUS:I2C:DATa:SIZe? + - TRIGger:A:BUS:I2C:DATa:VALue + - TRIGger:A:BUS:I2C:DATa:VALue? + - TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNC|WAKEup} + - TRIGger:A:BUS:LIN:CONDition? + - TRIGger:A:BUS:LIN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:DATa:FORMat? + - TRIGger:A:BUS:LIN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:LIN:DATa:QUALifier? + - TRIGger:A:BUS:LIN:DATa:SIZe + - TRIGger:A:BUS:LIN:DATa:SIZe? + - TRIGger:A:BUS:LIN:DATa:VALue + - TRIGger:A:BUS:LIN:DATa:VALue? + - TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - TRIGger:A:BUS:LIN:ERRTYPE? + - TRIGger:A:BUS:LIN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:IDentifier:FORMat? + - TRIGger:A:BUS:LIN:IDentifier:VALue + - TRIGger:A:BUS:LIN:IDentifier:VALue? + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat? + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat? + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity {0|1|X|ZERo|ONE|NOCARE|OFF|ON|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat? + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + - TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATUS|DATA|TIMe|ERRor} + - TRIGger:A:BUS:MIL1553B:CONDition? + - TRIGger:A:BUS:MIL1553B:DATA:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:DATA:FORMat? + - TRIGger:A:BUS:MIL1553B:DATA:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:DATA:PARity? + - TRIGger:A:BUS:MIL1553B:DATA:VALue + - TRIGger:A:BUS:MIL1553B:DATA:VALue? + - TRIGger:A:BUS:MIL1553B:ERRTYPE {PARity|SYNC|MANCHester|DATA} + - TRIGger:A:BUS:MIL1553B:ERRTYPE? + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat? + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier? + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|ON|OFF} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF? + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF? + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit? + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit? + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier {LESSthan|MOREthan|INrange|OUTrange} + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier? + - TRIGger:A:BUS:PCIE:CHARacter:CHAR + - TRIGger:A:BUS:PCIE:CHARacter:CHAR? + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus? + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS? + - TRIGger:A:BUS:PCIE:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:PCIE:CONDition? + - TRIGger:A:BUS:PCIE:DISParity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:BUS:PCIE:DISParity? + - TRIGger:A:BUS:PCIE:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:PCIE:ERROR? + - TRIGger:A:BUS:PCIE:FORMat {ORDERedset|SYMbol|CHAR} + - TRIGger:A:BUS:PCIE:FORMat? + - TRIGger:A:BUS:PCIE:PATtern:CHAR + - TRIGger:A:BUS:PCIE:PATtern:CHAR? + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset {EI|FTS|SKP} + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset? + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus? + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS? + - TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - TRIGger:A:BUS:RS232C:CONDition? + - TRIGger:A:BUS:RS232C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:RS232C:DATa:FORMat? + - TRIGger:A:BUS:RS232C:DATa:SIZe + - TRIGger:A:BUS:RS232C:DATa:SIZe? + - TRIGger:A:BUS:RS232C:DATa:VALue + - TRIGger:A:BUS:RS232C:DATa:VALue? + - TRIGger:A:BUS:S64B66B:BLOCKONE { SYNC | INVSYNC | BLOCKtype | PATtern } + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType { NONe | X1E | X2D | X33 | X66 | X55 | X78 | X4B | X87 | X99 | XB4 | XCC | XD2 | XE1 | XFF } + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType? + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat? + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC? + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue? + - TRIGger:A:BUS:S64B66B:BLOCKONE? + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat? + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC? + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue? + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC? + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue? + - TRIGger:A:BUS:S64B66B:CONDition { BLOCK | BLOCK1THEN2 } + - TRIGger:A:BUS:S64B66B:CONDition? + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR? + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus? + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS? + - TRIGger:A:BUS:S8B10B:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:S8B10B:CONDition? + - TRIGger:A:BUS:S8B10B:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:S8B10B:DISParity? + - TRIGger:A:BUS:S8B10B:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:S8B10B:ERROR? + - TRIGger:A:BUS:S8B10B:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:S8B10B:FORMat? + - TRIGger:A:BUS:S8B10B:PATtern:CHAR + - TRIGger:A:BUS:S8B10B:PATtern:CHAR? + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus? + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS? + - TRIGger:A:BUS:SOUrce {B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12| B13|B14|B15|B16} + - TRIGger:A:BUS:SOUrce? + - TRIGger:A:BUS:SPI:CONDition {DATA|SS} + - TRIGger:A:BUS:SPI:CONDition? + - TRIGger:A:BUS:SPI:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:SPI:DATa:FORMat? + - TRIGger:A:BUS:SPI:DATa:SIZe + - TRIGger:A:BUS:SPI:DATa:SIZe? + - TRIGger:A:BUS:SPI:DATa:VALue + - TRIGger:A:BUS:SPI:DATa:VALue? + - TRIGger:A:BUS:USB:ADDress:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:ADDress:FORMat? + - TRIGger:A:BUS:USB:ADDress:HIVALue + - TRIGger:A:BUS:USB:ADDress:HIVALue? + - TRIGger:A:BUS:USB:ADDress:VALue + - TRIGger:A:BUS:USB:ADDress:VALue? + - TRIGger:A:BUS:USB:CHARacter:CHAR + - TRIGger:A:BUS:USB:CHARacter:CHAR? + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus? + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS? + - TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERROR|HANDSHAKEPacket|RESET|RESUME| SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - TRIGger:A:BUS:USB:CONDition? + - TRIGger:A:BUS:USB:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:DATa:FORMat? + - TRIGger:A:BUS:USB:DATa:HIVALue + - TRIGger:A:BUS:USB:DATa:HIVALue? + - TRIGger:A:BUS:USB:DATa:OFFSet {|DONTCare} + - TRIGger:A:BUS:USB:DATa:OFFSet? + - TRIGger:A:BUS:USB:DATa:SIZe + - TRIGger:A:BUS:USB:DATa:SIZe? + - TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - TRIGger:A:BUS:USB:DATa:TYPe? + - TRIGger:A:BUS:USB:DATa:VALue + - TRIGger:A:BUS:USB:DATa:VALue? + - TRIGger:A:BUS:USB:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:USB:DISParity? + - TRIGger:A:BUS:USB:ENDPoint:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:ENDPoint:FORMat? + - TRIGger:A:BUS:USB:ENDPoint:HIVALue + - TRIGger:A:BUS:USB:ENDPoint:HIVALue? + - TRIGger:A:BUS:USB:ENDPoint:VALue + - TRIGger:A:BUS:USB:ENDPoint:VALue? + - TRIGger:A:BUS:USB:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:USB:ERROR? + - TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - TRIGger:A:BUS:USB:ERRTYPE? + - TRIGger:A:BUS:USB:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:USB:FORMat? + - TRIGger:A:BUS:USB:HANDShaketype {ACK|ANY|NAK|NYET|STALL} + - TRIGger:A:BUS:USB:HANDShaketype? + - TRIGger:A:BUS:USB:PATtern:CHAR + - TRIGger:A:BUS:USB:PATtern:CHAR? + - TRIGger:A:BUS:USB:PATtern:NUMSymbols + - TRIGger:A:BUS:USB:PATtern:NUMSymbols? + - TRIGger:A:BUS:USB:PATtern:ORDERedset {OFF|ON|0|1} + - TRIGger:A:BUS:USB:PATtern:ORDERedset? + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus? + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS? + - TRIGger:A:BUS:USB:QUAlifier {EQUal|INrange|LESSEQual|MOREEQual|OUTrange|UNEQual| LESSThan|MOREThan} + - TRIGger:A:BUS:USB:QUAlifier? + - TRIGger:A:BUS:USB:SOF:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:SOF:FORMat? + - TRIGger:A:BUS:USB:SOF:FRAMENUMber + - TRIGger:A:BUS:USB:SOF:FRAMENUMber? + - TRIGger:A:BUS:USB:SPECIALType {ANY|ERR|PING|PRE|RESERVED|SPLIT} + - TRIGger:A:BUS:USB:SPECIALType? + - TRIGger:A:BUS:USB:SPLIT:ET:VALue {DONTcare|CONTRol|ISOchronous|BULK|INTERRUPT} + - TRIGger:A:BUS:USB:SPLIT:ET:VALue? + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat? + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat? + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + - TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|SSPLIT|DONTcare} + - TRIGger:A:BUS:USB:SPLIT:SC:VALue? + - TRIGger:A:BUS:USB:SPLIT:SE:VALue {DONTCare|FULLSPeed|LOWSPeed|ISOMID|ISOEND|ISOSTART|ISOALL} + - TRIGger:A:BUS:USB:SPLIT:SE:VALue? + - TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SOF|SETUP} + - TRIGger:A:BUS:USB:TOKENType? + - TRIGger:A:CAN:CONDition {SOF|FRAMEtype|IDENTifier|DATA|IDANDDATA|EOF|ACKMISS} + - TRIGger:A:CAN:CONDition? + - TRIGger:A:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - TRIGger:A:CAN:DATa:DIRection? + - TRIGger:A:CAN:DATa:LEVel + - TRIGger:A:CAN:DATa:LEVel? + - TRIGger:A:CAN:DATa:SOUrce CH + - TRIGger:A:CAN:DATa:SOUrce? + - TRIGger:A:CAN:DATa:VALue + - TRIGger:A:CAN:DATa:VALue? + - TRIGger:A:CAN:FORMat {BINary|HEX} + - TRIGger:A:CAN:FORMat? + - TRIGger:A:CAN:FRAMEtype {DATA|REMote|ERROR|OVERLOAD} + - TRIGger:A:CAN:FRAMEtype? + - TRIGger:A:CAN:IDENTifier:MODe {STANdard|EXTENded} + - TRIGger:A:CAN:IDENTifier:MODe? + - TRIGger:A:CAN:IDENTifier:VALue + - TRIGger:A:CAN:IDENTifier:VALue? + - TRIGger:A:CAN:PROBE {CANL|CANH|DIFFerential|TX|RX} + - TRIGger:A:CAN:PROBE? + - TRIGger:A:CAN:SPEed + - TRIGger:A:CAN:SPEed? + - TRIGger:A:COMMunication:AMI:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:AMI:PULSEForm? + - TRIGger:A:COMMunication:AMI:THReshold:HIGH + - TRIGger:A:COMMunication:AMI:THReshold:HIGH? + - TRIGger:A:COMMunication:AMI:THReshold:LOW + - TRIGger:A:COMMunication:AMI:THReshold:LOW? + - TRIGger:A:COMMunication:B3ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B3ZS:PULSEForm? + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH? + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW? + - TRIGger:A:COMMunication:B6ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B6ZS:PULSEForm? + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH? + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW? + - TRIGger:A:COMMunication:B8ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B8ZS:PULSEForm? + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH? + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW? + - TRIGger:A:COMMunication:BITRate + - TRIGger:A:COMMunication:BITRate? + - TRIGger:A:COMMunication:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:COMMunication:CLOCk:POLarity? + - TRIGger:A:COMMunication:CMI:PULSEForm {PLUSOne|MINUSOne|ZERO|EYEdiagram} + - TRIGger:A:COMMunication:CMI:PULSEForm? + - TRIGger:A:COMMunication:CODe {AMI|HDB3|B3ZS|B6ZS|B8ZS|CMI|NRZ|MLT3|MANChester} + - TRIGger:A:COMMunication:CODe? + - TRIGger:A:COMMunication:HDB3:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:HDB3:PULSEForm? + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH? + - TRIGger:A:COMMunication:HDB3:THReshold:LOW + - TRIGger:A:COMMunication:HDB3:THReshold:LOW? + - TRIGger:A:COMMunication:SOUrce {CH} + - TRIGger:A:COMMunication:SOUrce:TYPe {DATa|CLOCk|RECOVered} + - TRIGger:A:COMMunication:SOUrce:TYPe? + - TRIGger:A:COMMunication:SOUrce? + - TRIGger:A:COMMunication:STANdard {ATAG|CLOCKCoax| CLOCKSymmetrical|Custom|D|DS0Contra| DS0Double| DS0Single|DS0Timing|DS1|DS1A| DS1C|DS2| DS2RATECoax|DS2RATESymmetrical| DS3|DS4NA|E1|E2|E3|E4|ENET100|ENET1250| ENETXAUI| FC133|FC266|FC531|FC1063|FC2125|FC4250| FST|FW1394BS400B|FW1394BS1600B|HST|INF2_5G| OC1|OC3| OC12|OC48|OC48_FEC|PCIEXPRESS|RATE32Mbit| RATE97Mbit|RIO_500M|RIO_750M| RIO_1G|RIO_2G|RIO_1_5G|RIO_SERIAL_1G| RIO_SERIAL_2G|RIO_SERIAL_3G|SAS1_5|SAS3_?| SFI5_2|SFI5_3|STM0_CMI|STM0_HDBX|STM1E|STS1| STS3| TFI5_2|TFI5_3|VIDEO270|VIDEO292M|VIDEO360|VSROC192} + - TRIGger:A:COMMunication:STANdard? + - TRIGger:A:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:A:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling:CH? + - TRIGger:A:EDGE:COUPling? + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + - TRIGger:A:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:A:EDGE:SOUrce? + - TRIGger:A:EDGE? + - TRIGger:A:HOLDoff:ACTUal? + - TRIGger:A:HOLDoff:BY {TIMe|DEFAult|RANDom|AUTO} + - TRIGger:A:HOLDoff:BY? + - TRIGger:A:HOLDoff:TIMe + - TRIGger:A:HOLDoff:TIMe? + - TRIGger:A:HOLDoff? + - TRIGger:A:I2C:ADDRess:RWINClude {OFF|ON} + - TRIGger:A:I2C:ADDRess:RWINClude? + - TRIGger:A:LEVel {ECL|TTL|} + - TRIGger:A:LEVel:CH {ECL|TTL|} + - TRIGger:A:LEVel:CH? + - TRIGger:A:LEVel? + - TRIGger:A:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:A:LOGIc:CLAss? + - TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:A:LOGIc:FUNCtion? + - TRIGger:A:LOGIc:INPut:ALL + - TRIGger:A:LOGIc:INPut:ALL? + - TRIGger:A:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:INPut:CH? + - TRIGger:A:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:A:LOGIc:INPut:FORMat? + - TRIGger:A:LOGIc:INPut? + - TRIGger:A:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:PATtern:INPut:CH? + - TRIGger:A:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit? + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit? + - TRIGger:A:LOGIc:PATtern:WHEn? + - TRIGger:A:LOGIc:PATtern? + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE? + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel? + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce? + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH? + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold? + - TRIGger:A:LOGIc:SETHold:CLOCk? + - TRIGger:A:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:LEVel? + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce? + - TRIGger:A:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH? + - TRIGger:A:LOGIc:SETHold:DATa:THReshold? + - TRIGger:A:LOGIc:SETHold:DATa? + - TRIGger:A:LOGIc:SETHold:HOLDTime + - TRIGger:A:LOGIc:SETHold:HOLDTime? + - TRIGger:A:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:LOGIc:SETHold:QUAlify? + - TRIGger:A:LOGIc:SETHold:SETTime + - TRIGger:A:LOGIc:SETHold:SETTime? + - TRIGger:A:LOGIc:SETHold? + - TRIGger:A:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:A:LOGIc:STATE:INPut:CH? + - TRIGger:A:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:A:LOGIc:STATE:WHEn? + - TRIGger:A:LOGIc:STATE? + - TRIGger:A:LOGIc:THReshold:CH + - TRIGger:A:LOGIc:THReshold:CH? + - TRIGger:A:LOGIc:THReshold? + - TRIGger:A:LOGIc? + - TRIGger:A:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:A:LOWerthreshold:CH? + - TRIGger:A:MODe {AUTO|NORMal} + - TRIGger:A:MODe? + - TRIGger:A:PLOCK:COUNT + - TRIGger:A:PLOCK:COUNT? + - TRIGger:A:PLOCK:LENGTH + - TRIGger:A:PLOCK:LENGTH? + - TRIGger:A:PLOCK:SOURCE CH + - TRIGger:A:PLOCK:SOURCE? + - TRIGger:A:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:A:PULse:CLAss? + - TRIGger:A:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:A:PULse:GLItch:FILTer? + - TRIGger:A:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:GLItch:LOWPASSfilter? + - TRIGger:A:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:GLItch:POLarity:CH? + - TRIGger:A:PULse:GLItch:POLarity? + - TRIGger:A:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:GLItch:QUAlify? + - TRIGger:A:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:A:PULse:GLItch:TRIGIF? + - TRIGger:A:PULse:GLItch:WIDth + - TRIGger:A:PULse:GLItch:WIDth? + - TRIGger:A:PULse:GLItch? + - TRIGger:A:PULse:PERiod:HIGHLimit + - TRIGger:A:PULse:PERiod:HIGHLimit? + - TRIGger:A:PULse:PERiod:LOWLimit + - TRIGger:A:PULse:PERiod:LOWLimit? + - TRIGger:A:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:PERiod:POLarity? + - TRIGger:A:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:A:PULse:PERiod:QUAlify? + - TRIGger:A:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:A:PULse:PERiod:VIEW? + - TRIGger:A:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:A:PULse:PERiod:WHEn? + - TRIGger:A:PULse:PERiod? + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH {HIGH|LOW|X} + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH? + - TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT? + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH? + - TRIGger:A:PULse:RUNT:LOGIc? + - TRIGger:A:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:RUNT:POLarity:CH? + - TRIGger:A:PULse:RUNT:POLarity? + - TRIGger:A:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:RUNT:QUAlify? + - TRIGger:A:PULse:RUNT:THReshold:BOTh {TTL|ECL} + - TRIGger:A:PULse:RUNT:THReshold:HIGH + - TRIGger:A:PULse:RUNT:THReshold:HIGH? + - TRIGger:A:PULse:RUNT:THReshold:LOW + - TRIGger:A:PULse:RUNT:THReshold:LOW? + - TRIGger:A:PULse:RUNT:THReshold? + - TRIGger:A:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:A:PULse:RUNT:WHEn? + - TRIGger:A:PULse:RUNT:WIDth + - TRIGger:A:PULse:RUNT:WIDth? + - TRIGger:A:PULse:SOUrce {CH|D|MCH} + - TRIGger:A:PULse:SOUrce? + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter? + - TRIGger:A:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity:CH? + - TRIGger:A:PULse:TIMEOut:POLarity? + - TRIGger:A:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TIMEOut:QUAlify? + - TRIGger:A:PULse:TIMEOut:TIMe + - TRIGger:A:PULse:TIMEOut:TIMe? + - TRIGger:A:PULse:TIMEOut? + - TRIGger:A:PULse:TRANsition:DELTATime + - TRIGger:A:PULse:TRANsition:DELTATime? + - TRIGger:A:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:TRANsition:POLarity:CH? + - TRIGger:A:PULse:TRANsition:POLarity? + - TRIGger:A:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TRANsition:QUAlify? + - TRIGger:A:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + - TRIGger:A:PULse:TRANsition:THReshold:HIGH + - TRIGger:A:PULse:TRANsition:THReshold:HIGH? + - TRIGger:A:PULse:TRANsition:THReshold:LOW + - TRIGger:A:PULse:TRANsition:THReshold:LOW? + - TRIGger:A:PULse:TRANsition:THReshold? + - TRIGger:A:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:A:PULse:TRANsition:WHEn? + - TRIGger:A:PULse:TRANsition? + - TRIGger:A:PULse:WIDth:HIGHLimit + - TRIGger:A:PULse:WIDth:HIGHLimit? + - TRIGger:A:PULse:WIDth:LOWLimit + - TRIGger:A:PULse:WIDth:LOWLimit? + - TRIGger:A:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:WIDth:LOWPASSfilter? + - TRIGger:A:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity:CH? + - TRIGger:A:PULse:WIDth:POLarity? + - TRIGger:A:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WIDth:QUAlify? + - TRIGger:A:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:A:PULse:WIDth:WHEn? + - TRIGger:A:PULse:WIDth? + - TRIGger:A:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:A:PULse:WINdow:EVENT? + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH {HIGH\LOW\X} + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH? + - TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT? + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH? + - TRIGger:A:PULse:WINdow:LOGIc? + - TRIGger:A:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity:CH? + - TRIGger:A:PULse:WINdow:POLarity? + - TRIGger:A:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WINdow:QUAlify? + - TRIGger:A:PULse:WINdow:THReshold:BOTh {TTL|ECL} + - TRIGger:A:PULse:WINdow:THReshold:HIGH + - TRIGger:A:PULse:WINdow:THReshold:HIGH? + - TRIGger:A:PULse:WINdow:THReshold:LOW + - TRIGger:A:PULse:WINdow:THReshold:LOW? + - TRIGger:A:PULse:WINdow:THReshold? + - TRIGger:A:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:A:PULse:WINdow:TYPe? + - TRIGger:A:PULse:WINdow:WHEn {LOGIc|OCCurs|WIDERthan} + - TRIGger:A:PULse:WINdow:WHEn? + - TRIGger:A:PULse:WINdow:WIDTH + - TRIGger:A:PULse:WINdow:WIDTH? + - TRIGger:A:READY? + - TRIGger:A:SERIAL:BITRate + - TRIGger:A:SERIAL:BITRate? + - TRIGger:A:SERIAL:CLOCk:LEVel + - TRIGger:A:SERIAL:CLOCk:LEVel? + - TRIGger:A:SERIAL:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:SERIAL:CLOCk:POLarity? + - TRIGger:A:SERIAL:CLOCk:SOUrce {CH|RECOVered} + - TRIGger:A:SERIAL:CLOCk:SOUrce? + - TRIGger:A:SERIAL:CODe {NRZ|S8B10B} + - TRIGger:A:SERIAL:CODe? + - TRIGger:A:SERIAL:DATa:FORMat {BINary|HEX} + - TRIGger:A:SERIAL:DATa:FORMat? + - TRIGger:A:SERIAL:DATa:PATtern + - TRIGger:A:SERIAL:DATa:PATtern:NRZ + - TRIGger:A:SERIAL:DATa:PATtern:NRZ? + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B? + - TRIGger:A:SERIAL:DATa:PATtern? + - TRIGger:A:SERIAL:ERRORdetector:FILE:NAME + - TRIGger:A:SERIAL:LOCKLen + - TRIGger:A:SERIAL:LOCKLen? + - TRIGger:A:SERIAL:LOCKOffset + - TRIGger:A:SERIAL:LOCKOffset? + - TRIGger:A:SERIAL:SOUrce {CH} + - TRIGger:A:SERIAL:SOUrce? + - TRIGger:A:SERIAL:STANdard {FC133|FC266|FC531|FC1063|D|VIDEO270|VIDEO360|OC1|OC3| OC12|ENET1250|FW1394BS400B|FW1394BS800B|CUSTom|ENET100FX| RIO_500M|RIO_750M|RIO_1G|RIO_SERIAL_1G|VSROC192|ENETXAUI| SAS3_?|PCIExpress|INFINIBAND|RIO_SERIAL_2G|RIO_SERIAL_3G| FC2125|RIO_2G|FW1394BS1600B|SAS1_5|ENETXAUI|ENETXAUI2| FC2125|FC4250|FW1394BS1600B|INFINIBAND|PCIExpress|PCIExpress2| RIO_2G|RIO_500M|RIO_750M|RIO_SERIAL_1G|RIO_SERIAL_2_5G| RIO_SERIAL_3G|SAS6_0|SATA1_5|SATA3_0|SATA6_0} + - TRIGger:A:SERIAL:STANdard? + - TRIGger:A:SERIAL:TRIGgeron {PATtern|LOck} + - TRIGger:A:SERIAL:TRIGgeron? + - TRIGger:A:SPI:CONDition {MISO|MOSI|MISOMOSI} + - TRIGger:A:SPI:CONDition? + - TRIGger:A:SPI:DATa:FORMat {BINary|HEX} + - TRIGger:A:SPI:DATa:FORMat? + - TRIGger:A:SPI:DATa:MISO:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MISO:ACTIVE? + - TRIGger:A:SPI:DATa:MISO:LEVel + - TRIGger:A:SPI:DATa:MISO:LEVel? + - TRIGger:A:SPI:DATa:MISO:SOUrce CH + - TRIGger:A:SPI:DATa:MISO:SOUrce? + - TRIGger:A:SPI:DATa:MISO:VALue + - TRIGger:A:SPI:DATa:MISO:VALue? + - TRIGger:A:SPI:DATa:MOSI:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MOSI:ACTIVE? + - TRIGger:A:SPI:DATa:MOSI:LEVel + - TRIGger:A:SPI:DATa:MOSI:LEVel? + - TRIGger:A:SPI:DATa:MOSI:SOUrce CH + - TRIGger:A:SPI:DATa:MOSI:SOUrce? + - TRIGger:A:SPI:DATa:MOSI:VALue + - TRIGger:A:SPI:DATa:MOSI:VALue? + - TRIGger:A:SPI:DATa:STARt + - TRIGger:A:SPI:DATa:STARt? + - TRIGger:A:SPI:FORMat {BINary|HEX} + - TRIGger:A:SPI:FORMat? + - TRIGger:A:SPI:SCLK:ACTIVE {RISe|FALL} + - TRIGger:A:SPI:SCLK:ACTIVE? + - TRIGger:A:SPI:SCLK:LEVel + - TRIGger:A:SPI:SCLK:LEVel? + - TRIGger:A:SPI:SCLK:SOUrce CH + - TRIGger:A:SPI:SCLK:SOUrce? + - TRIGger:A:SPI:SS:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:SS:ACTIVE? + - TRIGger:A:SPI:SS:LEVel + - TRIGger:A:SPI:SS:LEVel? + - TRIGger:A:SPI:SS:SOUrce CH + - TRIGger:A:SPI:SS:SOUrce? + - TRIGger:A:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:A:TYPe? + - TRIGger:A:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:A:UPPerthreshold:CH? + - TRIGger:A:VIDeo:CUSTom:FORMat {INTERLAced|PROGressive} + - TRIGger:A:VIDeo:CUSTom:FORMat? + - TRIGger:A:VIDeo:CUSTom:LINEPeriod + - TRIGger:A:VIDeo:CUSTom:LINEPeriod? + - TRIGger:A:VIDeo:CUSTom:SYNCInterval + - TRIGger:A:VIDeo:CUSTom:SYNCInterval? + - TRIGger:A:VIDeo:CUSTom? + - TRIGger:A:VIDeo:FIELD {ODD|EVEN|FIELD|ALLFields|ALLLines|NUMERic} + - TRIGger:A:VIDeo:FIELD? + - TRIGger:A:VIDeo:HOLdoff:FIELD + - TRIGger:A:VIDeo:HOLdoff:FIELD? + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + - TRIGger:A:VIDeo:POLarity {INVERTed|NORMal} + - TRIGger:A:VIDeo:POLarity? + - TRIGger:A:VIDeo:SCAN {RATE} + - TRIGger:A:VIDeo:SCAN? + - TRIGger:A:VIDeo:SOUrce CH + - TRIGger:A:VIDeo:SOUrce? + - TRIGger:A:VIDeo:STANdard {BILevelcustom|TRILevelcustom|NTSc|PAL| SECAM|HD480P60|HD576P50|HD875I60|HD720P30|HD720P50| HD720P60|HD1080I50|HD1080I60|HD1080P24| HD1080P25|HD1080P30|HD1080P50|HD1080P60| HD1080SF24} + - TRIGger:A:VIDeo:STANdard? + - TRIGger:A:VIDeo? + - TRIGger:A? + - TRIGger:AUXLevel {|ECL|TTL} + - TRIGger:AUXLevel? + - TRIGger:B SETLevel + - TRIGger:B:BY {EVENTS|TIMe|ARMAtrigb} + - TRIGger:B:BY? + - TRIGger:B:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:B:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling:CH? + - TRIGger:B:EDGE:COUPling? + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + - TRIGger:B:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:B:EDGE:SOUrce? + - TRIGger:B:EDGE? + - TRIGger:B:EVENTS:COUNt + - TRIGger:B:EVENTS:COUNt? + - TRIGger:B:EVENTS? + - TRIGger:B:LEVel {ECL|TTL|} + - TRIGger:B:LEVel:CH {ECL|TTL|} + - TRIGger:B:LEVel:CH? + - TRIGger:B:LEVel? + - TRIGger:B:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:B:LOGIc:CLAss? + - TRIGger:B:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:B:LOGIc:FUNCtion? + - TRIGger:B:LOGIc:INPut:ALL + - TRIGger:B:LOGIc:INPut:ALL? + - TRIGger:B:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:INPut:CH? + - TRIGger:B:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:B:LOGIc:INPut:FORMat? + - TRIGger:B:LOGIc:INPut? + - TRIGger:B:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:PATtern:INPut:CH? + - TRIGger:B:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit? + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit? + - TRIGger:B:LOGIc:PATtern:WHEn? + - TRIGger:B:LOGIc:PATtern? + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE? + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel? + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce? + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH? + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold? + - TRIGger:B:LOGIc:SETHold:CLOCk? + - TRIGger:B:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:LEVel? + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce? + - TRIGger:B:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH? + - TRIGger:B:LOGIc:SETHold:DATa:THReshold? + - TRIGger:B:LOGIc:SETHold:DATa? + - TRIGger:B:LOGIc:SETHold:HOLDTime + - TRIGger:B:LOGIc:SETHold:HOLDTime? + - TRIGger:B:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:LOGIc:SETHold:QUAlify? + - TRIGger:B:LOGIc:SETHold:SETTime + - TRIGger:B:LOGIc:SETHold:SETTime? + - TRIGger:B:LOGIc:SETHold? + - TRIGger:B:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:B:LOGIc:STATE:INPut:CH? + - TRIGger:B:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:B:LOGIc:STATE:WHEn? + - TRIGger:B:LOGIc:STATE? + - TRIGger:B:LOGIc:THReshold:CH + - TRIGger:B:LOGIc:THReshold:CH? + - TRIGger:B:LOGIc:THReshold? + - TRIGger:B:LOGIc? + - TRIGger:B:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:B:LOWerthreshold:CH? + - TRIGger:B:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:B:PULse:CLAss? + - TRIGger:B:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:B:PULse:GLItch:FILTer? + - TRIGger:B:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:GLItch:LOWPASSfilter? + - TRIGger:B:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:GLItch:POLarity:CH? + - TRIGger:B:PULse:GLItch:POLarity? + - TRIGger:B:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:GLItch:QUAlify? + - TRIGger:B:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:B:PULse:GLItch:TRIGIF? + - TRIGger:B:PULse:GLItch:WIDth + - TRIGger:B:PULse:GLItch:WIDth? + - TRIGger:B:PULse:GLItch? + - TRIGger:B:PULse:PERiod:HIGHLimit + - TRIGger:B:PULse:PERiod:HIGHLimit? + - TRIGger:B:PULse:PERiod:LOWLimit + - TRIGger:B:PULse:PERiod:LOWLimit? + - TRIGger:B:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:PERiod:POLarity? + - TRIGger:B:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:B:PULse:PERiod:QUAlify? + - TRIGger:B:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:B:PULse:PERiod:VIEW? + - TRIGger:B:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:B:PULse:PERiod:WHEn? + - TRIGger:B:PULse:PERiod? + - TRIGger:B:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:RUNT:POLarity:CH? + - TRIGger:B:PULse:RUNT:POLarity? + - TRIGger:B:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:RUNT:QUAlify? + - TRIGger:B:PULse:RUNT:THReshold:BOTh {TTL|ECL} + - TRIGger:B:PULse:RUNT:THReshold:HIGH + - TRIGger:B:PULse:RUNT:THReshold:HIGH? + - TRIGger:B:PULse:RUNT:THReshold:LOW + - TRIGger:B:PULse:RUNT:THReshold:LOW? + - TRIGger:B:PULse:RUNT:THReshold? + - TRIGger:B:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:RUNT:WHEn? + - TRIGger:B:PULse:RUNT:WIDth + - TRIGger:B:PULse:RUNT:WIDth? + - TRIGger:B:PULse:RUNT? + - TRIGger:B:PULse:SOUrce {CH|D|MCH} + - TRIGger:B:PULse:SOUrce? + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter? + - TRIGger:B:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity:CH? + - TRIGger:B:PULse:TIMEOut:POLarity? + - TRIGger:B:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TIMEOut:QUAlify? + - TRIGger:B:PULse:TIMEOut:TIMe + - TRIGger:B:PULse:TIMEOut:TIMe? + - TRIGger:B:PULse:TIMEOut? + - TRIGger:B:PULse:TRANsition:DELTATime + - TRIGger:B:PULse:TRANsition:DELTATime? + - TRIGger:B:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:TRANsition:POLarity:CH? + - TRIGger:B:PULse:TRANsition:POLarity? + - TRIGger:B:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TRANsition:QUAlify? + - TRIGger:B:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + - TRIGger:B:PULse:TRANsition:THReshold:HIGH + - TRIGger:B:PULse:TRANsition:THReshold:HIGH? + - TRIGger:B:PULse:TRANsition:THReshold:LOW + - TRIGger:B:PULse:TRANsition:THReshold:LOW? + - TRIGger:B:PULse:TRANsition:THReshold? + - TRIGger:B:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:B:PULse:TRANsition:WHEn? + - TRIGger:B:PULse:TRANsition? + - TRIGger:B:PULse:WIDth:HIGHLimit + - TRIGger:B:PULse:WIDth:HIGHLimit? + - TRIGger:B:PULse:WIDth:LOWLimit + - TRIGger:B:PULse:WIDth:LOWLimit? + - TRIGger:B:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:WIDth:LOWPASSfilter? + - TRIGger:B:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity:CH? + - TRIGger:B:PULse:WIDth:POLarity? + - TRIGger:B:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WIDth:QUAlify? + - TRIGger:B:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:B:PULse:WIDth:WHEn? + - TRIGger:B:PULse:WIDth? + - TRIGger:B:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:B:PULse:WINdow:EVENT? + - TRIGger:B:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity:CH? + - TRIGger:B:PULse:WINdow:POLarity? + - TRIGger:B:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WINdow:QUAlify? + - TRIGger:B:PULse:WINdow:THReshold:BOTh {TTL|ECL} + - TRIGger:B:PULse:WINdow:THReshold:HIGH + - TRIGger:B:PULse:WINdow:THReshold:HIGH? + - TRIGger:B:PULse:WINdow:THReshold:LOW + - TRIGger:B:PULse:WINdow:THReshold:LOW? + - TRIGger:B:PULse:WINdow:THReshold? + - TRIGger:B:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:B:PULse:WINdow:TYPe? + - TRIGger:B:PULse:WINdow:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:WINdow:WHEn? + - TRIGger:B:PULse:WINdow:WIDTH + - TRIGger:B:PULse:WINdow:WIDTH? + - TRIGger:B:READY? + - TRIGger:B:RESET:ACCEPTCOUNT? + - TRIGger:B:RESET:ACCEPTTIMEout + - TRIGger:B:RESET:ACCEPTTIMEout? + - TRIGger:B:RESET:RATIO? + - TRIGger:B:RESET:RATIOENable + - TRIGger:B:RESET:RATIOENable? + - TRIGger:B:RESET:REJECTCOUNT? + - TRIGger:B:RESET:REJECTTIMEout + - TRIGger:B:RESET:REJECTTIMEout? + - TRIGger:B:RESET:SOUrce {CH|AUXiliary} + - TRIGger:B:RESET:SOUrce? + - TRIGger:B:RESET:STATE {HIGH|LOW} + - TRIGger:B:RESET:STATE? + - TRIGger:B:RESET:THReshold {ECL|TTL|} + - TRIGger:B:RESET:THReshold? + - TRIGger:B:RESET:TIMEOut + - TRIGger:B:RESET:TIMEOut? + - TRIGger:B:RESET:TOTALCOUNT? + - TRIGger:B:RESET:TRANsition {RISe|FALL} + - TRIGger:B:RESET:TRANsition? + - TRIGger:B:RESET:TYPe {NONe|TIMEOut|STATE|TRANsition|ACCepts|REJects} + - TRIGger:B:RESET:TYPe? + - TRIGger:B:SCAN:ADVANCEafter + - TRIGger:B:SCAN:ADVANCEafter? + - TRIGger:B:SCAN:ENAble {ON|OFF} + - TRIGger:B:SCAN:ENAble? + - TRIGger:B:SCAN:ENDevent + - TRIGger:B:SCAN:ENDevent? + - TRIGger:B:SCAN:MODE {SEQUENTIAL|RANDOM|TOGGLE} + - TRIGger:B:SCAN:MODE? + - TRIGger:B:SCAN:STARTevent + - TRIGger:B:SCAN:STARTevent? + - TRIGger:B:STATE {ON|OFF|} + - TRIGger:B:STATE? + - TRIGger:B:TIMe + - TRIGger:B:TIMe? + - TRIGger:B:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:B:TYPe? + - TRIGger:B:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:B:UPPerthreshold:CH? + - TRIGger:ENHanced {|OFF|ON} + - TRIGger:ENHanced? + - TRIGger:EQUation + - TRIGger:EQUation? + - TRIGger:LVLSrcpreference {SRCDependent|SRCIndependent} + - TRIGger:LVLSrcpreference? + - TRIGger:MAIn:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:MAIn:PULse:WINdow:POLarity? + - TRIGger:MULTiscope {DISable|ENable} + - TRIGger:MULTiscope:ALIGN + - TRIGger:MULTiscope:ALIGN:COMPleted? + - TRIGger:MULTiscope:ALIGN:DESKEW? + - TRIGger:MULTiscope:ALIGN:MRTTime + - TRIGger:MULTiscope:ALIGN:MRTTime? + - TRIGger:MULTiscope:ALIGN:SETSTATE {START|STOP|WAIT|DONE} + - TRIGger:MULTiscope:ALIGN:SETSTATE? + - TRIGger:MULTiscope:ALIGN:VALue? + - TRIGger:MULTiscope:DELay? + - TRIGger:MULTiscope:LOGic {AND|OR} + - TRIGger:MULTiscope:LOGic? + - TRIGger:MULTiscope:OPTion {AND|OR} + - TRIGger:MULTiscope:OPTion? + - TRIGger:MULTiscope:ROLe {PRODucer|CONSumer|NONe} + - TRIGger:MULTiscope:ROLe? + - TRIGger:MULTiscope? + - TRIGger:QUALification:BUS:FORMat {BINary|HEX|SYMBolic} + - TRIGger:QUALification:BUS:FORMat? + - TRIGger:QUALification:BUS:SOUrce {B} + - TRIGger:QUALification:BUS:SOUrce? + - TRIGger:QUALification:BUS:VALue + - TRIGger:QUALification:BUS:VALue? + - TRIGger:SENSITivity {|OFF|ON} + - TRIGger:SENSITivity? + - TRIGger:SHOWEQuation {ON|OFF} + - TRIGger:SHOWEQuation? + - TRIGger:STATE? + - TRIGger? +""" # noqa: E501 +from typing import Dict, Optional, TYPE_CHECKING + +from .._helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdReadWithArguments, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class TriggerState(SCPICmdRead): + """The ``TRIGger:STATE`` command. + + **Description:** + - This query-only command returns the current state of the triggering system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:STATE? + """ + + +class TriggerShowequation(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:SHOWEQuation`` command. + + **Description:** + - Causes the Visual Trigger Equation to be displayed in the upper left portion of the + oscilloscope graticule. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:SHOWEQuation?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:SHOWEQuation?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:SHOWEQuation value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:SHOWEQuation {ON|OFF} + - TRIGger:SHOWEQuation? + + **Info:** + - ``ON`` causes the equation to appear on screen. + - ``Off`` hides the equation. + """ + + +class TriggerSensitivity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:SENSITivity`` command. + + **Description:** + - This command set or queries the state of trigger sensitivity. When on, the instrument + calculates a rolling average for trigger position enhancement to suppress trigger jitter + in noisy signals. This is equivalent to selecting Higher Sensitivity for Noisy Signals + from the Trigger Mode menu. This is available only when ``TRIGGER:ENHANCED`` or the + equivalent check box control is also on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:SENSITivity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:SENSITivity?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:SENSITivity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:SENSITivity {|OFF|ON} + - TRIGger:SENSITivity? + + **Info:** + - ```` = 0 disables rolling averaging, any other value enables rolling averaging for + trigger position enhancement. + - ``OFF`` disables rolling averaging for trigger position enhancement. + - ``ON`` enables rolling averaging for trigger position enhancement. + """ + + +class TriggerQualificationBusValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:QUALification:BUS:VALue`` command. + + **Description:** + - This command sets or queries the bit pattern for the bus qualification. The command is + available only when the Trigger Type is set to Glitch, Runt, Setup/Hold, Timeout, + Transition, Width, or Window and the trigger qualification is set to Occurs And. The + pattern assigned is in the order D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Ch1 + Ch2 Ch3 Ch4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:QUALification:BUS:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:VALue + - TRIGger:QUALification:BUS:VALue? + + **Info:** + - ```` sets the bus value. + """ + + +class TriggerQualificationBusSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:QUALification:BUS:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the bus qualification. The command is + available only when the Trigger Type is set to Glitch, Runt, Setup/Hold, Timeout, + Transition, Width, or Window and the trigger qualification is set to Occurs And. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:QUALification:BUS:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:SOUrce {B} + - TRIGger:QUALification:BUS:SOUrce? + + **Info:** + - ``B`` specifies the bus source from B0 to B16. x has a minimum of 0 and a maximum of + 16. + """ + + +class TriggerQualificationBusFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:QUALification:BUS:FORMat`` command. + + **Description:** + - This command sets or queries the format of the bit pattern for the bus qualification. The + command is available only when the Trigger Type is set to Glitch, Runt, Setup/Hold, + Timeout, Transition, Width, or Window and the trigger qualification is set to Occurs And. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:QUALification:BUS:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:FORMat {BINary|HEX|SYMBolic} + - TRIGger:QUALification:BUS:FORMat? + + **Info:** + - ``BINary`` specifies the pattern format as binary. + - ``HEX`` specifies the pattern format as hexadecimal. + - ``SYMBolic`` specifies the pattern format as symbolic. + """ + + +class TriggerQualificationBus(SCPICmdRead): + """The ``TRIGger:QUALification:BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:QUALification:BUS:FORMat`` command. + - ``.source``: The ``TRIGger:QUALification:BUS:SOUrce`` command. + - ``.value``: The ``TRIGger:QUALification:BUS:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerQualificationBusFormat(device, f"{self._cmd_syntax}:FORMat") + self._source = TriggerQualificationBusSource(device, f"{self._cmd_syntax}:SOUrce") + self._value = TriggerQualificationBusValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerQualificationBusFormat: + """Return the ``TRIGger:QUALification:BUS:FORMat`` command. + + **Description:** + - This command sets or queries the format of the bit pattern for the bus qualification. + The command is available only when the Trigger Type is set to Glitch, Runt, + Setup/Hold, Timeout, Transition, Width, or Window and the trigger qualification is set + to Occurs And. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:QUALification:BUS:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:QUALification:BUS:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:FORMat {BINary|HEX|SYMBolic} + - TRIGger:QUALification:BUS:FORMat? + + **Info:** + - ``BINary`` specifies the pattern format as binary. + - ``HEX`` specifies the pattern format as hexadecimal. + - ``SYMBolic`` specifies the pattern format as symbolic. + """ + return self._format + + @property + def source(self) -> TriggerQualificationBusSource: + """Return the ``TRIGger:QUALification:BUS:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the bus qualification. The command is + available only when the Trigger Type is set to Glitch, Runt, Setup/Hold, Timeout, + Transition, Width, or Window and the trigger qualification is set to Occurs And. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:QUALification:BUS:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:QUALification:BUS:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:SOUrce {B} + - TRIGger:QUALification:BUS:SOUrce? + + **Info:** + - ``B`` specifies the bus source from B0 to B16. x has a minimum of 0 and a maximum + of 16. + """ + return self._source + + @property + def value(self) -> TriggerQualificationBusValue: + """Return the ``TRIGger:QUALification:BUS:VALue`` command. + + **Description:** + - This command sets or queries the bit pattern for the bus qualification. The command is + available only when the Trigger Type is set to Glitch, Runt, Setup/Hold, Timeout, + Transition, Width, or Window and the trigger qualification is set to Occurs And. The + pattern assigned is in the order D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 + Ch1 Ch2 Ch3 Ch4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS:VALue?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:QUALification:BUS:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:QUALification:BUS:VALue + - TRIGger:QUALification:BUS:VALue? + + **Info:** + - ```` sets the bus value. + """ + return self._value + + +class TriggerQualification(SCPICmdRead): + """The ``TRIGger:QUALification`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bus``: The ``TRIGger:QUALification:BUS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = TriggerQualificationBus(device, f"{self._cmd_syntax}:BUS") + + @property + def bus(self) -> TriggerQualificationBus: + """Return the ``TRIGger:QUALification:BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification:BUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:QUALification:BUS:FORMat`` command. + - ``.source``: The ``TRIGger:QUALification:BUS:SOUrce`` command. + - ``.value``: The ``TRIGger:QUALification:BUS:VALue`` command. + """ + return self._bus + + +class TriggerMultiscopeRole(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MULTiscope:ROLe`` command. + + **Description:** + - This command sets or queries the role of the instrument in the MultiScope trigger network. + PRODUCER means that the instrument will both contribute and use the MultiScope trigger. If + there is no hub, this makes the local instrument the master. CONSUMER means that the + trigger in from the MultiScope network is used (rather than an internal trigger). This + applies to a network with or without a hub. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ROLe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ROLe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:ROLe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ROLe {PRODucer|CONSumer|NONe} + - TRIGger:MULTiscope:ROLe? + + **Info:** + - ``PRODucer`` sets the instrument to both contribute and use the MultiScope trigger. + - ``CONSumer`` sets the instrument to use the MultiScope trigger. + - ``NONe`` takes the instrument off the MultiScope trigger network. + """ + + +class TriggerMultiscopeOption(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MULTiscope:OPTion`` command. + + **Description:** + - This command sets or queries the trigger type for the TekLink trigger. This will cause the + instrument to set the hub and all instruments participating to either AND or OR + triggering. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:OPTion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:OPTion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:OPTion {AND|OR} + - TRIGger:MULTiscope:OPTion? + + **Info:** + - ``AND`` sets the hub and all participating instruments to AND triggering. + - ``OR`` sets the hub and all participating instruments to OR triggering. + """ + + +class TriggerMultiscopeLogic(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MULTiscope:LOGic`` command. + + **Description:** + - This command sets or queries the TekLink trigger configuration when the TekLink network + connection is HUB. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:LOGic?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:LOGic?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:LOGic value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:LOGic {AND|OR} + - TRIGger:MULTiscope:LOGic? + + **Info:** + - ``AND`` sets the hub and all participating instruments to AND triggering configuration. + - ``OR`` sets the hub and all participating instruments to OR triggering configuration. + """ + + +class TriggerMultiscopeDelay(SCPICmdRead): + """The ``TRIGger:MULTiscope:DELay`` command. + + **Description:** + - This command queries the delay time in nanoseconds, for trigger out of the TekLink trigger + out line. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:DELay?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:DELay? + """ + + +class TriggerMultiscopeAlignValue(SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN:VALue`` command. + + **Description:** + - This command returns the time interval result from the ``TRIGGER:MULTISCOPE:ALIGN`` + command. Round trip time, trigger out to trigger in. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:VALue? + """ + + +class TriggerMultiscopeAlignSetstate(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN:SETSTATE`` command. + + **Description:** + - This command causes the instrument to measure the round trip time between sending a + trigger out the TekLink port and receiving the trigger pulse back from the port. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:SETSTATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:SETSTATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:MULTiscope:ALIGN:SETSTATE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:SETSTATE {START|STOP|WAIT|DONE} + - TRIGger:MULTiscope:ALIGN:SETSTATE? + + **Info:** + - ``START`` begins calibration. + - ``STOP`` ends calibration. + - ``WAIT`` postpones calibration. + - ``DONE`` indicates that the calibration is complete. + """ + + +class TriggerMultiscopeAlignMrttime(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN:MRTTime`` command. + + **Description:** + - This command returns or sends the maximum round trip time to each of the instruments in a + calibration cycle. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:MRTTime?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:MRTTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``TRIGger:MULTiscope:ALIGN:MRTTime`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:MRTTime + - TRIGger:MULTiscope:ALIGN:MRTTime? + """ + + +class TriggerMultiscopeAlignDeskew(SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN:DESKEW`` command. + + **Description:** + - This command sets or queries the deskew time in nanoseconds, for horizontal positioning of + the waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:DESKEW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:DESKEW?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:DESKEW? + """ + + +class TriggerMultiscopeAlignCompleted(SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN:COMPleted`` command. + + **Description:** + - This command returns whether the oscilloscope has successfully completed the MultiScope + trigger align procedure. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:COMPleted?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:COMPleted?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:COMPleted? + """ + + +class TriggerMultiscopeAlign(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``TRIGger:MULTiscope:ALIGN`` command. + + **Description:** + - This command starts the TekLink trigger alignment procedure on all oscilloscopes which are + participating in MultiScope triggering. For this command to have any effect, the + instrument must be participating in MultiScope triggering. Other instruments on the + TekLink network are not affected. + + **Usage:** + - Using the ``.write()`` method will send the ``TRIGger:MULTiscope:ALIGN`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN + + Properties: + - ``.completed``: The ``TRIGger:MULTiscope:ALIGN:COMPleted`` command. + - ``.deskew``: The ``TRIGger:MULTiscope:ALIGN:DESKEW`` command. + - ``.mrttime``: The ``TRIGger:MULTiscope:ALIGN:MRTTime`` command. + - ``.setstate``: The ``TRIGger:MULTiscope:ALIGN:SETSTATE`` command. + - ``.value``: The ``TRIGger:MULTiscope:ALIGN:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._completed = TriggerMultiscopeAlignCompleted(device, f"{self._cmd_syntax}:COMPleted") + self._deskew = TriggerMultiscopeAlignDeskew(device, f"{self._cmd_syntax}:DESKEW") + self._mrttime = TriggerMultiscopeAlignMrttime(device, f"{self._cmd_syntax}:MRTTime") + self._setstate = TriggerMultiscopeAlignSetstate(device, f"{self._cmd_syntax}:SETSTATE") + self._value = TriggerMultiscopeAlignValue(device, f"{self._cmd_syntax}:VALue") + + @property + def completed(self) -> TriggerMultiscopeAlignCompleted: + """Return the ``TRIGger:MULTiscope:ALIGN:COMPleted`` command. + + **Description:** + - This command returns whether the oscilloscope has successfully completed the + MultiScope trigger align procedure. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:COMPleted?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:MULTiscope:ALIGN:COMPleted?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:COMPleted? + """ + return self._completed + + @property + def deskew(self) -> TriggerMultiscopeAlignDeskew: + """Return the ``TRIGger:MULTiscope:ALIGN:DESKEW`` command. + + **Description:** + - This command sets or queries the deskew time in nanoseconds, for horizontal + positioning of the waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:DESKEW?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:DESKEW?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:DESKEW? + """ + return self._deskew + + @property + def mrttime(self) -> TriggerMultiscopeAlignMrttime: + """Return the ``TRIGger:MULTiscope:ALIGN:MRTTime`` command. + + **Description:** + - This command returns or sends the maximum round trip time to each of the instruments + in a calibration cycle. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:MRTTime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:MULTiscope:ALIGN:MRTTime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``TRIGger:MULTiscope:ALIGN:MRTTime`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:MRTTime + - TRIGger:MULTiscope:ALIGN:MRTTime? + """ + return self._mrttime + + @property + def setstate(self) -> TriggerMultiscopeAlignSetstate: + """Return the ``TRIGger:MULTiscope:ALIGN:SETSTATE`` command. + + **Description:** + - This command causes the instrument to measure the round trip time between sending a + trigger out the TekLink port and receiving the trigger pulse back from the port. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:SETSTATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:MULTiscope:ALIGN:SETSTATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:MULTiscope:ALIGN:SETSTATE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:SETSTATE {START|STOP|WAIT|DONE} + - TRIGger:MULTiscope:ALIGN:SETSTATE? + + **Info:** + - ``START`` begins calibration. + - ``STOP`` ends calibration. + - ``WAIT`` postpones calibration. + - ``DONE`` indicates that the calibration is complete. + """ + return self._setstate + + @property + def value(self) -> TriggerMultiscopeAlignValue: + """Return the ``TRIGger:MULTiscope:ALIGN:VALue`` command. + + **Description:** + - This command returns the time interval result from the ``TRIGGER:MULTISCOPE:ALIGN`` + command. Round trip time, trigger out to trigger in. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ALIGN:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ALIGN:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN:VALue? + """ + return self._value + + +class TriggerMultiscope(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MULTiscope`` command. + + **Description:** + - This command sets or queries the state of MultiScope triggering, either ENABle or DISable. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope {DISable|ENable} + - TRIGger:MULTiscope? + + **Info:** + - ``DISable`` sets the MultiScope triggering state to disabled. + - ``ENable`` sets the MultiScope triggering state to enabled. + + Properties: + - ``.align``: The ``TRIGger:MULTiscope:ALIGN`` command. + - ``.delay``: The ``TRIGger:MULTiscope:DELay`` command. + - ``.logic``: The ``TRIGger:MULTiscope:LOGic`` command. + - ``.option``: The ``TRIGger:MULTiscope:OPTion`` command. + - ``.role``: The ``TRIGger:MULTiscope:ROLe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._align = TriggerMultiscopeAlign(device, f"{self._cmd_syntax}:ALIGN") + self._delay = TriggerMultiscopeDelay(device, f"{self._cmd_syntax}:DELay") + self._logic = TriggerMultiscopeLogic(device, f"{self._cmd_syntax}:LOGic") + self._option = TriggerMultiscopeOption(device, f"{self._cmd_syntax}:OPTion") + self._role = TriggerMultiscopeRole(device, f"{self._cmd_syntax}:ROLe") + + @property + def align(self) -> TriggerMultiscopeAlign: + """Return the ``TRIGger:MULTiscope:ALIGN`` command. + + **Description:** + - This command starts the TekLink trigger alignment procedure on all oscilloscopes which + are participating in MultiScope triggering. For this command to have any effect, the + instrument must be participating in MultiScope triggering. Other instruments on the + TekLink network are not affected. + + **Usage:** + - Using the ``.write()`` method will send the ``TRIGger:MULTiscope:ALIGN`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ALIGN + + Sub-properties: + - ``.completed``: The ``TRIGger:MULTiscope:ALIGN:COMPleted`` command. + - ``.deskew``: The ``TRIGger:MULTiscope:ALIGN:DESKEW`` command. + - ``.mrttime``: The ``TRIGger:MULTiscope:ALIGN:MRTTime`` command. + - ``.setstate``: The ``TRIGger:MULTiscope:ALIGN:SETSTATE`` command. + - ``.value``: The ``TRIGger:MULTiscope:ALIGN:VALue`` command. + """ + return self._align + + @property + def delay(self) -> TriggerMultiscopeDelay: + """Return the ``TRIGger:MULTiscope:DELay`` command. + + **Description:** + - This command queries the delay time in nanoseconds, for trigger out of the TekLink + trigger out line. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:DELay?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:DELay? + """ + return self._delay + + @property + def logic(self) -> TriggerMultiscopeLogic: + """Return the ``TRIGger:MULTiscope:LOGic`` command. + + **Description:** + - This command sets or queries the TekLink trigger configuration when the TekLink + network connection is HUB. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:LOGic?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:LOGic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:LOGic value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:LOGic {AND|OR} + - TRIGger:MULTiscope:LOGic? + + **Info:** + - ``AND`` sets the hub and all participating instruments to AND triggering + configuration. + - ``OR`` sets the hub and all participating instruments to OR triggering configuration. + """ + return self._logic + + @property + def option(self) -> TriggerMultiscopeOption: + """Return the ``TRIGger:MULTiscope:OPTion`` command. + + **Description:** + - This command sets or queries the trigger type for the TekLink trigger. This will cause + the instrument to set the hub and all instruments participating to either AND or OR + triggering. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:OPTion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:OPTion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:OPTion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:OPTion {AND|OR} + - TRIGger:MULTiscope:OPTion? + + **Info:** + - ``AND`` sets the hub and all participating instruments to AND triggering. + - ``OR`` sets the hub and all participating instruments to OR triggering. + """ + return self._option + + @property + def role(self) -> TriggerMultiscopeRole: + """Return the ``TRIGger:MULTiscope:ROLe`` command. + + **Description:** + - This command sets or queries the role of the instrument in the MultiScope trigger + network. PRODUCER means that the instrument will both contribute and use the + MultiScope trigger. If there is no hub, this makes the local instrument the master. + CONSUMER means that the trigger in from the MultiScope network is used (rather than an + internal trigger). This applies to a network with or without a hub. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope:ROLe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope:ROLe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope:ROLe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope:ROLe {PRODucer|CONSumer|NONe} + - TRIGger:MULTiscope:ROLe? + + **Info:** + - ``PRODucer`` sets the instrument to both contribute and use the MultiScope trigger. + - ``CONSumer`` sets the instrument to use the MultiScope trigger. + - ``NONe`` takes the instrument off the MultiScope trigger network. + """ + return self._role + + +class TriggerMainPulseWindowPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:MAIn:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the polarity option seen in main pulse window trigger mode + that causes the oscilloscope to trigger only when the signal exits the window. This is + available only when the Window Event option is set to Inside > t. Also the logic selection + is available only when the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse:WINdow:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn:PULse:WINdow:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:MAIn:PULse:WINdow:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MAIn:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:MAIn:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` argument specifies positive or negative polarity. + - ``NEGAtive`` argument specifies positive polarity. + - ``POSITIVe`` argument specifies negative polarity. + """ + + +class TriggerMainPulseWindow(SCPICmdRead): + """The ``TRIGger:MAIn:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn:PULse:WINdow?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.polarity``: The ``TRIGger:MAIn:PULse:WINdow:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = TriggerMainPulseWindowPolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> TriggerMainPulseWindowPolarity: + """Return the ``TRIGger:MAIn:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the polarity option seen in main pulse window trigger + mode that causes the oscilloscope to trigger only when the signal exits the window. + This is available only when the Window Event option is set to Inside > t. Also the + logic selection is available only when the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse:WINdow:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:MAIn:PULse:WINdow:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:MAIn:PULse:WINdow:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MAIn:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:MAIn:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` argument specifies positive or negative polarity. + - ``NEGAtive`` argument specifies positive polarity. + - ``POSITIVe`` argument specifies negative polarity. + """ + return self._polarity + + +class TriggerMainPulse(SCPICmdRead): + """The ``TRIGger:MAIn:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn:PULse?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.window``: The ``TRIGger:MAIn:PULse:WINdow`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._window = TriggerMainPulseWindow(device, f"{self._cmd_syntax}:WINdow") + + @property + def window(self) -> TriggerMainPulseWindow: + """Return the ``TRIGger:MAIn:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn:PULse:WINdow?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.polarity``: The ``TRIGger:MAIn:PULse:WINdow:POLarity`` command. + """ + return self._window + + +class TriggerMain(SCPICmdRead): + """The ``TRIGger:MAIn`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulse``: The ``TRIGger:MAIn:PULse`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulse = TriggerMainPulse(device, f"{self._cmd_syntax}:PULse") + + @property + def pulse(self) -> TriggerMainPulse: + """Return the ``TRIGger:MAIn:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn:PULse?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.window``: The ``TRIGger:MAIn:PULse:WINdow`` command tree. + """ + return self._pulse + + +class TriggerLvlsrcpreference(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:LVLSrcpreference`` command. + + **Description:** + - This command sets or queries the dependent source/level trigger feature. SRCIndependent is + the default value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:LVLSrcpreference?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:LVLSrcpreference?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:LVLSrcpreference value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:LVLSrcpreference {SRCDependent|SRCIndependent} + - TRIGger:LVLSrcpreference? + + **Info:** + - ``SRCDependent`` sets the level of all trigger sources to the value you currently select, + regardless of the last value selected. + - ``SRCIndependent`` sets each trigger source to the level you are currently selecting. + """ + + +class TriggerEquationItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:EQUation`` command. + + **Description:** + - Sets the Visual Trigger Equation string, which defines the behavior of the areas. There + can be only one equation, which can be up to 128 characters. You can enter the command as + ``TRIGGER:EQUATION`` or ``TRIGGER:EQUATION1``. Each area is assigned a single source + (analog channel 1, 2, 3, or 4). Any analog channel can be used as the source for one or + more areas. Some basic equations are: (C1 IN A1) - The channel 1 waveform must intersect + with Area 1. (C2 OUT A2) - The channel 2 waveform must NOT intersect with Area 2. ((C1 IN + A1) and (C2 OUT A2)) - Combines the previous two examples. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:EQUation?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:EQUation?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:EQUation value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:EQUation + - TRIGger:EQUation? + + **Info:** + - ```` is the equation that you want to use for visual triggering. This equation is + shown on the oscilloscope screen when visual triggering is enabled. + """ + + +class TriggerEnhanced(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:ENHanced`` command. + + **Description:** + - This command sets or queries the state of trigger position enhancement. When on, the + instrument improves the trigger positioning to more closely match the acquired data. This + is equivalent to selecting Enhanced Triggering from the Trigger Mode menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:ENHanced?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:ENHanced?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:ENHanced value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:ENHanced {|OFF|ON} + - TRIGger:ENHanced? + + **Info:** + - ```` = 0 disables trigger position enhancement, any other value enables trigger + position enhancement. + - ``OFF`` disables trigger position enhancement. + - ``ON`` enables trigger position enhancement. + """ + + +class TriggerBUpperthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:UPPerthreshold:CH`` command. + + **Description:** + - This command sets or queries the CH upper trigger level for + ``TRIGger:LVLSrcpreference SRCDependent``. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:UPPerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:UPPerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:UPPerthreshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:B:UPPerthreshold:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerBUpperthreshold(SCPICmdRead): + """The ``TRIGger:B:UPPerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:UPPerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:UPPerthreshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:B:UPPerthreshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBUpperthresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBUpperthresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBUpperthresholdChannel]: + """Return the ``TRIGger:B:UPPerthreshold:CH`` command. + + **Description:** + - This command sets or queries the CH upper trigger level for + ``TRIGger:LVLSrcpreference SRCDependent``. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:UPPerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:UPPerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:UPPerthreshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:B:UPPerthreshold:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerBType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:TYPe`` command. + + **Description:** + - This command sets or queries the type of A or B trigger. Logic and Pulse triggers contain + classes. Logic triggers consist of State and Pattern classes; Pulse triggers consist of + Glitch, Runt, Width, Transition, Timeout, and Window classes. Once you have set the + trigger type, you might also need to identify the associated trigger class. For details on + selecting Logic and Pulse trigger classes, see and respectively. This command is similar + to selecting Event Trigger Setup from the Trig menu and then selecting the desired Trigger + Type. Some trigger types are not available on some instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:B:TYPe? + + **Info:** + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the ``TRIGger:A:LOGIc`` commands. + - ``PULse`` specifies that a trigger occurs when a specified pulse is found and is + controlled by the ``TRIGger:A:PULse`` commands. + - ``VIDeo`` specifies that the trigger occurs when a video signal is found. Requires an + instrument with video hardware. + - ``I2C`` specifies that a trigger occurs when an Inter-IC Control signal is found. + - ``CAN`` specifies that a trigger occurs when a Controller Area Network frame signal is + found. + - ``SPI`` specifies that a trigger occurs when a Serial Peripheral Interface signal is + found. + - ``COMMunication`` (Option MTM) specifies that a trigger occurs when a communications + signal is found. Supports AMI, HDB3, B3ZS, B6ZS, B8ZS, CMI, MLT3, Manchester, and NRZ + encoded communications signals. COMMunication is available only if Option MTM is + installed. + - ``SERIAL`` specifies that a trigger occurs when NRZ-encoded data is found, providing a + 32-bit serial word. This argument is available with instruments with Option PTM. + - ``RS232`` takes a signal on a data source and allows you to trigger on data within the + RS232 bitstream. The data is only one byte wide. + """ + + +class TriggerBTime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:TIMe`` command. + + **Description:** + - This command sets or queries B trigger delay time, in seconds. The B Trigger time applies + only if ``TRIGger:B:BY`` is set to TIMe. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TIMe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:TIMe + - TRIGger:B:TIMe? + + **Info:** + - ```` is the B trigger delay time in seconds. + """ + + +class TriggerBState(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:STATE`` command. + + **Description:** + - This command sets or queries the state of B trigger activity. If the B trigger state is + on, the B trigger is part of the triggering sequence. If the B trigger state is off, then + only the A trigger causes the trigger event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:STATE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:STATE {ON|OFF|} + - TRIGger:B:STATE? + + **Info:** + - ``ON`` indicates that the B trigger is active and causes trigger events with the A + trigger. + - ``OFF`` indicates that only the A trigger causes trigger events. + - ```` is an integer number. 0 turns off the B trigger; any other value activates the B + trigger. + """ + + +class TriggerBScanStartevent(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:SCAN:STARTevent`` command. + + **Description:** + - This command sets or queries the start event value of B-Event Scan. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:STARTevent?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:STARTevent?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:STARTevent value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:STARTevent + - TRIGger:B:SCAN:STARTevent? + + **Info:** + - ```` is the start event value of B-Event Scan. The default value is 1 and ranges from + 1 to 2e9. + """ + + +class TriggerBScanMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:SCAN:MODE`` command. + + **Description:** + - This command sets or queries the sequence advance mode of B-Event Scan. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:MODE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:MODE?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:MODE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:MODE {SEQUENTIAL|RANDOM|TOGGLE} + - TRIGger:B:SCAN:MODE? + + **Info:** + - ``SEQUENTIAL`` , where the B-Event Scan is initialized at start event. This value is + incremented after each set of Advance After triggers have occurred, until the B-Event + exceeds the end event value. Then the B-Event count is again set to the start event value. + - ``RANDOM`` , where the B-Event value is changed to a random value such that start event + value <= BEvent <= end event value), and after Advance After triggers have occurred. + - ``TOGGLE`` , where the B-Event count is first set to the start event value and then + changed to the end event value after additional Advance After triggers have occurred, and + then B-Event is set back to the start event value. + """ + + +class TriggerBScanEndevent(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:SCAN:ENDevent`` command. + + **Description:** + - This command sets or queries the end event value of B-Event Scan. The end event value is + greater than or equal to the start event value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ENDevent?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ENDevent?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ENDevent value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ENDevent + - TRIGger:B:SCAN:ENDevent? + + **Info:** + - ```` is the end event value of B-Event Scan. The default value is 8 and ranges from 1 + to 2e9. + """ + + +class TriggerBScanEnable(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:SCAN:ENAble`` command. + + **Description:** + - This command sets or queries if the B-Event Scan is on or off. The B-Events value is + updated in a sequential, random, or toggle Advance mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ENAble?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ENAble?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ENAble value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ENAble {ON|OFF} + - TRIGger:B:SCAN:ENAble? + + **Info:** + - ``ON`` with A->B Sequence mode set to Trig on nth Event, the B-Event count is determined + by the other B Scan triggering parameters such as Start Event value, End Event value, + Advance After value, and the Advance mode. + - ``OFF`` with A->B Sequence mode set to Trig on nth Event, behaves in a conventional way. + """ + + +class TriggerBScanAdvanceafter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:SCAN:ADVANCEafter`` command. + + **Description:** + - This command sets or queries the B-Event Scan advance after value. Advance After advances + the B-Event value after the specified number of acquisitions have occurred. The B-Events + value is updated in a sequential, random, or toggle mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ADVANCEafter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ADVANCEafter?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ADVANCEafter value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ADVANCEafter + - TRIGger:B:SCAN:ADVANCEafter? + + **Info:** + - ```` is the value that advances the B-Event after the given number of acquisitions + have occurred. The default value is 1 and ranges from 1 to 2e9 (2000000000). + """ + + +class TriggerBScan(SCPICmdRead): + """The ``TRIGger:B:SCAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.advanceafter``: The ``TRIGger:B:SCAN:ADVANCEafter`` command. + - ``.enable``: The ``TRIGger:B:SCAN:ENAble`` command. + - ``.endevent``: The ``TRIGger:B:SCAN:ENDevent`` command. + - ``.mode``: The ``TRIGger:B:SCAN:MODE`` command. + - ``.startevent``: The ``TRIGger:B:SCAN:STARTevent`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._advanceafter = TriggerBScanAdvanceafter(device, f"{self._cmd_syntax}:ADVANCEafter") + self._enable = TriggerBScanEnable(device, f"{self._cmd_syntax}:ENAble") + self._endevent = TriggerBScanEndevent(device, f"{self._cmd_syntax}:ENDevent") + self._mode = TriggerBScanMode(device, f"{self._cmd_syntax}:MODE") + self._startevent = TriggerBScanStartevent(device, f"{self._cmd_syntax}:STARTevent") + + @property + def advanceafter(self) -> TriggerBScanAdvanceafter: + """Return the ``TRIGger:B:SCAN:ADVANCEafter`` command. + + **Description:** + - This command sets or queries the B-Event Scan advance after value. Advance After + advances the B-Event value after the specified number of acquisitions have occurred. + The B-Events value is updated in a sequential, random, or toggle mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ADVANCEafter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ADVANCEafter?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ADVANCEafter value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ADVANCEafter + - TRIGger:B:SCAN:ADVANCEafter? + + **Info:** + - ```` is the value that advances the B-Event after the given number of + acquisitions have occurred. The default value is 1 and ranges from 1 to 2e9 + (2000000000). + """ + return self._advanceafter + + @property + def enable(self) -> TriggerBScanEnable: + """Return the ``TRIGger:B:SCAN:ENAble`` command. + + **Description:** + - This command sets or queries if the B-Event Scan is on or off. The B-Events value is + updated in a sequential, random, or toggle Advance mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ENAble?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ENAble?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ENAble value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ENAble {ON|OFF} + - TRIGger:B:SCAN:ENAble? + + **Info:** + - ``ON`` with A->B Sequence mode set to Trig on nth Event, the B-Event count is + determined by the other B Scan triggering parameters such as Start Event value, End + Event value, Advance After value, and the Advance mode. + - ``OFF`` with A->B Sequence mode set to Trig on nth Event, behaves in a conventional + way. + """ + return self._enable + + @property + def endevent(self) -> TriggerBScanEndevent: + """Return the ``TRIGger:B:SCAN:ENDevent`` command. + + **Description:** + - This command sets or queries the end event value of B-Event Scan. The end event value + is greater than or equal to the start event value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:ENDevent?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:ENDevent?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:ENDevent value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:ENDevent + - TRIGger:B:SCAN:ENDevent? + + **Info:** + - ```` is the end event value of B-Event Scan. The default value is 8 and ranges + from 1 to 2e9. + """ + return self._endevent + + @property + def mode(self) -> TriggerBScanMode: + """Return the ``TRIGger:B:SCAN:MODE`` command. + + **Description:** + - This command sets or queries the sequence advance mode of B-Event Scan. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:MODE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:MODE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:MODE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:MODE {SEQUENTIAL|RANDOM|TOGGLE} + - TRIGger:B:SCAN:MODE? + + **Info:** + - ``SEQUENTIAL`` , where the B-Event Scan is initialized at start event. This value is + incremented after each set of Advance After triggers have occurred, until the B-Event + exceeds the end event value. Then the B-Event count is again set to the start event + value. + - ``RANDOM`` , where the B-Event value is changed to a random value such that start + event value <= BEvent <= end event value), and after Advance After triggers have + occurred. + - ``TOGGLE`` , where the B-Event count is first set to the start event value and then + changed to the end event value after additional Advance After triggers have occurred, + and then B-Event is set back to the start event value. + """ + return self._mode + + @property + def startevent(self) -> TriggerBScanStartevent: + """Return the ``TRIGger:B:SCAN:STARTevent`` command. + + **Description:** + - This command sets or queries the start event value of B-Event Scan. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN:STARTevent?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN:STARTevent?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:SCAN:STARTevent value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:SCAN:STARTevent + - TRIGger:B:SCAN:STARTevent? + + **Info:** + - ```` is the start event value of B-Event Scan. The default value is 1 and ranges + from 1 to 2e9. + """ + return self._startevent + + +class TriggerBResetType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:TYPe`` command. + + **Description:** + - This command sets or queries the type of A→B sequential trigger reset. If the B trigger + reset is active, the reset criteria are part of the B triggering sequence. If the reset + conditions defined by the reset type are not met, the instrument must start over searching + for a new occurrence of the A event. You must identify a trigger Source and Threshold for + each reset type, except for the Timeout, Accept, and Reject trigger types. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TYPe {NONe|TIMEOut|STATE|TRANsition|ACCepts|REJects} + - TRIGger:B:RESET:TYPe? + + **Info:** + - ``NONe`` defeats the trigger reset feature. + - ``TIMEOut`` initiates a reset if the timeout conditions specified by + ``TRIGger:B:RESET:TIMEOut`` are met. + - ``STATE`` initiates a reset if the state conditions specified by TRIGger: + ``B:RESET:SOUrce``, ``TRIGger:B:RESET:STATE``, and ``TRIGger:B:RESET:THReshold`` are met. + - ``TRANsition`` initiates a reset if the transition conditions specified by + ``TRIGger:B:RESET:SOUrce``, ``TRIGger:B:RESET:TRANsition``, and + ``TRIGger:B:RESET:THReshold`` are met. + - ``ACCepts`` initiates a trigger at the A-Event if the B-Event occurs before the Accept + Timeout, as measured from the A- to the B-Event. That is, the B-Event Accepts (validates) + the A- Event. Otherwise the oscilloscope does not trigger. The trigger location is at the + A-Event. + - ``REJects`` initiates a trigger if the Reject Timeout expires before the B-Event occurs, + as measured from the A- to the B-Event. That is, reception of the B-Event Rejects + (invalidates) the A-Event. Otherwise the oscilloscope does not trigger (if the B-Event + occurs before the Reject Timeout). The trigger location is at the A-Event. + """ + + +class TriggerBResetTransition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:TRANsition`` command. + + **Description:** + - This command sets or queries the type of transition required for a Transition trigger + reset. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TRANsition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TRANsition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TRANsition {RISe|FALL} + - TRIGger:B:RESET:TRANsition? + + **Info:** + - ``RISe`` indicates that a reset occurs when the trigger rises above the threshold level. + - ``FALL`` indicates that a reset occurs when the trigger falls below the threshold level. + """ + + +class TriggerBResetTotalcount(SCPICmdRead): + """The ``TRIGger:B:RESET:TOTALCOUNT`` command. + + **Description:** + - This command queries the Reset Total Count for a sequence trigger reset by the ACCept and + REJect Reset Types. These are often referred to as the Validation/Invalidation Triggers. + The TotalCount is the sum of the accepted and rejected triggers when the Reset or Accept + Reset Types are active, and is part of the equation TotalCount = AcceptCount + RejectCount + used to form the ratio of accepted to total triggers that is optionally displayed when + Validation/Invalidation Triggers are employed. For example, if the Reset Type Accept is + active, the TotalCount is the sum of the accepted and rejected triggers processed by the + Accept Reset Type, a query only value determined by the trigger system. Any acquired + waveform obtained by Accept or Reject Reset Types is positioned at the A-Event. For + example, if the Reset Type Reject is active, the TotalCount is the sum of the accepted and + rejected triggers processed by the Reject Reset Type, a query only value determined by the + trigger system. Any acquired waveform obtained by Accept or Reject Reset Types is + positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TOTALCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TOTALCOUNT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TOTALCOUNT? + """ + + +class TriggerBResetTimeout(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:TIMEOut`` command. + + **Description:** + - This command sets or queries the reset timer for a sequential timeout trigger reset. For + example, if the timeout is set to 1 s, this additional reset time begins following an A + trigger event and runs sequentially with any B Trigger Delay. If a B trigger event is not + found before it expires, the instrument searches for a new A event trigger sequence. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TIMEOut?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TIMEOut value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TIMEOut + - TRIGger:B:RESET:TIMEOut? + + **Info:** + - ```` specifies the reset time. + """ + + +class TriggerBResetThreshold(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:THReshold`` command. + + **Description:** + - This command sets or queries the trigger threshold for the A→B sequential trigger reset, + except for the Timeout reset type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:THReshold {ECL|TTL|} + - TRIGger:B:RESET:THReshold? + + **Info:** + - ``ECL`` sets the reset threshold to ECL voltage levels. + - ``TTL`` sets the reset threshold to TTL voltage levels. + - ```` sets the reset threshold in volts. + """ + + +class TriggerBResetState(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:STATE`` command. + + **Description:** + - This command sets or queries the trigger reset state for the A→B sequential State trigger + reset feature. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:STATE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:STATE {HIGH|LOW} + - TRIGger:B:RESET:STATE? + + **Info:** + - ``HIGH`` sets the condition for the state sequential trigger reset to high. + - ``LOW`` sets the condition for the state sequential trigger reset to low. + """ + + +class TriggerBResetSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:SOUrce`` command. + + **Description:** + - This command sets or queries the trigger source for the A→B sequential trigger reset + feature, except for the Timeout trigger type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:SOUrce {CH|AUXiliary} + - TRIGger:B:RESET:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels as the reset source. Input channels are + specified by x and can be 1, 2, 3, or 4. + - ``AUXiliary`` specifies an external trigger (using the Auxiliary Trigger Input connector) + as the reset source. + """ + + +class TriggerBResetRejecttimeout(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:REJECTTIMEout`` command. + + **Description:** + - This command sets or queries the Reset Reject Time Out timer for a sequence trigger reset + by the REJect Reset Type. This is often referred to as the Invalidation Trigger. The + Reject Time Out indicates the time measured from the A-Event in which the B-Event must + occur in order to reject the A-Event. When the B-Event does not occur within the Reject + Time Out, the scope triggers on the A-Event, because the B-Event is interpreted as an + invalidation or rejection of the A-Event. If the B-Event does occur within the Reject Time + Out, the scope again starts waiting for an A-Event to occur, i.e., no trigger occurs and + no acquisition is retained. Note that the acquired waveform trigger position is located at + the A-Event, contrary to the behavior of most A->B Sequence triggers. For example, if the + Reject Time Out is set to 5.2 µS, the A-Event will trigger the scope only if the B-Event + does not occur before 5.2 µS has elapsed after the A-Event. The acquired waveform is + positioned at the A-Event. When the B-Event does occur before the 5.2 µs has elapsed, then + the scope does not trigger, and again starts waiting for an A-Event to occur. In this way + the B-Event invalidates an A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:REJECTTIMEout?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:REJECTTIMEout?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:REJECTTIMEout value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:REJECTTIMEout + - TRIGger:B:RESET:REJECTTIMEout? + + **Info:** + - ```` specifies the Reject Time Out time. + """ + + +class TriggerBResetRejectcount(SCPICmdRead): + """The ``TRIGger:B:RESET:REJECTCOUNT`` command. + + **Description:** + - This command queries the Reset Reject Count for a sequence trigger reset by the ACCept and + REJect Reset Types. These are often referred to as the Validation/Invalidation Triggers. + The RejectCount is the number of triggers rejected when these triggers are active, and is + part of the equation TotalCount = AcceptCount + RejectCount used to form the ratio of + accepted to total triggers that is optionally displayed when Validation/Invalidation + Triggers are employed. For example, if the Reset Type Accept is active, the RejectCount is + the number of triggers that have been rejected, a query only value determined by the + trigger system. For example, if Reset Type Reject is active, the RejectCount is the number + of triggers that have been rejected, a query only value determined by the trigger system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:REJECTCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:REJECTCOUNT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:REJECTCOUNT? + """ + + +class TriggerBResetRatioenable(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:RATIOENable`` command. + + **Description:** + - This command sets or queries the Ratio Enable enumerated value (OFF/ON). If ON, a ratio is + displayed in the graticule area. The displayed value represents the ratio of accepted to + total triggers for a sequence trigger reset by the ACCept and REJect Reset Types. These + are often referred to as the Validation/Invalidation Triggers. The default value is ON. + For example, if the Reset Type Accept is active, and RatioEnable is ON, the ratio of + accepted to total triggers is displayed in the graticule area as a percent. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:RATIOENable?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:RATIOENable?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:RATIOENable value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:RATIOENable + - TRIGger:B:RESET:RATIOENable? + """ + + +class TriggerBResetRatio(SCPICmdRead): + """The ``TRIGger:B:RESET:RATIO`` command. + + **Description:** + - This command queries the (floating point) Ratio of accepted to total triggers for a + sequence trigger reset by the ACCepts and REJects Reset Types. These are often referred to + as the Validation/Invalidation Triggers. The Ratio = Accepted Count / Total Count, and is + a query only value generated by the trigger system. The TotalCount = AcceptCount + + RejectCount. For example, if the Reset Type Accept is active, and 100 triggers have been + accepted and 100 trigger have been rejected, then the ratio = acceptCount / totalCount, + then the ratio is 50%. The ratio is expressed in scientific notation. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:RATIO?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:RATIO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:RATIO? + """ + + +class TriggerBResetAccepttimeout(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:RESET:ACCEPTTIMEout`` command. + + **Description:** + - This command sets or queries the Reset Accept Time Out timer for a sequence trigger reset + by the ACCept Reset Type. This is often referred to as the Validation Trigger. The Accept + Time Out indicates the time, as measured from the A-Event to the B-Event, in which the + B-Event must occur in order to accept the A-Event. When the B-Event occurs within the + Accept Time Out, the scope triggers on the A-Event, because the B-Event is interpreted as + a validation of the A-Event. Note that the acquired waveform trigger position is location + at the A-Event, contrary to the behavior of most A->B Sequence triggers. In this way, the + B-Event validates the A-Event. If the B-Event does not occur within the Accept Time Out, + the scope again starts waiting for an A-Event to occur, i.e., no trigger occurs and the + acquisition is not retained. For example, if the Accept Time Out is set to 5.2 µs, the + A-Event will trigger the scope only if the B-Event occurs before 5.2 µs has elapsed after + the A-Event. Any acquired waveform is positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:ACCEPTTIMEout?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:ACCEPTTIMEout?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:ACCEPTTIMEout value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:ACCEPTTIMEout + - TRIGger:B:RESET:ACCEPTTIMEout? + + **Info:** + - ```` specifies the Accept Time Out time. + """ + + +class TriggerBResetAcceptcount(SCPICmdRead): + """The ``TRIGger:B:RESET:ACCEPTCOUNT`` command. + + **Description:** + - This command queries the Reset Accept Count for a sequence trigger reset by the ACCept and + REJect Reset Types. These are often referred to as the Validation/Invalidation Triggers. + The AcceptCount is equivalent to the number of acquired waveforms, and is part of the + equation TotalCount = AcceptCount + RejectCount used to form the ratio of accepted to + total triggers that is optionally displayed when Validation/Invalidation Triggers are + employed. The Accept Count is always equal the Acquisition Count. For example, if the + Reset Type Accept is active, the AcceptCount is the number of triggers that have been + accepted, a query only value determined by the trigger system. Any acquired waveform + obtained by Reset Type Accept or Reject is positioned at the A-Event. For example, if + Reset Type Reject is active, the AcceptCount is still the number of triggers that have + been accepted, a query only value determined by the trigger system. Any acquired waveform + obtained by Reset Type Accept or Reject is positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:ACCEPTCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:ACCEPTCOUNT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:ACCEPTCOUNT? + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerBReset(SCPICmdRead): + """The ``TRIGger:B:RESET`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.acceptcount``: The ``TRIGger:B:RESET:ACCEPTCOUNT`` command. + - ``.accepttimeout``: The ``TRIGger:B:RESET:ACCEPTTIMEout`` command. + - ``.ratio``: The ``TRIGger:B:RESET:RATIO`` command. + - ``.ratioenable``: The ``TRIGger:B:RESET:RATIOENable`` command. + - ``.rejectcount``: The ``TRIGger:B:RESET:REJECTCOUNT`` command. + - ``.rejecttimeout``: The ``TRIGger:B:RESET:REJECTTIMEout`` command. + - ``.source``: The ``TRIGger:B:RESET:SOUrce`` command. + - ``.state``: The ``TRIGger:B:RESET:STATE`` command. + - ``.threshold``: The ``TRIGger:B:RESET:THReshold`` command. + - ``.timeout``: The ``TRIGger:B:RESET:TIMEOut`` command. + - ``.totalcount``: The ``TRIGger:B:RESET:TOTALCOUNT`` command. + - ``.transition``: The ``TRIGger:B:RESET:TRANsition`` command. + - ``.type``: The ``TRIGger:B:RESET:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._acceptcount = TriggerBResetAcceptcount(device, f"{self._cmd_syntax}:ACCEPTCOUNT") + self._accepttimeout = TriggerBResetAccepttimeout( + device, f"{self._cmd_syntax}:ACCEPTTIMEout" + ) + self._ratio = TriggerBResetRatio(device, f"{self._cmd_syntax}:RATIO") + self._ratioenable = TriggerBResetRatioenable(device, f"{self._cmd_syntax}:RATIOENable") + self._rejectcount = TriggerBResetRejectcount(device, f"{self._cmd_syntax}:REJECTCOUNT") + self._rejecttimeout = TriggerBResetRejecttimeout( + device, f"{self._cmd_syntax}:REJECTTIMEout" + ) + self._source = TriggerBResetSource(device, f"{self._cmd_syntax}:SOUrce") + self._state = TriggerBResetState(device, f"{self._cmd_syntax}:STATE") + self._threshold = TriggerBResetThreshold(device, f"{self._cmd_syntax}:THReshold") + self._timeout = TriggerBResetTimeout(device, f"{self._cmd_syntax}:TIMEOut") + self._totalcount = TriggerBResetTotalcount(device, f"{self._cmd_syntax}:TOTALCOUNT") + self._transition = TriggerBResetTransition(device, f"{self._cmd_syntax}:TRANsition") + self._type = TriggerBResetType(device, f"{self._cmd_syntax}:TYPe") + + @property + def acceptcount(self) -> TriggerBResetAcceptcount: + """Return the ``TRIGger:B:RESET:ACCEPTCOUNT`` command. + + **Description:** + - This command queries the Reset Accept Count for a sequence trigger reset by the ACCept + and REJect Reset Types. These are often referred to as the Validation/Invalidation + Triggers. The AcceptCount is equivalent to the number of acquired waveforms, and is + part of the equation TotalCount = AcceptCount + RejectCount used to form the ratio of + accepted to total triggers that is optionally displayed when Validation/Invalidation + Triggers are employed. The Accept Count is always equal the Acquisition Count. For + example, if the Reset Type Accept is active, the AcceptCount is the number of triggers + that have been accepted, a query only value determined by the trigger system. Any + acquired waveform obtained by Reset Type Accept or Reject is positioned at the + A-Event. For example, if Reset Type Reject is active, the AcceptCount is still the + number of triggers that have been accepted, a query only value determined by the + trigger system. Any acquired waveform obtained by Reset Type Accept or Reject is + positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:ACCEPTCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:ACCEPTCOUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:ACCEPTCOUNT? + """ + return self._acceptcount + + @property + def accepttimeout(self) -> TriggerBResetAccepttimeout: + """Return the ``TRIGger:B:RESET:ACCEPTTIMEout`` command. + + **Description:** + - This command sets or queries the Reset Accept Time Out timer for a sequence trigger + reset by the ACCept Reset Type. This is often referred to as the Validation Trigger. + The Accept Time Out indicates the time, as measured from the A-Event to the B-Event, + in which the B-Event must occur in order to accept the A-Event. When the B-Event + occurs within the Accept Time Out, the scope triggers on the A-Event, because the + B-Event is interpreted as a validation of the A-Event. Note that the acquired waveform + trigger position is location at the A-Event, contrary to the behavior of most A->B + Sequence triggers. In this way, the B-Event validates the A-Event. If the B-Event does + not occur within the Accept Time Out, the scope again starts waiting for an A-Event to + occur, i.e., no trigger occurs and the acquisition is not retained. For example, if + the Accept Time Out is set to 5.2 µs, the A-Event will trigger the scope only if the + B-Event occurs before 5.2 µs has elapsed after the A-Event. Any acquired waveform is + positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:ACCEPTTIMEout?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:ACCEPTTIMEout?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:RESET:ACCEPTTIMEout value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:ACCEPTTIMEout + - TRIGger:B:RESET:ACCEPTTIMEout? + + **Info:** + - ```` specifies the Accept Time Out time. + """ + return self._accepttimeout + + @property + def ratio(self) -> TriggerBResetRatio: + """Return the ``TRIGger:B:RESET:RATIO`` command. + + **Description:** + - This command queries the (floating point) Ratio of accepted to total triggers for a + sequence trigger reset by the ACCepts and REJects Reset Types. These are often + referred to as the Validation/Invalidation Triggers. The Ratio = Accepted Count / + Total Count, and is a query only value generated by the trigger system. The TotalCount + = AcceptCount + RejectCount. For example, if the Reset Type Accept is active, and 100 + triggers have been accepted and 100 trigger have been rejected, then the ratio = + acceptCount / totalCount, then the ratio is 50%. The ratio is expressed in scientific + notation. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:RATIO?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:RATIO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:RATIO? + """ + return self._ratio + + @property + def ratioenable(self) -> TriggerBResetRatioenable: + """Return the ``TRIGger:B:RESET:RATIOENable`` command. + + **Description:** + - This command sets or queries the Ratio Enable enumerated value (OFF/ON). If ON, a + ratio is displayed in the graticule area. The displayed value represents the ratio of + accepted to total triggers for a sequence trigger reset by the ACCept and REJect Reset + Types. These are often referred to as the Validation/Invalidation Triggers. The + default value is ON. For example, if the Reset Type Accept is active, and RatioEnable + is ON, the ratio of accepted to total triggers is displayed in the graticule area as a + percent. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:RATIOENable?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:RATIOENable?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:RATIOENable value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:RATIOENable + - TRIGger:B:RESET:RATIOENable? + """ + return self._ratioenable + + @property + def rejectcount(self) -> TriggerBResetRejectcount: + """Return the ``TRIGger:B:RESET:REJECTCOUNT`` command. + + **Description:** + - This command queries the Reset Reject Count for a sequence trigger reset by the ACCept + and REJect Reset Types. These are often referred to as the Validation/Invalidation + Triggers. The RejectCount is the number of triggers rejected when these triggers are + active, and is part of the equation TotalCount = AcceptCount + RejectCount used to + form the ratio of accepted to total triggers that is optionally displayed when + Validation/Invalidation Triggers are employed. For example, if the Reset Type Accept + is active, the RejectCount is the number of triggers that have been rejected, a query + only value determined by the trigger system. For example, if Reset Type Reject is + active, the RejectCount is the number of triggers that have been rejected, a query + only value determined by the trigger system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:REJECTCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:REJECTCOUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:REJECTCOUNT? + """ + return self._rejectcount + + @property + def rejecttimeout(self) -> TriggerBResetRejecttimeout: + """Return the ``TRIGger:B:RESET:REJECTTIMEout`` command. + + **Description:** + - This command sets or queries the Reset Reject Time Out timer for a sequence trigger + reset by the REJect Reset Type. This is often referred to as the Invalidation Trigger. + The Reject Time Out indicates the time measured from the A-Event in which the B-Event + must occur in order to reject the A-Event. When the B-Event does not occur within the + Reject Time Out, the scope triggers on the A-Event, because the B-Event is interpreted + as an invalidation or rejection of the A-Event. If the B-Event does occur within the + Reject Time Out, the scope again starts waiting for an A-Event to occur, i.e., no + trigger occurs and no acquisition is retained. Note that the acquired waveform trigger + position is located at the A-Event, contrary to the behavior of most A->B Sequence + triggers. For example, if the Reject Time Out is set to 5.2 µS, the A-Event will + trigger the scope only if the B-Event does not occur before 5.2 µS has elapsed after + the A-Event. The acquired waveform is positioned at the A-Event. When the B-Event does + occur before the 5.2 µs has elapsed, then the scope does not trigger, and again starts + waiting for an A-Event to occur. In this way the B-Event invalidates an A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:REJECTTIMEout?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:REJECTTIMEout?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:RESET:REJECTTIMEout value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:REJECTTIMEout + - TRIGger:B:RESET:REJECTTIMEout? + + **Info:** + - ```` specifies the Reject Time Out time. + """ + return self._rejecttimeout + + @property + def source(self) -> TriggerBResetSource: + """Return the ``TRIGger:B:RESET:SOUrce`` command. + + **Description:** + - This command sets or queries the trigger source for the A→B sequential trigger reset + feature, except for the Timeout trigger type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:SOUrce {CH|AUXiliary} + - TRIGger:B:RESET:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels as the reset source. Input channels are + specified by x and can be 1, 2, 3, or 4. + - ``AUXiliary`` specifies an external trigger (using the Auxiliary Trigger Input + connector) as the reset source. + """ + return self._source + + @property + def state(self) -> TriggerBResetState: + """Return the ``TRIGger:B:RESET:STATE`` command. + + **Description:** + - This command sets or queries the trigger reset state for the A→B sequential State + trigger reset feature. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:STATE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:STATE {HIGH|LOW} + - TRIGger:B:RESET:STATE? + + **Info:** + - ``HIGH`` sets the condition for the state sequential trigger reset to high. + - ``LOW`` sets the condition for the state sequential trigger reset to low. + """ + return self._state + + @property + def threshold(self) -> TriggerBResetThreshold: + """Return the ``TRIGger:B:RESET:THReshold`` command. + + **Description:** + - This command sets or queries the trigger threshold for the A→B sequential trigger + reset, except for the Timeout reset type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:THReshold value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:THReshold {ECL|TTL|} + - TRIGger:B:RESET:THReshold? + + **Info:** + - ``ECL`` sets the reset threshold to ECL voltage levels. + - ``TTL`` sets the reset threshold to TTL voltage levels. + - ```` sets the reset threshold in volts. + """ + return self._threshold + + @property + def timeout(self) -> TriggerBResetTimeout: + """Return the ``TRIGger:B:RESET:TIMEOut`` command. + + **Description:** + - This command sets or queries the reset timer for a sequential timeout trigger reset. + For example, if the timeout is set to 1 s, this additional reset time begins following + an A trigger event and runs sequentially with any B Trigger Delay. If a B trigger + event is not found before it expires, the instrument searches for a new A event + trigger sequence. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TIMEOut?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TIMEOut value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TIMEOut + - TRIGger:B:RESET:TIMEOut? + + **Info:** + - ```` specifies the reset time. + """ + return self._timeout + + @property + def totalcount(self) -> TriggerBResetTotalcount: + """Return the ``TRIGger:B:RESET:TOTALCOUNT`` command. + + **Description:** + - This command queries the Reset Total Count for a sequence trigger reset by the ACCept + and REJect Reset Types. These are often referred to as the Validation/Invalidation + Triggers. The TotalCount is the sum of the accepted and rejected triggers when the + Reset or Accept Reset Types are active, and is part of the equation TotalCount = + AcceptCount + RejectCount used to form the ratio of accepted to total triggers that is + optionally displayed when Validation/Invalidation Triggers are employed. For example, + if the Reset Type Accept is active, the TotalCount is the sum of the accepted and + rejected triggers processed by the Accept Reset Type, a query only value determined by + the trigger system. Any acquired waveform obtained by Accept or Reject Reset Types is + positioned at the A-Event. For example, if the Reset Type Reject is active, the + TotalCount is the sum of the accepted and rejected triggers processed by the Reject + Reset Type, a query only value determined by the trigger system. Any acquired waveform + obtained by Accept or Reject Reset Types is positioned at the A-Event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TOTALCOUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TOTALCOUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TOTALCOUNT? + """ + return self._totalcount + + @property + def transition(self) -> TriggerBResetTransition: + """Return the ``TRIGger:B:RESET:TRANsition`` command. + + **Description:** + - This command sets or queries the type of transition required for a Transition trigger + reset. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TRANsition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TRANsition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TRANsition {RISe|FALL} + - TRIGger:B:RESET:TRANsition? + + **Info:** + - ``RISe`` indicates that a reset occurs when the trigger rises above the threshold + level. + - ``FALL`` indicates that a reset occurs when the trigger falls below the threshold + level. + """ + return self._transition + + @property + def type(self) -> TriggerBResetType: + """Return the ``TRIGger:B:RESET:TYPe`` command. + + **Description:** + - This command sets or queries the type of A→B sequential trigger reset. If the B + trigger reset is active, the reset criteria are part of the B triggering sequence. If + the reset conditions defined by the reset type are not met, the instrument must start + over searching for a new occurrence of the A event. You must identify a trigger Source + and Threshold for each reset type, except for the Timeout, Accept, and Reject trigger + types. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:RESET:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:RESET:TYPe {NONe|TIMEOut|STATE|TRANsition|ACCepts|REJects} + - TRIGger:B:RESET:TYPe? + + **Info:** + - ``NONe`` defeats the trigger reset feature. + - ``TIMEOut`` initiates a reset if the timeout conditions specified by + ``TRIGger:B:RESET:TIMEOut`` are met. + - ``STATE`` initiates a reset if the state conditions specified by TRIGger: + ``B:RESET:SOUrce``, ``TRIGger:B:RESET:STATE``, and ``TRIGger:B:RESET:THReshold`` are + met. + - ``TRANsition`` initiates a reset if the transition conditions specified by + ``TRIGger:B:RESET:SOUrce``, ``TRIGger:B:RESET:TRANsition``, and + ``TRIGger:B:RESET:THReshold`` are met. + - ``ACCepts`` initiates a trigger at the A-Event if the B-Event occurs before the Accept + Timeout, as measured from the A- to the B-Event. That is, the B-Event Accepts + (validates) the A- Event. Otherwise the oscilloscope does not trigger. The trigger + location is at the A-Event. + - ``REJects`` initiates a trigger if the Reject Timeout expires before the B-Event + occurs, as measured from the A- to the B-Event. That is, reception of the B-Event + Rejects (invalidates) the A-Event. Otherwise the oscilloscope does not trigger (if the + B-Event occurs before the Reject Timeout). The trigger location is at the A-Event. + """ + return self._type + + +class TriggerBReady(SCPICmdRead): + """The ``TRIGger:B:READY`` command. + + **Description:** + - This command queries the trigger ready state and provides the immediate state from the + trigger system. It is a more synchronous means of determining when the oscilloscope is + ready to trigger. The ``TRIGGER:STATE`` reflects a less-frequently updated status of the + trigger LEDs on the instrument front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:READY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:READY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:READY? + """ + + +class TriggerBPulseWindowWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:WIDTH`` command. + + **Description:** + - This command sets or queries the minimum width for a window violation. This command is + equivalent to selecting Window Setup from the Trig menu, selecting Wider than in the + Trigger When box, and setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:WIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:WIDTH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:WIDTH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:WIDTH + - TRIGger:B:PULse:WINdow:WIDTH? + + **Info:** + - ```` argument specifies the minimum width in seconds. + """ + + +class TriggerBPulseWindowWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:WHEn`` command. + + **Description:** + - This command set or queries the + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:WINdow:WHEn? + """ + + +class TriggerBPulseWindowType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:TYPe`` command. + + **Description:** + - This command set or queries the + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:B:PULse:WINdow:TYPe? + """ + + +class TriggerBPulseWindowThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:LOW + - TRIGger:B:PULse:WINdow:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerBPulseWindowThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the window trigger + Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:HIGH + - TRIGger:B:PULse:WINdow:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerBPulseWindowThresholdBoth(SCPICmdWrite): + """The ``TRIGger:B:PULse:WINdow:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the window + trigger. This command is equivalent to selecting Window Setup from the Trig menu and then + setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` argument sets the upper and the lower threshold to the nominal TTL voltage levels. + - ``ECL`` argument sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerBPulseWindowThreshold(SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the window trigger. + This command query is equivalent to selecting Window Setup from the Trig menu and viewing + the window trigger Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold? + + Properties: + - ``.both``: The ``TRIGger:B:PULse:WINdow:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:WINdow:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerBPulseWindowThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerBPulseWindowThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerBPulseWindowThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerBPulseWindowThresholdBoth: + """Return the ``TRIGger:B:PULse:WINdow:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the + window trigger. This command is equivalent to selecting Window Setup from the Trig + menu and then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` argument sets the upper and the lower threshold to the nominal TTL voltage + levels. + - ``ECL`` argument sets the upper and the lower threshold to the nominal ECL voltage + levels. + """ + return self._both + + @property + def high(self) -> TriggerBPulseWindowThresholdHigh: + """Return the ``TRIGger:B:PULse:WINdow:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse window trigger. This + command is equivalent to selecting Window Setup from the Trig menu and setting the + window trigger Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:HIGH + - TRIGger:B:PULse:WINdow:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._high + + @property + def low(self) -> TriggerBPulseWindowThresholdLow: + """Return the ``TRIGger:B:PULse:WINdow:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold:LOW + - TRIGger:B:PULse:WINdow:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._low + + +class TriggerBPulseWindowQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:QUAlify`` command. + + **Description:** + - This command sets or queries the Window Trigger qualification. This is equivalent to + selecting Window Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Window drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WINdow:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseWindowPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:POLarity:CH`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the specified channel. + The oscilloscope triggers only when the signal exits the window. The command is available + only when the Window Event is set to Inside > t and not available for the rest of the + window events. The logic selection is available only when the polarity is set to Either. + is the search number or channel number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity:CH? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + """ + + +class TriggerBPulseWindowPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the selected trigger + Source. The instrument triggers when the signal exits the window. The command is available + only when the option Inside > t is selected in the Window Event drop-dowm list and not + available for the rest of the window events. The logic selection is available only when + the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:WINdow:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseWindowPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseWindowPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseWindowPolarityChannel]: + """Return the ``TRIGger:B:PULse:WINdow:POLarity:CH`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the specified + channel. The oscilloscope triggers only when the signal exits the window. The command + is available only when the Window Event is set to Inside > t and not available for the + rest of the window events. The logic selection is available only when the polarity is + set to Either. is the search number or channel number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity:CH? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + """ + return self._ch + + +class TriggerBPulseWindowEvent(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow:EVENT`` command. + + **Description:** + - This command sets or queries the window trigger event. This command is equivalent to + selecting Window Setup from the Trig menu and selecting from the Window Event box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:EVENT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:EVENT value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:B:PULse:WINdow:EVENT? + + **Info:** + - ``OUTSIDEGreater`` specifies a trigger event when the signal leaves the window defined by + the threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a trigger event when the signal enters the window defined by + the threshold levels for the time specified by Width. + - ``ENTERSWindow`` specifies a trigger event when the signal enters the window defined by + the threshold levels. + - ``EXITSWindow`` specifies a trigger event when the signal leaves the window defined by the + threshold levels. + """ + + +class TriggerBPulseWindow(SCPICmdRead): + """The ``TRIGger:B:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.type``: The ``TRIGger:B:PULse:WINdow:TYPe`` command. + - ``.when``: The ``TRIGger:B:PULse:WINdow:WHEn`` command. + - ``.event``: The ``TRIGger:B:PULse:WINdow:EVENT`` command. + - ``.polarity``: The ``TRIGger:B:PULse:WINdow:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:WINdow:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:WINdow:THReshold`` command. + - ``.width``: The ``TRIGger:B:PULse:WINdow:WIDTH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._event = TriggerBPulseWindowEvent(device, f"{self._cmd_syntax}:EVENT") + self._polarity = TriggerBPulseWindowPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseWindowQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerBPulseWindowThreshold(device, f"{self._cmd_syntax}:THReshold") + self._type = TriggerBPulseWindowType(device, f"{self._cmd_syntax}:TYPe") + self._when = TriggerBPulseWindowWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = TriggerBPulseWindowWidth(device, f"{self._cmd_syntax}:WIDTH") + + @property + def event(self) -> TriggerBPulseWindowEvent: + """Return the ``TRIGger:B:PULse:WINdow:EVENT`` command. + + **Description:** + - This command sets or queries the window trigger event. This command is equivalent to + selecting Window Setup from the Trig menu and selecting from the Window Event box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:EVENT?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:EVENT value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:B:PULse:WINdow:EVENT? + + **Info:** + - ``OUTSIDEGreater`` specifies a trigger event when the signal leaves the window defined + by the threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a trigger event when the signal enters the window defined + by the threshold levels for the time specified by Width. + - ``ENTERSWindow`` specifies a trigger event when the signal enters the window defined + by the threshold levels. + - ``EXITSWindow`` specifies a trigger event when the signal leaves the window defined by + the threshold levels. + """ + return self._event + + @property + def polarity(self) -> TriggerBPulseWindowPolarity: + """Return the ``TRIGger:B:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the selected trigger + Source. The instrument triggers when the signal exits the window. The command is + available only when the option Inside > t is selected in the Window Event drop-dowm + list and not available for the rest of the window events. The logic selection is + available only when the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:WINdow:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseWindowQualify: + """Return the ``TRIGger:B:PULse:WINdow:QUAlify`` command. + + **Description:** + - This command sets or queries the Window Trigger qualification. This is equivalent to + selecting Window Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Window drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WINdow:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerBPulseWindowThreshold: + """Return the ``TRIGger:B:PULse:WINdow:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the window trigger. + This command query is equivalent to selecting Window Setup from the Trig menu and + viewing the window trigger Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WINdow:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:B:PULse:WINdow:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:WINdow:THReshold:LOW`` command. + """ + return self._threshold + + @property + def type(self) -> TriggerBPulseWindowType: + """Return the ``TRIGger:B:PULse:WINdow:TYPe`` command. + + **Description:** + - This command set or queries the + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:B:PULse:WINdow:TYPe? + """ + return self._type + + @property + def when(self) -> TriggerBPulseWindowWhen: + """Return the ``TRIGger:B:PULse:WINdow:WHEn`` command. + + **Description:** + - This command set or queries the + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WINdow:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:WINdow:WHEn? + """ + return self._when + + @property + def width(self) -> TriggerBPulseWindowWidth: + """Return the ``TRIGger:B:PULse:WINdow:WIDTH`` command. + + **Description:** + - This command sets or queries the minimum width for a window violation. This command is + equivalent to selecting Window Setup from the Trig menu, selecting Wider than in the + Trigger When box, and setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow:WIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow:WIDTH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WINdow:WIDTH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WINdow:WIDTH + - TRIGger:B:PULse:WINdow:WIDTH? + + **Info:** + - ```` argument specifies the minimum width in seconds. + """ + return self._width + + +class TriggerBPulseWidthWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:WHEn`` command. + + **Description:** + - This command sets or queries whether to trigger on a pulse width that falls outside (or + within) the specified range of limits. You can define or query trigger pulse width upper + and lower limits using the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands. This command is equivalent to selecting Width + Setup from the Trig menu and then choosing from the Trig When drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:B:PULse:WIDth:WHEn? + + **Info:** + - ``OUTside`` argument causes a trigger event the duration of the pulse is greater than the + high limit or less than the low limit specified. The high and low limits are specified + with the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` + commands respectively. + - ``WIThin`` argument causes a trigger event when the duration of the pulse is within the + high and low limits. The high and low limits are specified with the + ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` command + respectively. + """ + + +class TriggerBPulseWidthQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:QUAlify`` command. + + **Description:** + - This command sets or queries the Width Trigger qualification. This is equivalent to + selecting Width Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Width drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:QUAlify?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WIDth:QUAlify? + + **Info:** + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseWidthPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse width trigger for the + channel. This command is equivalent to selecting Width Setup from the Trig menu and then + selecting the pulse width trigger Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WIDth:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity:CH? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + """ + + +class TriggerBPulseWidthPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and selecting the Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:WIDth:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseWidthPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseWidthPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseWidthPolarityChannel]: + """Return the ``TRIGger:B:PULse:WIDth:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse width trigger for the + channel. This command is equivalent to selecting Width Setup from the Trig menu and + then selecting the pulse width trigger Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WIDth:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity:CH? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + """ + return self._ch + + +class TriggerBPulseWidthLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turn off the low­pass filter feature for pulse width trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:LOWPASSfilter?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:WIDth:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerBPulseWidthLowlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:LOWLimit`` command. + + **Description:** + - This command sets or queries the lower limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the pulse Lower Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:LOWLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:LOWLimit + - TRIGger:B:PULse:WIDth:LOWLimit? + + **Info:** + - ```` specifies the A pulse width trigger lower limit in seconds. + """ + + +class TriggerBPulseWidthHighlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth:HIGHLimit`` command. + + **Description:** + - This command sets or queries the upper limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the Upper Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:HIGHLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:HIGHLimit + - TRIGger:B:PULse:WIDth:HIGHLimit? + + **Info:** + - ```` specifies the width trigger upper limit in seconds. + """ + + +class TriggerBPulseWidth(SCPICmdRead): + """The ``TRIGger:B:PULse:WIDth`` command. + + **Description:** + - This query-only command returns the width parameters for the pulse width trigger. This + command is equivalent to selecting Width Setup from the Trig menu and then viewing the + current pulse width trigger Lower Limit, Upper Limit, Trig When and Polarity settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth? + + Properties: + - ``.highlimit``: The ``TRIGger:B:PULse:WIDth:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:B:PULse:WIDth:LOWLimit`` command. + - ``.lowpassfilter``: The ``TRIGger:B:PULse:WIDth:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:WIDth:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:WIDth:QUAlify`` command. + - ``.when``: The ``TRIGger:B:PULse:WIDth:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._highlimit = TriggerBPulseWidthHighlimit(device, f"{self._cmd_syntax}:HIGHLimit") + self._lowlimit = TriggerBPulseWidthLowlimit(device, f"{self._cmd_syntax}:LOWLimit") + self._lowpassfilter = TriggerBPulseWidthLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerBPulseWidthPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseWidthQualify(device, f"{self._cmd_syntax}:QUAlify") + self._when = TriggerBPulseWidthWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def highlimit(self) -> TriggerBPulseWidthHighlimit: + """Return the ``TRIGger:B:PULse:WIDth:HIGHLimit`` command. + + **Description:** + - This command sets or queries the upper limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the Upper Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:HIGHLimit?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:HIGHLimit + - TRIGger:B:PULse:WIDth:HIGHLimit? + + **Info:** + - ```` specifies the width trigger upper limit in seconds. + """ + return self._highlimit + + @property + def lowlimit(self) -> TriggerBPulseWidthLowlimit: + """Return the ``TRIGger:B:PULse:WIDth:LOWLimit`` command. + + **Description:** + - This command sets or queries the lower limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the pulse Lower + Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:LOWLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:LOWLimit + - TRIGger:B:PULse:WIDth:LOWLimit? + + **Info:** + - ```` specifies the A pulse width trigger lower limit in seconds. + """ + return self._lowlimit + + @property + def lowpassfilter(self) -> TriggerBPulseWidthLowpassfilter: + """Return the ``TRIGger:B:PULse:WIDth:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turn off the low­pass filter feature for pulse width trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:WIDth:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:WIDth:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerBPulseWidthPolarity: + """Return the ``TRIGger:B:PULse:WIDth:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and selecting the Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:WIDth:POLarity? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:WIDth:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseWidthQualify: + """Return the ``TRIGger:B:PULse:WIDth:QUAlify`` command. + + **Description:** + - This command sets or queries the Width Trigger qualification. This is equivalent to + selecting Width Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Width drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:WIDth:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:WIDth:QUAlify? + + **Info:** + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def when(self) -> TriggerBPulseWidthWhen: + """Return the ``TRIGger:B:PULse:WIDth:WHEn`` command. + + **Description:** + - This command sets or queries whether to trigger on a pulse width that falls outside + (or within) the specified range of limits. You can define or query trigger pulse width + upper and lower limits using the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands. This command is equivalent to selecting + Width Setup from the Trig menu and then choosing from the Trig When drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:WIDth:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:B:PULse:WIDth:WHEn? + + **Info:** + - ``OUTside`` argument causes a trigger event the duration of the pulse is greater than + the high limit or less than the low limit specified. The high and low limits are + specified with the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands respectively. + - ``WIThin`` argument causes a trigger event when the duration of the pulse is within + the high and low limits. The high and low limits are specified with the + ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` command + respectively. + """ + return self._when + + +class TriggerBPulseTransitionWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:WHEn`` command. + + **Description:** + - This command sets or queries whether to check for a transitioning signal that is faster or + slower than the specified delta time. This is equivalent to selecting Transition Setup + from the Trig menu and choosing the Trigger When Transition Time setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:TRANsition:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:B:PULse:TRANsition:WHEn? + + **Info:** + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than the + set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than the + set volts/second rate. + """ + + +class TriggerBPulseTransitionThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower (most negative) transition trigger threshold. This + command is equivalent to selecting Transition Setup from the Trig menu and setting the + desired Lower Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:LOW + - TRIGger:B:PULse:TRANsition:THReshold:LOW? + + **Info:** + - ```` specifies the lower threshold in volts. + """ + + +class TriggerBPulseTransitionThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper (most positive) transition trigger threshold. This + command is equivalent to selecting Transition Setup from the Trig menu and then setting + the desired Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:HIGH + - TRIGger:B:PULse:TRANsition:THReshold:HIGH? + + **Info:** + - ```` specifies the upper threshold in volts. + """ + + +class TriggerBPulseTransitionThresholdBoth(SCPICmdWrite): + """The ``TRIGger:B:PULse:TRANsition:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower thresholds for the transition + trigger. This command is equivalent to selecting Transition Setup from the Trig menu and + setting the desired Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerBPulseTransitionThreshold(SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower threshold limits for the transition + time trigger. This command is equivalent to selecting Transition Setup from the Trig menu + and viewing the Upper Level and Lower Level voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold? + + Properties: + - ``.both``: The ``TRIGger:B:PULse:TRANsition:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:TRANsition:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerBPulseTransitionThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerBPulseTransitionThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerBPulseTransitionThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerBPulseTransitionThresholdBoth: + """Return the ``TRIGger:B:PULse:TRANsition:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower thresholds for the transition + trigger. This command is equivalent to selecting Transition Setup from the Trig menu + and setting the desired Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + return self._both + + @property + def high(self) -> TriggerBPulseTransitionThresholdHigh: + """Return the ``TRIGger:B:PULse:TRANsition:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper (most positive) transition trigger threshold. + This command is equivalent to selecting Transition Setup from the Trig menu and then + setting the desired Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:HIGH + - TRIGger:B:PULse:TRANsition:THReshold:HIGH? + + **Info:** + - ```` specifies the upper threshold in volts. + """ + return self._high + + @property + def low(self) -> TriggerBPulseTransitionThresholdLow: + """Return the ``TRIGger:B:PULse:TRANsition:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower (most negative) transition trigger threshold. + This command is equivalent to selecting Transition Setup from the Trig menu and + setting the desired Lower Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold:LOW + - TRIGger:B:PULse:TRANsition:THReshold:LOW? + + **Info:** + - ```` specifies the lower threshold in volts. + """ + return self._low + + +class TriggerBPulseTransitionQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:QUAlify`` command. + + **Description:** + - This command sets or queries the Transition Time Trigger qualification. This is equivalent + to selecting Transition Setup from the Trig menu and selecting Occurs, Logic, or Bus in + the Trigger If Transition drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TRANsition:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any violations occur. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseTransitionPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse transition trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu and + then choosing from the Polarity pull-down list for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:TRANsition:POLarity:CH? + + **Info:** + - ``EITher`` indicates either positive or negative polarity. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) to + lower (most negative) level for transition triggering to occur. + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) to + higher (post positive) level for transition triggering to occur. + """ + + +class TriggerBPulseTransitionPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the transition trigger. This command is + equivalent to selecting Transition Setup from the Trig menu and choosing from the Polarity + drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:TRANsition:POLarity? + + **Info:** + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) to + higher (most positive) level for transition triggering to occur. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) to + lower (most negative) level for transition triggering to occur. + - ``EITher`` indicates either positive or negative polarity. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:TRANsition:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseTransitionPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseTransitionPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseTransitionPolarityChannel]: + """Return the ``TRIGger:B:PULse:TRANsition:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse transition trigger for + the channel. This command is equivalent to selecting Transition Setup from the Trig + menu and then choosing from the Polarity pull-down list for the channel. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:TRANsition:POLarity:CH? + + **Info:** + - ``EITher`` indicates either positive or negative polarity. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) + to lower (most negative) level for transition triggering to occur. + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) + to higher (post positive) level for transition triggering to occur. + """ + return self._ch + + +class TriggerBPulseTransitionDeltatime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition:DELTATime`` command. + + **Description:** + - This command sets or queries the delta time used in calculating the transition value for + the transition trigger. This is equivalent to selecting Transition Setup from the Trig + menu and setting the Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:DELTATime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:DELTATime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:DELTATime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:DELTATime + - TRIGger:B:PULse:TRANsition:DELTATime? + + **Info:** + - ```` specifies the delta time in seconds. + """ + + +class TriggerBPulseTransition(SCPICmdRead): + """The ``TRIGger:B:PULse:TRANsition`` command. + + **Description:** + - This query-only command returns delta time, polarity, and both upper and lower threshold + limits for the transition time trigger. This command is equivalent to selecting Transition + Setup from the Trig menu and then viewing the current transition settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition? + + Properties: + - ``.deltatime``: The ``TRIGger:B:PULse:TRANsition:DELTATime`` command. + - ``.polarity``: The ``TRIGger:B:PULse:TRANsition:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:TRANsition:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:TRANsition:THReshold`` command. + - ``.when``: The ``TRIGger:B:PULse:TRANsition:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deltatime = TriggerBPulseTransitionDeltatime(device, f"{self._cmd_syntax}:DELTATime") + self._polarity = TriggerBPulseTransitionPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseTransitionQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerBPulseTransitionThreshold(device, f"{self._cmd_syntax}:THReshold") + self._when = TriggerBPulseTransitionWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def deltatime(self) -> TriggerBPulseTransitionDeltatime: + """Return the ``TRIGger:B:PULse:TRANsition:DELTATime`` command. + + **Description:** + - This command sets or queries the delta time used in calculating the transition value + for the transition trigger. This is equivalent to selecting Transition Setup from the + Trig menu and setting the Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:DELTATime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:DELTATime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:DELTATime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:DELTATime + - TRIGger:B:PULse:TRANsition:DELTATime? + + **Info:** + - ```` specifies the delta time in seconds. + """ + return self._deltatime + + @property + def polarity(self) -> TriggerBPulseTransitionPolarity: + """Return the ``TRIGger:B:PULse:TRANsition:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the transition trigger. This command is + equivalent to selecting Transition Setup from the Trig menu and choosing from the + Polarity drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:TRANsition:POLarity? + + **Info:** + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) + to higher (most positive) level for transition triggering to occur. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) + to lower (most negative) level for transition triggering to occur. + - ``EITher`` indicates either positive or negative polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:TRANsition:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseTransitionQualify: + """Return the ``TRIGger:B:PULse:TRANsition:QUAlify`` command. + + **Description:** + - This command sets or queries the Transition Time Trigger qualification. This is + equivalent to selecting Transition Setup from the Trig menu and selecting Occurs, + Logic, or Bus in the Trigger If Transition drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:QUAlify?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TRANsition:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any violations occur. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerBPulseTransitionThreshold: + """Return the ``TRIGger:B:PULse:TRANsition:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower threshold limits for the + transition time trigger. This command is equivalent to selecting Transition Setup from + the Trig menu and viewing the Upper Level and Lower Level voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:B:PULse:TRANsition:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:TRANsition:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> TriggerBPulseTransitionWhen: + """Return the ``TRIGger:B:PULse:TRANsition:WHEn`` command. + + **Description:** + - This command sets or queries whether to check for a transitioning signal that is + faster or slower than the specified delta time. This is equivalent to selecting + Transition Setup from the Trig menu and choosing the Trigger When Transition Time + setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TRANsition:WHEn value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:B:PULse:TRANsition:WHEn? + + **Info:** + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than + the set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than + the set volts/second rate. + """ + return self._when + + +class TriggerBPulseTimeoutTime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut:TIMe`` command. + + **Description:** + - This command sets or queries the pulse timeout trigger time (measured in seconds). This + command is equivalent to selecting Timeout Setup from the Trig menu and setting a value + for Timer. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:TIMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:TIMe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:TIMe + - TRIGger:B:PULse:TIMEOut:TIMe? + + **Info:** + - ```` argument specifies the timeout period in seconds. + """ + + +class TriggerBPulseTimeoutQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut:QUAlify`` command. + + **Description:** + - This command sets or queries the Timeout Trigger qualification. This is equivalent to + selecting Timeout Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Timeout drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TIMEOut:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseTimeoutPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse timeout trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu and + then setting the desired Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity:CH? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required time + period to permit time out triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required time + period to permit time out triggering to occur. + - ``EITher`` indicates that the polarity of the time out trigger can stay either high or low + (positive or negative) for the required time period to permit time out triggering to + occur. + """ + + +class TriggerBPulseTimeoutPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the pulse timeout trigger. This command is + equivalent to selecting Timeout Setup from the Trig menu and setting the desired polarity + in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required time + period to permit timeout triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required time + period to permit timeout triggering to occur. + - ``EITher`` indicates that the polarity of the timeout trigger can stay either high or low + (positive or negative) for the required time period to permit time out triggering to + occur. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:TIMEOut:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseTimeoutPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseTimeoutPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseTimeoutPolarityChannel]: + """Return the ``TRIGger:B:PULse:TIMEOut:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse timeout trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu + and then setting the desired Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity:CH? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required + time period to permit time out triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required + time period to permit time out triggering to occur. + - ``EITher`` indicates that the polarity of the time out trigger can stay either high or + low (positive or negative) for the required time period to permit time out triggering + to occur. + """ + return self._ch + + +class TriggerBPulseTimeoutLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Timeout trigger. This + allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerBPulseTimeout(SCPICmdRead): + """The ``TRIGger:B:PULse:TIMEOut`` command. + + **Description:** + - This query-only command returns the polarity and time-out duration for the pulse timeout + trigger. This command is equivalent to selecting Timeout Setup from the Trig menu and + viewing the polarity in the Trigger When box and the Timer setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut? + + Properties: + - ``.lowpassfilter``: The ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:TIMEOut:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:TIMEOut:QUAlify`` command. + - ``.time``: The ``TRIGger:B:PULse:TIMEOut:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lowpassfilter = TriggerBPulseTimeoutLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerBPulseTimeoutPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseTimeoutQualify(device, f"{self._cmd_syntax}:QUAlify") + self._time = TriggerBPulseTimeoutTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def lowpassfilter(self) -> TriggerBPulseTimeoutLowpassfilter: + """Return the ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Timeout trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:TIMEOut:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerBPulseTimeoutPolarity: + """Return the ``TRIGger:B:PULse:TIMEOut:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the pulse timeout trigger. This command + is equivalent to selecting Timeout Setup from the Trig menu and setting the desired + polarity in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:B:PULse:TIMEOut:POLarity? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required + time period to permit timeout triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required + time period to permit timeout triggering to occur. + - ``EITher`` indicates that the polarity of the timeout trigger can stay either high or + low (positive or negative) for the required time period to permit time out triggering + to occur. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:TIMEOut:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseTimeoutQualify: + """Return the ``TRIGger:B:PULse:TIMEOut:QUAlify`` command. + + **Description:** + - This command sets or queries the Timeout Trigger qualification. This is equivalent to + selecting Timeout Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Timeout drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:TIMEOut:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def time(self) -> TriggerBPulseTimeoutTime: + """Return the ``TRIGger:B:PULse:TIMEOut:TIMe`` command. + + **Description:** + - This command sets or queries the pulse timeout trigger time (measured in seconds). + This command is equivalent to selecting Timeout Setup from the Trig menu and setting a + value for Timer. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut:TIMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:TIMEOut:TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut:TIMe + - TRIGger:B:PULse:TIMEOut:TIMe? + + **Info:** + - ```` argument specifies the timeout period in seconds. + """ + return self._time + + +class TriggerBPulseSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the pulse trigger. This source parameter + applies to all classes of pulse triggers. This command is equivalent to selecting Event + Trigger Setup from the Trig menu, selecting the pulse type (Glitch, Width, Runt, Timeout, + or Transition), and then choosing the desired channel from the Source pull-down list. When + an UltraSync stack is used, the mapped channels are used to both acquire waveform data and + to trigger the oscilloscope. In the special case of an UltraSync stack master, additional + channels are available for triggering. These are the unmapped channels. For an ATI + UltraSync stack master, CH2, MCH1, and MCH3 can be used for triggering. For a 4-Channel + UltraSync stack master, CH1, MCH2, MCH3, and MCH4 are available for triggering. The + vertical min/max amplitude for these signals must be set up. A detailed discussion is + provided in . + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:SOUrce {CH|D|MCH} + - TRIGger:B:PULse:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels, which range from 1 through 4. + - ``D`` specifies one of the digital inputs, which range from 0 through 15. + - ``MCH`` specifies one of the unmapped channels on the master when using an UltraSync + stack. For details see. + """ + + +class TriggerBPulseRuntWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:WIDth`` command. + + **Description:** + - This command sets or queries the minimum width for an Pulse Runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and then setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:WIDth + - TRIGger:B:PULse:RUNT:WIDth? + + **Info:** + - ```` specifies the minimum width in seconds. + """ + + +class TriggerBPulseRuntWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:WHEn`` command. + + **Description:** + - This command sets or queries the type of pulse width the trigger checks for when it + detects a runt. This is equivalent to selecting Runt Setup from the Trig menu and choosing + the desired Trigger When setting from the drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:WHEn?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:RUNT:WHEn? + + **Info:** + - ``OCCurs`` argument specifies a trigger event if a runt of any detectable width occurs. + - ``WIDERthan`` specifies a trigger event if a runt greater than the specified width occurs. + """ + + +class TriggerBPulseRuntThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the pulse runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and then setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:LOW?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:LOW + - TRIGger:B:PULse:RUNT:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerBPulseRuntThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and setting the runt trigger Upper + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:HIGH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:HIGH + - TRIGger:B:PULse:RUNT:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerBPulseRuntThresholdBoth(SCPICmdWrite): + """The ``TRIGger:B:PULse:RUNT:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the pulse + runt trigger. This command is equivalent to selecting Runt Setup from the Trig menu and + then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerBPulseRuntThreshold(SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the pulse runt trigger. + This command query is equivalent to selecting Runt Setup from the Trig menu and then + viewing the Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold? + + Properties: + - ``.both``: The ``TRIGger:B:PULse:RUNT:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:RUNT:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerBPulseRuntThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerBPulseRuntThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerBPulseRuntThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerBPulseRuntThresholdBoth: + """Return the ``TRIGger:B:PULse:RUNT:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the + pulse runt trigger. This command is equivalent to selecting Runt Setup from the Trig + menu and then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and lower threshold to the nominal ECL voltage levels. + """ + return self._both + + @property + def high(self) -> TriggerBPulseRuntThresholdHigh: + """Return the ``TRIGger:B:PULse:RUNT:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and setting the runt trigger + Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:HIGH + - TRIGger:B:PULse:RUNT:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._high + + @property + def low(self) -> TriggerBPulseRuntThresholdLow: + """Return the ``TRIGger:B:PULse:RUNT:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then setting the Lower + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold:LOW + - TRIGger:B:PULse:RUNT:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._low + + +class TriggerBPulseRuntQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:QUAlify`` command. + + **Description:** + - This command sets or queries the Runt Trigger qualification. This is equivalent to + selecting Runt Setup from the Trig menu and selecting Occurs, Logic, or Bus in the Trigger + If Runt drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:QUAlify?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:RUNT:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the command. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseRuntPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger for the + channel. This command is equivalent to selecting Runt Setup from the Trig menu and then + choosing the Polarity setting for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:POLarity:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:RUNT:POLarity:CH? + + **Info:** + - ``EITher`` indicates either negative or positive polarity. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling edge + recrosses the low threshold without either edge ever crossing the high threshold. + """ + + +class TriggerBPulseRuntPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then choosing the Polarity + setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:RUNT:POLarity? + + **Info:** + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling edge + recrosses the low threshold without either edge ever crossing the high threshold. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``EITher`` indicates either negative or positive polarity. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:RUNT:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseRuntPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseRuntPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseRuntPolarityChannel]: + """Return the ``TRIGger:B:PULse:RUNT:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger for the + channel. This command is equivalent to selecting Runt Setup from the Trig menu and + then choosing the Polarity setting for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:RUNT:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:RUNT:POLarity:CH? + + **Info:** + - ``EITher`` indicates either negative or positive polarity. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling + edge recrosses the low threshold without either edge ever crossing the high threshold. + """ + return self._ch + + +class TriggerBPulseRunt(SCPICmdRead): + """The ``TRIGger:B:PULse:RUNT`` command. + + **Description:** + - This query-only command returns the current runt trigger parameters. This command query is + equivalent to selecting Runt Setup from the Trig menu and then viewing the current + settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT? + + Properties: + - ``.polarity``: The ``TRIGger:B:PULse:RUNT:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:RUNT:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:RUNT:THReshold`` command. + - ``.when``: The ``TRIGger:B:PULse:RUNT:WHEn`` command. + - ``.width``: The ``TRIGger:B:PULse:RUNT:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = TriggerBPulseRuntPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseRuntQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerBPulseRuntThreshold(device, f"{self._cmd_syntax}:THReshold") + self._when = TriggerBPulseRuntWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = TriggerBPulseRuntWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def polarity(self) -> TriggerBPulseRuntPolarity: + """Return the ``TRIGger:B:PULse:RUNT:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger. This + command is equivalent to selecting Runt Setup from the Trig menu and then choosing the + Polarity setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:RUNT:POLarity? + + **Info:** + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling + edge recrosses the low threshold without either edge ever crossing the high threshold. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``EITher`` indicates either negative or positive polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:RUNT:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseRuntQualify: + """Return the ``TRIGger:B:PULse:RUNT:QUAlify`` command. + + **Description:** + - This command sets or queries the Runt Trigger qualification. This is equivalent to + selecting Runt Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Runt drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:RUNT:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:RUNT:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the command. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerBPulseRuntThreshold: + """Return the ``TRIGger:B:PULse:RUNT:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the pulse runt + trigger. This command query is equivalent to selecting Runt Setup from the Trig menu + and then viewing the Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:B:PULse:RUNT:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:B:PULse:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:B:PULse:RUNT:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> TriggerBPulseRuntWhen: + """Return the ``TRIGger:B:PULse:RUNT:WHEn`` command. + + **Description:** + - This command sets or queries the type of pulse width the trigger checks for when it + detects a runt. This is equivalent to selecting Runt Setup from the Trig menu and + choosing the desired Trigger When setting from the drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:B:PULse:RUNT:WHEn? + + **Info:** + - ``OCCurs`` argument specifies a trigger event if a runt of any detectable width + occurs. + - ``WIDERthan`` specifies a trigger event if a runt greater than the specified width + occurs. + """ + return self._when + + @property + def width(self) -> TriggerBPulseRuntWidth: + """Return the ``TRIGger:B:PULse:RUNT:WIDth`` command. + + **Description:** + - This command sets or queries the minimum width for an Pulse Runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT:WIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:RUNT:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT:WIDth + - TRIGger:B:PULse:RUNT:WIDth? + + **Info:** + - ```` specifies the minimum width in seconds. + """ + return self._width + + +class TriggerBPulsePeriodWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:WHEn`` command. + + **Description:** + - This command sets or queries the trigger when enumeration for the Pulse Period Trigger. If + the argument is LESSthan , the scope triggers on the signal when the period (frequency) of + the signal is less than the period (frequency) of the Low Limit. If the argument is + GREATerthan, the scope triggers on the signal when the period (frequency) of the signal is + greater than the period (frequency) of the Low Limit. If the argument is WITHin, the scope + triggers on the signal when the period (frequency) of the signal is within the range + defined by the Low Limit and the High Limit. If the argument is OUTside, the scope + triggers on the signal when the period (frequency) of the signal is outside of the range + defined by the Low Limit and the High Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:B:PULse:PERiod:WHEn? + + **Info:** + - ``LESSthan`` tells the scope to trigger when the period (frequency) of the signal is less + than the low limit value. + - ``GREATerthan`` tells the scope to trigger when the period (frequency) of the signal is + greater than the low limit value. + - ``WITHin`` tells the scope to trigger when the period (frequency) of the signal is inside + the range set by the low and high limit values. + - ``OUTside`` tells the scope to trigger when the period (frequency) of the signal is + outside of the range set by the low and high limit values. + """ + + +class TriggerBPulsePeriodView(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:VIEW`` command. + + **Description:** + - This command sets or queries the view for the pulse period trigger. When PERiod is + selected the LOWLimit and HIGHLimit values are in units of time (Seconds). When FREQuency + is selected, the units are in frequency (Hz). This two methods are equivalent, so the + alternative views are provided as a convenience. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:VIEW?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:VIEW value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:B:PULse:PERiod:VIEW? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerBPulsePeriodQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:QUAlify`` command. + + **Description:** + - This command sets or queries the Qualification setup for Pulse Period Trigger. The + high/low state of one or more other signals (channels) may be used to qualify whether the + trigger should occur. The BUS option is not available on the 77K scope family at this + time. When the QUALify enumeration is OCCurs, no qualification is done. When the QUALify + enumeration is LOGIC, the scope triggers using the pulse period trigger definition as + qualified by the high/low states of the qualifying signals. Additional description is + given elsewhere in this document under the term logic qualification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:B:PULse:PERiod:QUAlify? + + **Info:** + - ``OCCurs`` specifies the no other signals are used to qualify the pulse period trigger. + - ``LOGIC`` specifies that other analog signals (channels) are used to qualify the pulse + period trigger. + - ``BUS`` specifies that other digital signals (digital channels) are used to qualify the + pulse period trigger. + """ + + +class TriggerBPulsePeriodPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the Pulse Period trigger. It refers to the + polarity of the edges that begin and end a given period of the signal, and thus allows + duty-cycle testing of clock signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:PERiod:POLarity? + + **Info:** + - ``POSITIVe`` specifies to trigger on the rising or positive edge of a signal. + - ``NEGAtive`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerBPulsePeriodLowlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:LOWLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency low limit. When the VIEW is PERiod the + units of this number are time (Seconds). When the VIEW is FREQuency, the units of this + number are frequency (Hz). The low limit is used alone when the WHEn enumeration is + LESSthan or GREATerthan, and is used in combination with the high limit to define a range + if the WHEn enumeration is WITHin or OUTside. The limits specify the most significant + characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:LOWLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:LOWLimit + - TRIGger:B:PULse:PERiod:LOWLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + + +class TriggerBPulsePeriodHighlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod:HIGHLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency high limit. When the VIEW is PERiod the + units of this number are time (Seconds). When the VIEW is FREQuency, the units of this + number are frequency (Hz). The high limit is used in combination with the low limit to + define a range if the WHEn enumeration is WITHin or OUTside. These limits specify the most + significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:PERiod:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:HIGHLimit + - TRIGger:B:PULse:PERiod:HIGHLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + + +class TriggerBPulsePeriod(SCPICmdRead): + """The ``TRIGger:B:PULse:PERiod`` command. + + **Description:** + - This query-only command returns the Pulse Trigger settings specific to Period/Frequency + trigger. These include the array of high and low limits, the trigger when enumeration, the + polarity enumeration, the qualification enumeration, and the view enumeration. The view + enumeration controls whether the high and low limits are expressed in units of time + (Seconds) or frequency (Hz). The qualification enumeration determines if the trigger is + state-qualified by additional signals (channels). The polarity enumeration determines + whether the rising or falling edges of the signal are used to initiate the trigger. The + trigger when enumeration determines if the trigger should occur when the period + (frequency) is greater than or less than a single (low) limit value, or within or outside + the period (frequency) of a high-low limit period (frequency) pair. The Period/Frequency + Trigger is similar to Width Trigger, but instead of triggering on a single pulse of a + given width, it triggers on the period (two back-to-back pulses, one up and one down) of a + given width. As a convenience the period limits (Seconds) can be expressed as frequency + limits (Hz) by changing the view enumeration. It is often used to determine if oscillators + are operating within specification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod? + + Properties: + - ``.highlimit``: The ``TRIGger:B:PULse:PERiod:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:B:PULse:PERiod:LOWLimit`` command. + - ``.polarity``: The ``TRIGger:B:PULse:PERiod:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:PERiod:QUAlify`` command. + - ``.view``: The ``TRIGger:B:PULse:PERiod:VIEW`` command. + - ``.when``: The ``TRIGger:B:PULse:PERiod:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._highlimit = TriggerBPulsePeriodHighlimit(device, f"{self._cmd_syntax}:HIGHLimit") + self._lowlimit = TriggerBPulsePeriodLowlimit(device, f"{self._cmd_syntax}:LOWLimit") + self._polarity = TriggerBPulsePeriodPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulsePeriodQualify(device, f"{self._cmd_syntax}:QUAlify") + self._view = TriggerBPulsePeriodView(device, f"{self._cmd_syntax}:VIEW") + self._when = TriggerBPulsePeriodWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def highlimit(self) -> TriggerBPulsePeriodHighlimit: + """Return the ``TRIGger:B:PULse:PERiod:HIGHLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency high limit. When the VIEW is PERiod + the units of this number are time (Seconds). When the VIEW is FREQuency, the units of + this number are frequency (Hz). The high limit is used in combination with the low + limit to define a range if the WHEn enumeration is WITHin or OUTside. These limits + specify the most significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:HIGHLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:PERiod:HIGHLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:PERiod:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:HIGHLimit + - TRIGger:B:PULse:PERiod:HIGHLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + return self._highlimit + + @property + def lowlimit(self) -> TriggerBPulsePeriodLowlimit: + """Return the ``TRIGger:B:PULse:PERiod:LOWLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency low limit. When the VIEW is PERiod + the units of this number are time (Seconds). When the VIEW is FREQuency, the units of + this number are frequency (Hz). The low limit is used alone when the WHEn enumeration + is LESSthan or GREATerthan, and is used in combination with the high limit to define a + range if the WHEn enumeration is WITHin or OUTside. The limits specify the most + significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:LOWLimit?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:PERiod:LOWLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:LOWLimit + - TRIGger:B:PULse:PERiod:LOWLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + return self._lowlimit + + @property + def polarity(self) -> TriggerBPulsePeriodPolarity: + """Return the ``TRIGger:B:PULse:PERiod:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the Pulse Period trigger. It refers to + the polarity of the edges that begin and end a given period of the signal, and thus + allows duty-cycle testing of clock signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:PERiod:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:B:PULse:PERiod:POLarity? + + **Info:** + - ``POSITIVe`` specifies to trigger on the rising or positive edge of a signal. + - ``NEGAtive`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulsePeriodQualify: + """Return the ``TRIGger:B:PULse:PERiod:QUAlify`` command. + + **Description:** + - This command sets or queries the Qualification setup for Pulse Period Trigger. The + high/low state of one or more other signals (channels) may be used to qualify whether + the trigger should occur. The BUS option is not available on the 77K scope family at + this time. When the QUALify enumeration is OCCurs, no qualification is done. When the + QUALify enumeration is LOGIC, the scope triggers using the pulse period trigger + definition as qualified by the high/low states of the qualifying signals. Additional + description is given elsewhere in this document under the term logic qualification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:PERiod:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:B:PULse:PERiod:QUAlify? + + **Info:** + - ``OCCurs`` specifies the no other signals are used to qualify the pulse period + trigger. + - ``LOGIC`` specifies that other analog signals (channels) are used to qualify the pulse + period trigger. + - ``BUS`` specifies that other digital signals (digital channels) are used to qualify + the pulse period trigger. + """ + return self._qualify + + @property + def view(self) -> TriggerBPulsePeriodView: + """Return the ``TRIGger:B:PULse:PERiod:VIEW`` command. + + **Description:** + - This command sets or queries the view for the pulse period trigger. When PERiod is + selected the LOWLimit and HIGHLimit values are in units of time (Seconds). When + FREQuency is selected, the units are in frequency (Hz). This two methods are + equivalent, so the alternative views are provided as a convenience. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:VIEW?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:VIEW value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:B:PULse:PERiod:VIEW? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._view + + @property + def when(self) -> TriggerBPulsePeriodWhen: + """Return the ``TRIGger:B:PULse:PERiod:WHEn`` command. + + **Description:** + - This command sets or queries the trigger when enumeration for the Pulse Period + Trigger. If the argument is LESSthan , the scope triggers on the signal when the + period (frequency) of the signal is less than the period (frequency) of the Low Limit. + If the argument is GREATerthan, the scope triggers on the signal when the period + (frequency) of the signal is greater than the period (frequency) of the Low Limit. If + the argument is WITHin, the scope triggers on the signal when the period (frequency) + of the signal is within the range defined by the Low Limit and the High Limit. If the + argument is OUTside, the scope triggers on the signal when the period (frequency) of + the signal is outside of the range defined by the Low Limit and the High Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:PERiod:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:B:PULse:PERiod:WHEn? + + **Info:** + - ``LESSthan`` tells the scope to trigger when the period (frequency) of the signal is + less than the low limit value. + - ``GREATerthan`` tells the scope to trigger when the period (frequency) of the signal + is greater than the low limit value. + - ``WITHin`` tells the scope to trigger when the period (frequency) of the signal is + inside the range set by the low and high limit values. + - ``OUTside`` tells the scope to trigger when the period (frequency) of the signal is + outside of the range set by the low and high limit values. + """ + return self._when + + +class TriggerBPulseGlitchWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:WIDth`` command. + + **Description:** + - This command sets or queries the width for the glitch trigger. This command is equivalent + to selecting Glitch Setup from the Trig menu and then setting the desired Width. For + information about using the width value, refer to the command. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:GLItch:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:WIDth + - TRIGger:B:PULse:GLItch:WIDth? + + **Info:** + - ```` argument specifies the width of the glitch in seconds. + """ + + +class TriggerBPulseGlitchTrigif(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:TRIGIF`` command. + + **Description:** + - This command sets or queries the acceptance or rejection of the glitch pulse trigger, + based on width. This command is equivalent to selecting Glitch Setup from the Trig menu + and choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:TRIGIF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:TRIGIF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:GLItch:TRIGIF value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:B:PULse:GLItch:TRIGIF? + + **Info:** + - ``ACCept`` specifies that the instrument will only trigger on pulses that are narrower + than the specified width, when the trigger type is set to glitch. The width is specified + using the. + - ``REJect`` specifies that the instrument will only trigger on pulses that are wider than + the specified width, when the trigger type is set to glitch. The width is specified using + the. + """ + + +class TriggerBPulseGlitchQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:QUAlify`` command. + + **Description:** + - This command sets or queries the Glitch Trigger qualification. This is equivalent to + selecting Glitch Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Glitch drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:GLItch:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:GLItch:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBPulseGlitchPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger for the channel. + This command is equivalent to selecting Glitch Setup from the Trig menu and then choosing + the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:GLItch:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:GLItch:POLarity:CH? + + **Info:** + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch is + either positive or negative. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + """ + + +class TriggerBPulseGlitchPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger. This command is + equivalent to selecting Glitch Setup from the Trig menu and then choosing the desired + Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:GLItch:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:GLItch:POLarity? + + **Info:** + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch is + either positive or negative. + + Properties: + - ``.ch``: The ``TRIGger:B:PULse:GLItch:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBPulseGlitchPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBPulseGlitchPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBPulseGlitchPolarityChannel]: + """Return the ``TRIGger:B:PULse:GLItch:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger for the + channel. This command is equivalent to selecting Glitch Setup from the Trig menu and + then choosing the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:GLItch:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:B:PULse:GLItch:POLarity:CH? + + **Info:** + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch + is either positive or negative. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + """ + return self._ch + + +class TriggerBPulseGlitchLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Glitch trigger. This + allows triggering in the presence of high­frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:GLItch:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:GLItch:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerBPulseGlitchFilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch:FILTer`` command. + + **Description:** + - This command sets or queries the acceptance/rejection of the glitch pulse trigger. This + command is equivalent to selecting Glitch Setup from the Trig menu and then choosing the + desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:FILTer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:GLItch:FILTer value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:B:PULse:GLItch:FILTer? + """ + + +class TriggerBPulseGlitch(SCPICmdRead): + """The ``TRIGger:B:PULse:GLItch`` command. + + **Description:** + - This query-only command returns the current glitch pulse trigger parameters. This command + query is equivalent to selecting Glitch Setup from the Trig menu and viewing the current + glitch trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch? + + Properties: + - ``.filter``: The ``TRIGger:B:PULse:GLItch:FILTer`` command. + - ``.lowpassfilter``: The ``TRIGger:B:PULse:GLItch:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:GLItch:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:GLItch:QUAlify`` command. + - ``.trigif``: The ``TRIGger:B:PULse:GLItch:TRIGIF`` command. + - ``.width``: The ``TRIGger:B:PULse:GLItch:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._filter = TriggerBPulseGlitchFilter(device, f"{self._cmd_syntax}:FILTer") + self._lowpassfilter = TriggerBPulseGlitchLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerBPulseGlitchPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerBPulseGlitchQualify(device, f"{self._cmd_syntax}:QUAlify") + self._trigif = TriggerBPulseGlitchTrigif(device, f"{self._cmd_syntax}:TRIGIF") + self._width = TriggerBPulseGlitchWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def filter(self) -> TriggerBPulseGlitchFilter: + """Return the ``TRIGger:B:PULse:GLItch:FILTer`` command. + + **Description:** + - This command sets or queries the acceptance/rejection of the glitch pulse trigger. + This command is equivalent to selecting Glitch Setup from the Trig menu and then + choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:FILTer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:FILTer value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:B:PULse:GLItch:FILTer? + """ + return self._filter + + @property + def lowpassfilter(self) -> TriggerBPulseGlitchLowpassfilter: + """Return the ``TRIGger:B:PULse:GLItch:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Glitch trigger. + This allows triggering in the presence of high­frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:PULse:GLItch:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:B:PULse:GLItch:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerBPulseGlitchPolarity: + """Return the ``TRIGger:B:PULse:GLItch:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger. This + command is equivalent to selecting Glitch Setup from the Trig menu and then choosing + the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:B:PULse:GLItch:POLarity? + + **Info:** + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch + is either positive or negative. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:PULse:GLItch:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerBPulseGlitchQualify: + """Return the ``TRIGger:B:PULse:GLItch:QUAlify`` command. + + **Description:** + - This command sets or queries the Glitch Trigger qualification. This is equivalent to + selecting Glitch Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Glitch drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:PULse:GLItch:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def trigif(self) -> TriggerBPulseGlitchTrigif: + """Return the ``TRIGger:B:PULse:GLItch:TRIGIF`` command. + + **Description:** + - This command sets or queries the acceptance or rejection of the glitch pulse trigger, + based on width. This command is equivalent to selecting Glitch Setup from the Trig + menu and choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:TRIGIF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:TRIGIF?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:TRIGIF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:B:PULse:GLItch:TRIGIF? + + **Info:** + - ``ACCept`` specifies that the instrument will only trigger on pulses that are narrower + than the specified width, when the trigger type is set to glitch. The width is + specified using the. + - ``REJect`` specifies that the instrument will only trigger on pulses that are wider + than the specified width, when the trigger type is set to glitch. The width is + specified using the. + """ + return self._trigif + + @property + def width(self) -> TriggerBPulseGlitchWidth: + """Return the ``TRIGger:B:PULse:GLItch:WIDth`` command. + + **Description:** + - This command sets or queries the width for the glitch trigger. This command is + equivalent to selecting Glitch Setup from the Trig menu and then setting the desired + Width. For information about using the width value, refer to the command. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch:WIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:PULse:GLItch:WIDth value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch:WIDth + - TRIGger:B:PULse:GLItch:WIDth? + + **Info:** + - ```` argument specifies the width of the glitch in seconds. + """ + return self._width + + +class TriggerBPulseClass(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:PULse:CLAss`` command. + + **Description:** + - This command sets or queries the type of pulse on which to trigger. This command is + equivalent to selecting the setup menu for the pulse type that you want from the Trig + menu: Glitch Setup, Width Setup, Runt Setup, Timeout Setup, or Transition Setup. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:CLAss value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:B:PULse:CLAss? + + **Info:** + - ``GLItch`` triggers when a pulse is found that is of the specified polarity and width. + These are set with the commands. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set with + the. + - ``WIDth`` triggers when a pulse is found that has the specified polarity and is either + inside or outside the limits as specified by. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as the + specified polarity and the transition time between the two threshold crossings is greater + or less than the specified time delta. + - ``TIMEOut`` triggers when the pulse train stops in the selected state for longer than the + specified time. + - ``WINdow`` triggers when a pulse is found that meets the conditions set by the A Event + window trigger type, specified by the following commands. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerBPulse(SCPICmdRead): + """The ``TRIGger:B:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.period``: The ``TRIGger:B:PULse:PERiod`` command. + - ``.window``: The ``TRIGger:B:PULse:WINdow`` command tree. + - ``.class``: The ``TRIGger:B:PULse:CLAss`` command. + - ``.glitch``: The ``TRIGger:B:PULse:GLItch`` command. + - ``.runt``: The ``TRIGger:B:PULse:RUNT`` command. + - ``.source``: The ``TRIGger:B:PULse:SOUrce`` command. + - ``.timeout``: The ``TRIGger:B:PULse:TIMEOut`` command. + - ``.transition``: The ``TRIGger:B:PULse:TRANsition`` command. + - ``.width``: The ``TRIGger:B:PULse:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._period = TriggerBPulsePeriod(device, f"{self._cmd_syntax}:PERiod") + self._class = TriggerBPulseClass(device, f"{self._cmd_syntax}:CLAss") + self._glitch = TriggerBPulseGlitch(device, f"{self._cmd_syntax}:GLItch") + self._runt = TriggerBPulseRunt(device, f"{self._cmd_syntax}:RUNT") + self._source = TriggerBPulseSource(device, f"{self._cmd_syntax}:SOUrce") + self._timeout = TriggerBPulseTimeout(device, f"{self._cmd_syntax}:TIMEOut") + self._transition = TriggerBPulseTransition(device, f"{self._cmd_syntax}:TRANsition") + self._width = TriggerBPulseWidth(device, f"{self._cmd_syntax}:WIDth") + self._window = TriggerBPulseWindow(device, f"{self._cmd_syntax}:WINdow") + + @property + def period(self) -> TriggerBPulsePeriod: + """Return the ``TRIGger:B:PULse:PERiod`` command. + + **Description:** + - This query-only command returns the Pulse Trigger settings specific to + Period/Frequency trigger. These include the array of high and low limits, the trigger + when enumeration, the polarity enumeration, the qualification enumeration, and the + view enumeration. The view enumeration controls whether the high and low limits are + expressed in units of time (Seconds) or frequency (Hz). The qualification enumeration + determines if the trigger is state-qualified by additional signals (channels). The + polarity enumeration determines whether the rising or falling edges of the signal are + used to initiate the trigger. The trigger when enumeration determines if the trigger + should occur when the period (frequency) is greater than or less than a single (low) + limit value, or within or outside the period (frequency) of a high-low limit period + (frequency) pair. The Period/Frequency Trigger is similar to Width Trigger, but + instead of triggering on a single pulse of a given width, it triggers on the period + (two back-to-back pulses, one up and one down) of a given width. As a convenience the + period limits (Seconds) can be expressed as frequency limits (Hz) by changing the view + enumeration. It is often used to determine if oscillators are operating within + specification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:PERiod?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:PERiod?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:PERiod? + + Sub-properties: + - ``.highlimit``: The ``TRIGger:B:PULse:PERiod:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:B:PULse:PERiod:LOWLimit`` command. + - ``.polarity``: The ``TRIGger:B:PULse:PERiod:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:PERiod:QUAlify`` command. + - ``.view``: The ``TRIGger:B:PULse:PERiod:VIEW`` command. + - ``.when``: The ``TRIGger:B:PULse:PERiod:WHEn`` command. + """ + return self._period + + @property + def class_(self) -> TriggerBPulseClass: + """Return the ``TRIGger:B:PULse:CLAss`` command. + + **Description:** + - This command sets or queries the type of pulse on which to trigger. This command is + equivalent to selecting the setup menu for the pulse type that you want from the Trig + menu: Glitch Setup, Width Setup, Runt Setup, Timeout Setup, or Transition Setup. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:CLAss value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:B:PULse:CLAss? + + **Info:** + - ``GLItch`` triggers when a pulse is found that is of the specified polarity and width. + These are set with the commands. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set + with the. + - ``WIDth`` triggers when a pulse is found that has the specified polarity and is either + inside or outside the limits as specified by. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as + the specified polarity and the transition time between the two threshold crossings is + greater or less than the specified time delta. + - ``TIMEOut`` triggers when the pulse train stops in the selected state for longer than + the specified time. + - ``WINdow`` triggers when a pulse is found that meets the conditions set by the A Event + window trigger type, specified by the following commands. + """ + return self._class + + @property + def glitch(self) -> TriggerBPulseGlitch: + """Return the ``TRIGger:B:PULse:GLItch`` command. + + **Description:** + - This query-only command returns the current glitch pulse trigger parameters. This + command query is equivalent to selecting Glitch Setup from the Trig menu and viewing + the current glitch trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:GLItch?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:GLItch?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:GLItch? + + Sub-properties: + - ``.filter``: The ``TRIGger:B:PULse:GLItch:FILTer`` command. + - ``.lowpassfilter``: The ``TRIGger:B:PULse:GLItch:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:GLItch:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:GLItch:QUAlify`` command. + - ``.trigif``: The ``TRIGger:B:PULse:GLItch:TRIGIF`` command. + - ``.width``: The ``TRIGger:B:PULse:GLItch:WIDth`` command. + """ + return self._glitch + + @property + def runt(self) -> TriggerBPulseRunt: + """Return the ``TRIGger:B:PULse:RUNT`` command. + + **Description:** + - This query-only command returns the current runt trigger parameters. This command + query is equivalent to selecting Runt Setup from the Trig menu and then viewing the + current settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:RUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:RUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:RUNT? + + Sub-properties: + - ``.polarity``: The ``TRIGger:B:PULse:RUNT:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:RUNT:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:RUNT:THReshold`` command. + - ``.when``: The ``TRIGger:B:PULse:RUNT:WHEn`` command. + - ``.width``: The ``TRIGger:B:PULse:RUNT:WIDth`` command. + """ + return self._runt + + @property + def source(self) -> TriggerBPulseSource: + """Return the ``TRIGger:B:PULse:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the pulse trigger. This source parameter + applies to all classes of pulse triggers. This command is equivalent to selecting + Event Trigger Setup from the Trig menu, selecting the pulse type (Glitch, Width, Runt, + Timeout, or Transition), and then choosing the desired channel from the Source + pull-down list. When an UltraSync stack is used, the mapped channels are used to both + acquire waveform data and to trigger the oscilloscope. In the special case of an + UltraSync stack master, additional channels are available for triggering. These are + the unmapped channels. For an ATI UltraSync stack master, CH2, MCH1, and MCH3 can be + used for triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, MCH3, and MCH4 + are available for triggering. The vertical min/max amplitude for these signals must be + set up. A detailed discussion is provided in . + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:PULse:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:SOUrce {CH|D|MCH} + - TRIGger:B:PULse:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels, which range from 1 through 4. + - ``D`` specifies one of the digital inputs, which range from 0 through 15. + - ``MCH`` specifies one of the unmapped channels on the master when using an + UltraSync stack. For details see. + """ + return self._source + + @property + def timeout(self) -> TriggerBPulseTimeout: + """Return the ``TRIGger:B:PULse:TIMEOut`` command. + + **Description:** + - This query-only command returns the polarity and time-out duration for the pulse + timeout trigger. This command is equivalent to selecting Timeout Setup from the Trig + menu and viewing the polarity in the Trigger When box and the Timer setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TIMEOut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TIMEOut? + + Sub-properties: + - ``.lowpassfilter``: The ``TRIGger:B:PULse:TIMEOut:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:TIMEOut:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:TIMEOut:QUAlify`` command. + - ``.time``: The ``TRIGger:B:PULse:TIMEOut:TIMe`` command. + """ + return self._timeout + + @property + def transition(self) -> TriggerBPulseTransition: + """Return the ``TRIGger:B:PULse:TRANsition`` command. + + **Description:** + - This query-only command returns delta time, polarity, and both upper and lower + threshold limits for the transition time trigger. This command is equivalent to + selecting Transition Setup from the Trig menu and then viewing the current transition + settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:TRANsition?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:TRANsition? + + Sub-properties: + - ``.deltatime``: The ``TRIGger:B:PULse:TRANsition:DELTATime`` command. + - ``.polarity``: The ``TRIGger:B:PULse:TRANsition:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:TRANsition:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:TRANsition:THReshold`` command. + - ``.when``: The ``TRIGger:B:PULse:TRANsition:WHEn`` command. + """ + return self._transition + + @property + def width(self) -> TriggerBPulseWidth: + """Return the ``TRIGger:B:PULse:WIDth`` command. + + **Description:** + - This query-only command returns the width parameters for the pulse width trigger. This + command is equivalent to selecting Width Setup from the Trig menu and then viewing the + current pulse width trigger Lower Limit, Upper Limit, Trig When and Polarity settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:PULse:WIDth? + + Sub-properties: + - ``.highlimit``: The ``TRIGger:B:PULse:WIDth:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:B:PULse:WIDth:LOWLimit`` command. + - ``.lowpassfilter``: The ``TRIGger:B:PULse:WIDth:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:B:PULse:WIDth:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:WIDth:QUAlify`` command. + - ``.when``: The ``TRIGger:B:PULse:WIDth:WHEn`` command. + """ + return self._width + + @property + def window(self) -> TriggerBPulseWindow: + """Return the ``TRIGger:B:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse:WINdow?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``TRIGger:B:PULse:WINdow:TYPe`` command. + - ``.when``: The ``TRIGger:B:PULse:WINdow:WHEn`` command. + - ``.event``: The ``TRIGger:B:PULse:WINdow:EVENT`` command. + - ``.polarity``: The ``TRIGger:B:PULse:WINdow:POLarity`` command. + - ``.qualify``: The ``TRIGger:B:PULse:WINdow:QUAlify`` command. + - ``.threshold``: The ``TRIGger:B:PULse:WINdow:THReshold`` command. + - ``.width``: The ``TRIGger:B:PULse:WINdow:WIDTH`` command. + """ + return self._window + + +class TriggerBLowerthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOWerthreshold:CH`` command. + + **Description:** + - This command sets or queries the A or B lower trigger level for + ``TRIGger:LVLSrcpreference SRCDependent`` or SRCIndependent modes for the channel, + specified by x, which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOWerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOWerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOWerthreshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:B:LOWerthreshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies the threshold voltage in user units. + """ + + +class TriggerBLowerthreshold(SCPICmdRead): + """The ``TRIGger:B:LOWerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOWerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOWerthreshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:B:LOWerthreshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLowerthresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLowerthresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLowerthresholdChannel]: + """Return the ``TRIGger:B:LOWerthreshold:CH`` command. + + **Description:** + - This command sets or queries the A or B lower trigger level for + ``TRIGger:LVLSrcpreference SRCDependent`` or SRCIndependent modes for the channel, + specified by x, which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOWerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOWerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOWerthreshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:B:LOWerthreshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies the threshold voltage in user units. + """ + return self._ch + + +class TriggerBLogicThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger threshold voltage for the channel, + specified by x, which ranges from 1 through 4. This command is equivalent to selecting A + or B Event Trigger Setup from the Trig menu, choosing a logic trigger type, such as State + or Pattern, and setting the Input Threshold voltage for the desired channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:THReshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:THReshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:THReshold:CH + - TRIGger:B:LOGIc:THReshold:CH? + + **Info:** + - ```` specifies the threshold voltage. + """ + + +class TriggerBLogicThreshold(SCPICmdRead): + """The ``TRIGger:B:LOGIc:THReshold`` command. + + **Description:** + - This query-only command returns the threshold voltage for all channels in a logic trigger. + This command query is equivalent to selecting Event Trigger Setup from the Trig menu, + choosing a logic trigger type, such as State or Pattern, and viewing the current Input + Threshold voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:THReshold? + + Properties: + - ``.ch``: The ``TRIGger:B:LOGIc:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLogicThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLogicThresholdChannel]: + """Return the ``TRIGger:B:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger threshold voltage for the + channel, specified by x, which ranges from 1 through 4. This command is equivalent to + selecting A or B Event Trigger Setup from the Trig menu, choosing a logic trigger + type, such as State or Pattern, and setting the Input Threshold voltage for the + desired channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:THReshold:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:THReshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:THReshold:CH + - TRIGger:B:LOGIc:THReshold:CH? + + **Info:** + - ```` specifies the threshold voltage. + """ + return self._ch + + +class TriggerBLogicStateWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:STATE:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic state trigger. + This command is equivalent to selecting Logic State from the Trig menu and choosing the + desired condition from the Trigger When Pattern drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:B:LOGIc:STATE:WHEn? + + **Info:** + - ``TRUe`` specifies that the trigger occurs when the clock transition on channel 4 occurs + and the pattern of channels 1-3 are at the desired logic input states. + - ``FALSe`` specifies that the trigger occurs when the desired clock transition on channel 4 + occurs and the desired logic input states on channels 1-3 are not found. + """ + + +class TriggerBLogicStateInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:STATE:INPut:CH`` command. + + **Description:** + - This command sets or queries the slope for the channel specified by x when the logic class + is set to State. This command is equivalent to selecting Logic State from the Trig menu, + choosing the desired channel input, and then the slope (NEG or POS) from the When Clock is + drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:STATE:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:B:LOGIc:STATE:INPut:CH? + + **Info:** + - ``FALL`` specifies the falling edge and the input slope is NEG. + - ``RISe`` specifies the rising edge and the input slope is POS. + """ + + +class TriggerBLogicStateInput(SCPICmdRead): + """The ``TRIGger:B:LOGIc:STATE:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:B:LOGIc:STATE:INPut:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLogicStateInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicStateInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLogicStateInputChannel]: + """Return the ``TRIGger:B:LOGIc:STATE:INPut:CH`` command. + + **Description:** + - This command sets or queries the slope for the channel specified by x when the logic + class is set to State. This command is equivalent to selecting Logic State from the + Trig menu, choosing the desired channel input, and then the slope (NEG or POS) from + the When Clock is drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:STATE:INPut:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:STATE:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:B:LOGIc:STATE:INPut:CH? + + **Info:** + - ``FALL`` specifies the falling edge and the input slope is NEG. + - ``RISe`` specifies the rising edge and the input slope is POS. + """ + return self._ch + + +class TriggerBLogicState(SCPICmdRead): + """The ``TRIGger:B:LOGIc:STATE`` command. + + **Description:** + - This query-only command returns the data input and trigger criteria for the logic trigger. + This command is equivalent to selecting Logic State from the Trig menu and then viewing + the current logic state settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE? + + Properties: + - ``.input``: The ``TRIGger:B:LOGIc:STATE:INPut`` command tree. + - ``.when``: The ``TRIGger:B:LOGIc:STATE:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerBLogicStateInput(device, f"{self._cmd_syntax}:INPut") + self._when = TriggerBLogicStateWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def input(self) -> TriggerBLogicStateInput: + """Return the ``TRIGger:B:LOGIc:STATE:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE:INPut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOGIc:STATE:INPut:CH`` command. + """ + return self._input + + @property + def when(self) -> TriggerBLogicStateWhen: + """Return the ``TRIGger:B:LOGIc:STATE:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic state + trigger. This command is equivalent to selecting Logic State from the Trig menu and + choosing the desired condition from the Trigger When Pattern drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:STATE:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:B:LOGIc:STATE:WHEn? + + **Info:** + - ``TRUe`` specifies that the trigger occurs when the clock transition on channel 4 + occurs and the pattern of channels 1-3 are at the desired logic input states. + - ``FALSe`` specifies that the trigger occurs when the desired clock transition on + channel 4 occurs and the desired logic input states on channels 1-3 are not found. + """ + return self._when + + +class TriggerBLogicSetholdSettime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:SETTime`` command. + + **Description:** + - This command sets or queries the setup time for setup and hold violation triggering. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Setup Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:SETTime?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:SETTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:SETTime value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:SETTime + - TRIGger:B:LOGIc:SETHold:SETTime? + + **Info:** + - ```` specifies the setup time for setup and hold violation triggering. + """ + + +class TriggerBLogicSetholdQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:QUAlify`` command. + + **Description:** + - This command sets or queries the Setup/Hold Trigger qualification. This is equivalent to + selecting Setup/Hold Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Setup/Hold drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:LOGIc:SETHold:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerBLogicSetholdHoldtime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:HOLDTime`` command. + + **Description:** + - This command sets or queries the hold time for setup and hold violation triggering. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Hold Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:HOLDTime?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:HOLDTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:HOLDTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:HOLDTime + - TRIGger:B:LOGIc:SETHold:HOLDTime? + + **Info:** + - ```` specifies the hold time setting in seconds. Positive values for hold time occur + after the clock edge. Negative values occur before the clock edge. + """ + + +class TriggerBLogicSetholdDataThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. This + command is equivalent to selecting A or B Event Trigger Setup from the Trig menu and then + setting the desired Data Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + """ + + +class TriggerBLogicSetholdDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + + Properties: + - ``.ch``: The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLogicSetholdDataThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicSetholdDataThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLogicSetholdDataThresholdChannel]: + """Return the ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. + This command is equivalent to selecting A or B Event Trigger Setup from the Trig menu + and then setting the desired Data Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + """ + return self._ch + + +class TriggerBLogicSetholdDataSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce`` command. + + **Description:** + - This command sets or queries the data source for the setup and hold trigger. This command + is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing the desired + channel from the Data Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4. + """ + + +class TriggerBLogicSetholdDataLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:DATa:LEVel`` command. + + **Description:** + - This command sets or queries the data voltage level for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:LEVel? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies is the setup and hold data level in V. + """ + + +class TriggerBLogicSetholdData(SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:DATa`` command. + + **Description:** + - This query-only command returns the voltage threshold and data source for the setup and + hold trigger. This command is equivalent to selecting Setup/Hold Setup from the Trig menu + and then viewing the current data setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa? + + Properties: + - ``.level``: The ``TRIGger:B:LOGIc:SETHold:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._level = TriggerBLogicSetholdDataLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerBLogicSetholdDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = TriggerBLogicSetholdDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def level(self) -> TriggerBLogicSetholdDataLevel: + """Return the ``TRIGger:B:LOGIc:SETHold:DATa:LEVel`` command. + + **Description:** + - This command sets or queries the data voltage level for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:LEVel? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies is the setup and hold data level in V. + """ + return self._level + + @property + def source(self) -> TriggerBLogicSetholdDataSource: + """Return the ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce`` command. + + **Description:** + - This command sets or queries the data source for the setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing + the desired channel from the Data Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:B:LOGIc:SETHold:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4. + """ + return self._source + + @property + def threshold(self) -> TriggerBLogicSetholdDataThreshold: + """Return the ``TRIGger:B:LOGIc:SETHold:DATa:THReshold`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:DATa:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:DATa:THReshold? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerBLogicSetholdClockThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Clock Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + """ + + +class TriggerBLogicSetholdClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for the setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and setting + the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + + Properties: + - ``.ch``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[ + int, TriggerBLogicSetholdClockThresholdChannel + ] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicSetholdClockThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLogicSetholdClockThresholdChannel]: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Clock Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + """ + return self._ch + + +class TriggerBLogicSetholdClockSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the clock source for the A or B logic trigger setup and hold + input. This is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing + the desired channel from the Clock Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4 for four-channel + instruments or 1 through 2 for two channel instruments. + """ + + +class TriggerBLogicSetholdClockLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the clock voltage level for the setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and setting the + desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ``NR3`` is the setup and hold data level in V. + """ + + +class TriggerBLogicSetholdClockEdge(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE`` command. + + **Description:** + - This command sets or queries the clock edge polarity for setup and hold triggering. This + is equivalent to selecting Setup/Hold Setup from the Trig menu and then choosing the + desired Clock Edge. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE? + + **Info:** + - ``FALL`` specifies polarity as the clock falling edge. + - ``RISe`` specifies polarity as the clock rising edge. + """ + + +class TriggerBLogicSetholdClock(SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold:CLOCk`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input for setup and hold triggering. This command is equivalent to selecting Setup/Hold + Setup from the Trig menu and then viewing the current clock setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk? + + Properties: + - ``.edge``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE`` command. + - ``.level``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel`` command. + - ``.source``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = TriggerBLogicSetholdClockEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerBLogicSetholdClockLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerBLogicSetholdClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = TriggerBLogicSetholdClockThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def edge(self) -> TriggerBLogicSetholdClockEdge: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE`` command. + + **Description:** + - This command sets or queries the clock edge polarity for setup and hold triggering. + This is equivalent to selecting Setup/Hold Setup from the Trig menu and then choosing + the desired Clock Edge. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:B:LOGIc:SETHold:CLOCk:EDGE? + + **Info:** + - ``FALL`` specifies polarity as the clock falling edge. + - ``RISe`` specifies polarity as the clock rising edge. + """ + return self._edge + + @property + def level(self) -> TriggerBLogicSetholdClockLevel: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the clock voltage level for the setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and + setting the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:LEVel? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ``NR3`` is the setup and hold data level in V. + """ + return self._level + + @property + def source(self) -> TriggerBLogicSetholdClockSource: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the clock source for the A or B logic trigger setup and + hold input. This is equivalent to selecting Setup/Hold Setup from the Trig menu and + choosing the desired channel from the Clock Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4 for four-channel + instruments or 1 through 2 for two channel instruments. + """ + return self._source + + @property + def threshold(self) -> TriggerBLogicSetholdClockThreshold: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for the setup and hold + trigger. This command is equivalent to selecting Setup/Hold Setup from the Trig menu + and setting the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:B:LOGIc:SETHold:CLOCk:THReshold? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerBLogicSethold(SCPICmdRead): + """The ``TRIGger:B:LOGIc:SETHold`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input, data voltage threshold and source, and both setup and hold times for setup and hold + violation triggering. This command is equivalent to selecting Setup/Hold Setup from the + Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold? + + Properties: + - ``.clock``: The ``TRIGger:B:LOGIc:SETHold:CLOCk`` command. + - ``.data``: The ``TRIGger:B:LOGIc:SETHold:DATa`` command. + - ``.holdtime``: The ``TRIGger:B:LOGIc:SETHold:HOLDTime`` command. + - ``.qualify``: The ``TRIGger:B:LOGIc:SETHold:QUAlify`` command. + - ``.settime``: The ``TRIGger:B:LOGIc:SETHold:SETTime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = TriggerBLogicSetholdClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = TriggerBLogicSetholdData(device, f"{self._cmd_syntax}:DATa") + self._holdtime = TriggerBLogicSetholdHoldtime(device, f"{self._cmd_syntax}:HOLDTime") + self._qualify = TriggerBLogicSetholdQualify(device, f"{self._cmd_syntax}:QUAlify") + self._settime = TriggerBLogicSetholdSettime(device, f"{self._cmd_syntax}:SETTime") + + @property + def clock(self) -> TriggerBLogicSetholdClock: + """Return the ``TRIGger:B:LOGIc:SETHold:CLOCk`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input for setup and hold triggering. This command is equivalent to selecting + Setup/Hold Setup from the Trig menu and then viewing the current clock setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:CLOCk?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:CLOCk? + + Sub-properties: + - ``.edge``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:EDGE`` command. + - ``.level``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:LEVel`` command. + - ``.source``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:SETHold:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> TriggerBLogicSetholdData: + """Return the ``TRIGger:B:LOGIc:SETHold:DATa`` command. + + **Description:** + - This query-only command returns the voltage threshold and data source for the setup + and hold trigger. This command is equivalent to selecting Setup/Hold Setup from the + Trig menu and then viewing the current data setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:DATa? + + Sub-properties: + - ``.level``: The ``TRIGger:B:LOGIc:SETHold:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:B:LOGIc:SETHold:DATa:SOUrce`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:SETHold:DATa:THReshold`` command. + """ + return self._data + + @property + def holdtime(self) -> TriggerBLogicSetholdHoldtime: + """Return the ``TRIGger:B:LOGIc:SETHold:HOLDTime`` command. + + **Description:** + - This command sets or queries the hold time for setup and hold violation triggering. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Hold Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:HOLDTime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:HOLDTime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:HOLDTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:HOLDTime + - TRIGger:B:LOGIc:SETHold:HOLDTime? + + **Info:** + - ```` specifies the hold time setting in seconds. Positive values for hold time + occur after the clock edge. Negative values occur before the clock edge. + """ + return self._holdtime + + @property + def qualify(self) -> TriggerBLogicSetholdQualify: + """Return the ``TRIGger:B:LOGIc:SETHold:QUAlify`` command. + + **Description:** + - This command sets or queries the Setup/Hold Trigger qualification. This is equivalent + to selecting Setup/Hold Setup from the Trig menu and selecting Occurs, Logic, or Bus + in the Trigger If Setup/Hold drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:B:LOGIc:SETHold:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def settime(self) -> TriggerBLogicSetholdSettime: + """Return the ``TRIGger:B:LOGIc:SETHold:SETTime`` command. + + **Description:** + - This command sets or queries the setup time for setup and hold violation triggering. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Setup Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold:SETTime?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold:SETTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:SETHold:SETTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold:SETTime + - TRIGger:B:LOGIc:SETHold:SETTime? + + **Info:** + - ```` specifies the setup time for setup and hold violation triggering. + """ + return self._settime + + +class TriggerBLogicPatternWhenMorelimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit`` command. + + **Description:** + - This command sets or queries the minimum time that the selected pattern can be true and + still generate an A or B logic pattern trigger. This command is equivalent to selecting A + or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as the Trigger Type, + selecting More Than for the Pattern in the Trigger When settings, and entering a minimum + value for Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + + +class TriggerBLogicPatternWhenLesslimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit`` command. + + **Description:** + - This command sets or queries the maximum time that the selected pattern can be true and + still generate an A or B logic pattern trigger. This command is equivalent to selecting + the A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as the Trigger + Type, selecting Less Than for the Pattern in the Trigger When settings, and entering a + maximum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + + +class TriggerBLogicPatternWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic pattern trigger + with respect to the defined input pattern. This command is equivalent to selecting A or B + Event (Main) Trigger Setup from the Trig menu, selecting Pattern for Trigger Type, and + choosing a trigger condition from the Pattern drop-down list, which is located in the + Trigger When group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:B:LOGIc:PATtern:WHEn? + + **Info:** + - ``TRUe`` sets the instrument to trigger when the pattern becomes true. + - ``FALSe`` sets the instrument to trigger when the pattern becomes false. + - ``LESSThan`` sets the instrument to trigger if the specific pattern is true less than the + time set by the. + - ``MOREThan`` argument sets the instrument to trigger if the specific pattern is true + longer than the specified time set by the. + + Properties: + - ``.lesslimit``: The ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lesslimit = TriggerBLogicPatternWhenLesslimit(device, f"{self._cmd_syntax}:LESSLimit") + self._morelimit = TriggerBLogicPatternWhenMorelimit(device, f"{self._cmd_syntax}:MORELimit") + + @property + def lesslimit(self) -> TriggerBLogicPatternWhenLesslimit: + """Return the ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit`` command. + + **Description:** + - This command sets or queries the maximum time that the selected pattern can be true + and still generate an A or B logic pattern trigger. This command is equivalent to + selecting the A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern + as the Trigger Type, selecting Less Than for the Pattern in the Trigger When settings, + and entering a maximum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + return self._lesslimit + + @property + def morelimit(self) -> TriggerBLogicPatternWhenMorelimit: + """Return the ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit`` command. + + **Description:** + - This command sets or queries the minimum time that the selected pattern can be true + and still generate an A or B logic pattern trigger. This command is equivalent to + selecting A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as + the Trigger Type, selecting More Than for the Pattern in the Trigger When settings, + and entering a minimum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:B:LOGIc:PATtern:WHEn:MORELimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + return self._morelimit + + +class TriggerBLogicPatternInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input for the specified channel. + This command specifies the logic value used when the pattern trigger detects the threshold + level. This command is equivalent to selecting Logic Pattern from the Trig menu and then + choosing the desired logical input from the channel drop-down list, which is located in + the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:PATtern:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + + +class TriggerBLogicPatternInput(SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:B:LOGIc:PATtern:INPut:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLogicPatternInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicPatternInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLogicPatternInputChannel]: + """Return the ``TRIGger:B:LOGIc:PATtern:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input for the specified channel. + This command specifies the logic value used when the pattern trigger detects the + threshold level. This command is equivalent to selecting Logic Pattern from the Trig + menu and then choosing the desired logical input from the channel drop-down list, + which is located in the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:INPut:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:PATtern:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + return self._ch + + +class TriggerBLogicPattern(SCPICmdRead): + """The ``TRIGger:B:LOGIc:PATtern`` command. + + **Description:** + - This query-only command returns the conditions used for generating an A logic pattern + trigger, with respect to the defined input pattern, and identifies the maximum and minimum + time that the selected pattern can be true and still generate the trigger. This command is + equivalent to selecting Logic Pattern from the Trig menu and then viewing the current + setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern? + + Properties: + - ``.input``: The ``TRIGger:B:LOGIc:PATtern:INPut`` command tree. + - ``.when``: The ``TRIGger:B:LOGIc:PATtern:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerBLogicPatternInput(device, f"{self._cmd_syntax}:INPut") + self._when = TriggerBLogicPatternWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def input(self) -> TriggerBLogicPatternInput: + """Return the ``TRIGger:B:LOGIc:PATtern:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:INPut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOGIc:PATtern:INPut:CH`` command. + """ + return self._input + + @property + def when(self) -> TriggerBLogicPatternWhen: + """Return the ``TRIGger:B:LOGIc:PATtern:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic pattern + trigger with respect to the defined input pattern. This command is equivalent to + selecting A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern for + Trigger Type, and choosing a trigger condition from the Pattern drop-down list, which + is located in the Trigger When group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:PATtern:WHEn value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:B:LOGIc:PATtern:WHEn? + + **Info:** + - ``TRUe`` sets the instrument to trigger when the pattern becomes true. + - ``FALSe`` sets the instrument to trigger when the pattern becomes false. + - ``LESSThan`` sets the instrument to trigger if the specific pattern is true less than + the time set by the. + - ``MOREThan`` argument sets the instrument to trigger if the specific pattern is true + longer than the specified time set by the. + + Sub-properties: + - ``.lesslimit``: The ``TRIGger:B:LOGIc:PATtern:WHEn:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:B:LOGIc:PATtern:WHEn:MORELimit`` command. + """ + return self._when + + +class TriggerBLogicInputFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:INPut:FORMat`` command. + + **Description:** + - This command sets or queries the A or B logic trigger pattern format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:INPut:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:B:LOGIc:INPut:FORMat? + + **Info:** + - ``HEXadecimal`` specifies hexadecimal pattern format for A or B logic trigger. + - ``BINary`` specifies binary pattern format for A or B logic trigger. + """ + + +class TriggerBLogicInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logical trigger input for the channel specified by + x. The value of x ranges from 1 through 3. Note that CH4 cannot be set or queried with + this command. For details about setting this channel, see . This command is equivalent to + selecting Event Trigger Setup from the Trig menu and then choosing the desired logical + input from the Ch drop-down list, which is located in the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:CH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:INPut:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + + +class TriggerBLogicInputAll(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:INPut:ALL`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input condition for all the + channels. The command is available when the Trigger Type is set to Pattern/State. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:ALL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:ALL?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:INPut:ALL value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:ALL + - TRIGger:B:LOGIc:INPut:ALL? + + **Info:** + - ```` specifies the bit pattern for all the channels. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerBLogicInput(SCPICmdRead): + """The ``TRIGger:B:LOGIc:INPut`` command. + + **Description:** + - This query-only command returns the logic trigger input expected for Channel 1, 2, and 3. + Channel 4 is set or queried with the command . This command is equivalent to selecting + Event Trigger Setup and viewing or setting the Input Threshold for the channels. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut? + + Properties: + - ``.all``: The ``TRIGger:B:LOGIc:INPut:ALL`` command. + - ``.ch``: The ``TRIGger:B:LOGIc:INPut:CH`` command. + - ``.format``: The ``TRIGger:B:LOGIc:INPut:FORMat`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._all = TriggerBLogicInputAll(device, f"{self._cmd_syntax}:ALL") + self._ch: Dict[int, TriggerBLogicInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLogicInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._format = TriggerBLogicInputFormat(device, f"{self._cmd_syntax}:FORMat") + + @property + def all(self) -> TriggerBLogicInputAll: + """Return the ``TRIGger:B:LOGIc:INPut:ALL`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input condition for all the + channels. The command is available when the Trigger Type is set to Pattern/State. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:ALL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:ALL?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:INPut:ALL value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:ALL + - TRIGger:B:LOGIc:INPut:ALL? + + **Info:** + - ```` specifies the bit pattern for all the channels. + """ + return self._all + + @property + def ch(self) -> Dict[int, TriggerBLogicInputChannel]: + """Return the ``TRIGger:B:LOGIc:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logical trigger input for the channel + specified by x. The value of x ranges from 1 through 3. Note that CH4 cannot be set or + queried with this command. For details about setting this channel, see . This command + is equivalent to selecting Event Trigger Setup from the Trig menu and then choosing + the desired logical input from the Ch drop-down list, which is located in the Input + Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:INPut:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:B:LOGIc:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + return self._ch + + @property + def format(self) -> TriggerBLogicInputFormat: + """Return the ``TRIGger:B:LOGIc:INPut:FORMat`` command. + + **Description:** + - This command sets or queries the A or B logic trigger pattern format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:LOGIc:INPut:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:B:LOGIc:INPut:FORMat? + + **Info:** + - ``HEXadecimal`` specifies hexadecimal pattern format for A or B logic trigger. + - ``BINary`` specifies binary pattern format for A or B logic trigger. + """ + return self._format + + +class TriggerBLogicFunction(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:FUNCtion`` command. + + **Description:** + - This command sets or queries the logical combination of the input channels for logic + triggers. This command is equivalent to selecting Logic for the Trigger Type, and setting + or viewing the Define Logic. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:FUNCtion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:FUNCtion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:B:LOGIc:FUNCtion? + + **Info:** + - ``AND`` specifies to trigger if all conditions are true. + - ``NANd`` specifies to trigger if any of the conditions are false. + - ``NOR`` specifies to trigger if all conditions are false. + - ``OR`` specifies to trigger if any of the conditions are true. + """ + + +class TriggerBLogicClass(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LOGIc:CLAss`` command. + + **Description:** + - This command sets or queries the class of the Logic Trigger. Used with the command, this + command is equivalent to selecting Logic Pattern, Logic State, or Setup/Hold Setup from + the Trig menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:CLAss value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:B:LOGIc:CLAss? + + **Info:** + - ``PATtern`` sets the instrument to trigger when the specified logical combinations of + Channels 1, 2, 3, and 4 are met. + - ``STATE`` sets the instrument to trigger when the specified conditions of Channels 1, 2, + and 3 are met after the Channel 4 (clock) condition is met. + - ``SETHold`` sets the instrument to trigger on setup and hold violations between a data + source and a clock source. Use one channel input as the clock signal and a second channel + input as the data input. The clocking and data levels are used to determine if a clock or + data transition has occurred. + """ + + +class TriggerBLogic(SCPICmdRead): + """The ``TRIGger:B:LOGIc`` command. + + **Description:** + - This query-only command returns all of the logic trigger parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc? + + Properties: + - ``.class``: The ``TRIGger:B:LOGIc:CLAss`` command. + - ``.function``: The ``TRIGger:B:LOGIc:FUNCtion`` command. + - ``.input``: The ``TRIGger:B:LOGIc:INPut`` command. + - ``.pattern``: The ``TRIGger:B:LOGIc:PATtern`` command. + - ``.sethold``: The ``TRIGger:B:LOGIc:SETHold`` command. + - ``.state``: The ``TRIGger:B:LOGIc:STATE`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._class = TriggerBLogicClass(device, f"{self._cmd_syntax}:CLAss") + self._function = TriggerBLogicFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._input = TriggerBLogicInput(device, f"{self._cmd_syntax}:INPut") + self._pattern = TriggerBLogicPattern(device, f"{self._cmd_syntax}:PATtern") + self._sethold = TriggerBLogicSethold(device, f"{self._cmd_syntax}:SETHold") + self._state = TriggerBLogicState(device, f"{self._cmd_syntax}:STATE") + self._threshold = TriggerBLogicThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def class_(self) -> TriggerBLogicClass: + """Return the ``TRIGger:B:LOGIc:CLAss`` command. + + **Description:** + - This command sets or queries the class of the Logic Trigger. Used with the command, + this command is equivalent to selecting Logic Pattern, Logic State, or Setup/Hold + Setup from the Trig menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:CLAss value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:B:LOGIc:CLAss? + + **Info:** + - ``PATtern`` sets the instrument to trigger when the specified logical combinations of + Channels 1, 2, 3, and 4 are met. + - ``STATE`` sets the instrument to trigger when the specified conditions of Channels 1, + 2, and 3 are met after the Channel 4 (clock) condition is met. + - ``SETHold`` sets the instrument to trigger on setup and hold violations between a data + source and a clock source. Use one channel input as the clock signal and a second + channel input as the data input. The clocking and data levels are used to determine if + a clock or data transition has occurred. + """ + return self._class + + @property + def function(self) -> TriggerBLogicFunction: + """Return the ``TRIGger:B:LOGIc:FUNCtion`` command. + + **Description:** + - This command sets or queries the logical combination of the input channels for logic + triggers. This command is equivalent to selecting Logic for the Trigger Type, and + setting or viewing the Define Logic. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:FUNCtion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LOGIc:FUNCtion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:B:LOGIc:FUNCtion? + + **Info:** + - ``AND`` specifies to trigger if all conditions are true. + - ``NANd`` specifies to trigger if any of the conditions are false. + - ``NOR`` specifies to trigger if all conditions are false. + - ``OR`` specifies to trigger if any of the conditions are true. + """ + return self._function + + @property + def input(self) -> TriggerBLogicInput: + """Return the ``TRIGger:B:LOGIc:INPut`` command. + + **Description:** + - This query-only command returns the logic trigger input expected for Channel 1, 2, and + 3. Channel 4 is set or queried with the command . This command is equivalent to + selecting Event Trigger Setup and viewing or setting the Input Threshold for the + channels. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:INPut? + + Sub-properties: + - ``.all``: The ``TRIGger:B:LOGIc:INPut:ALL`` command. + - ``.ch``: The ``TRIGger:B:LOGIc:INPut:CH`` command. + - ``.format``: The ``TRIGger:B:LOGIc:INPut:FORMat`` command. + """ + return self._input + + @property + def pattern(self) -> TriggerBLogicPattern: + """Return the ``TRIGger:B:LOGIc:PATtern`` command. + + **Description:** + - This query-only command returns the conditions used for generating an A logic pattern + trigger, with respect to the defined input pattern, and identifies the maximum and + minimum time that the selected pattern can be true and still generate the trigger. + This command is equivalent to selecting Logic Pattern from the Trig menu and then + viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:PATtern? + + Sub-properties: + - ``.input``: The ``TRIGger:B:LOGIc:PATtern:INPut`` command tree. + - ``.when``: The ``TRIGger:B:LOGIc:PATtern:WHEn`` command. + """ + return self._pattern + + @property + def sethold(self) -> TriggerBLogicSethold: + """Return the ``TRIGger:B:LOGIc:SETHold`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input, data voltage threshold and source, and both setup and hold times for setup and + hold violation triggering. This command is equivalent to selecting Setup/Hold Setup + from the Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:SETHold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:SETHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:SETHold? + + Sub-properties: + - ``.clock``: The ``TRIGger:B:LOGIc:SETHold:CLOCk`` command. + - ``.data``: The ``TRIGger:B:LOGIc:SETHold:DATa`` command. + - ``.holdtime``: The ``TRIGger:B:LOGIc:SETHold:HOLDTime`` command. + - ``.qualify``: The ``TRIGger:B:LOGIc:SETHold:QUAlify`` command. + - ``.settime``: The ``TRIGger:B:LOGIc:SETHold:SETTime`` command. + """ + return self._sethold + + @property + def state(self) -> TriggerBLogicState: + """Return the ``TRIGger:B:LOGIc:STATE`` command. + + **Description:** + - This query-only command returns the data input and trigger criteria for the logic + trigger. This command is equivalent to selecting Logic State from the Trig menu and + then viewing the current logic state settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:STATE? + + Sub-properties: + - ``.input``: The ``TRIGger:B:LOGIc:STATE:INPut`` command tree. + - ``.when``: The ``TRIGger:B:LOGIc:STATE:WHEn`` command. + """ + return self._state + + @property + def threshold(self) -> TriggerBLogicThreshold: + """Return the ``TRIGger:B:LOGIc:THReshold`` command. + + **Description:** + - This query-only command returns the threshold voltage for all channels in a logic + trigger. This command query is equivalent to selecting Event Trigger Setup from the + Trig menu, choosing a logic trigger type, such as State or Pattern, and viewing the + current Input Threshold voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc:THReshold? + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOGIc:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerBLevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LEVel:CH`` command. + + **Description:** + - This command sets or queries the CH trigger level for + ``TRIGGER:LVLSRCPREFERENCE SRCDEPENDENT`` mode. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LEVel:CH {ECL|TTL|} + - TRIGger:B:LEVel:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerBLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LEVel`` command. + + **Description:** + - This command sets or queries the level for the trigger. This command is equivalent to + selecting Holdoff from the Trig menu and then viewing or setting the trigger Level or + selecting B Event (Delayed) Trigger Setup from the Trig menu and setting the B Trig Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LEVel {ECL|TTL|} + - TRIGger:B:LEVel? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + + Properties: + - ``.ch``: The ``TRIGger:B:LEVel:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLevelChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLevelChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLevelChannel]: + """Return the ``TRIGger:B:LEVel:CH`` command. + + **Description:** + - This command sets or queries the CH trigger level for + ``TRIGGER:LVLSRCPREFERENCE SRCDEPENDENT`` mode. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LEVel:CH {ECL|TTL|} + - TRIGger:B:LEVel:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerBEventsCount(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EVENTS:COUNt`` command. + + **Description:** + - This command sets or queries the number of events that must occur before the B trigger. + The B trigger event count applies only if ``TRIGger:B:BY`` is set to EVENTS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EVENTS:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EVENTS:COUNt?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EVENTS:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EVENTS:COUNt + - TRIGger:B:EVENTS:COUNt? + + **Info:** + - ```` is the number of B trigger events, which can range from 1 to 65,471. + """ + + +class TriggerBEvents(SCPICmdRead): + """The ``TRIGger:B:EVENTS`` command. + + **Description:** + - Returns the current B trigger events parameter. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EVENTS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EVENTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EVENTS? + + Properties: + - ``.count``: The ``TRIGger:B:EVENTS:COUNt`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = TriggerBEventsCount(device, f"{self._cmd_syntax}:COUNt") + + @property + def count(self) -> TriggerBEventsCount: + """Return the ``TRIGger:B:EVENTS:COUNt`` command. + + **Description:** + - This command sets or queries the number of events that must occur before the B + trigger. The B trigger event count applies only if ``TRIGger:B:BY`` is set to EVENTS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EVENTS:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EVENTS:COUNt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EVENTS:COUNt value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EVENTS:COUNt + - TRIGger:B:EVENTS:COUNt? + + **Info:** + - ```` is the number of B trigger events, which can range from 1 to 65,471. + """ + return self._count + + +class TriggerBEdgeSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the edge trigger. This command is equivalent + to selecting Event Trigger Setup from the Trig menu and then choosing from the Source + drop-down list. When an UltraSync stack is in use, the mapped channels are used to both + acquire waveform data and to trigger the oscilloscope. In the special case of an UltraSync + stack master, additional channels are available for triggering. These are the unmapped + channels. For an ATI UltraSync Sstack master, CH2, MCH1, and MCH3 can be used for + triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, MCH3, and MCH4 are + available for triggering. The vertical min/max amplitude for these signals must be setup. + See for more details. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:B:EDGE:SOUrce? + + **Info:** + - ``AUXiliary`` specifies an external trigger using the Auxiliary Trigger Input. x can be 1, + 2, 3, or 4. + - ``CH`` specifies one input channel as the edge trigger source. + - ``MCH`` specifies an unmapped channel on an UltraSync stack master. For more details + see. + - ``LINE`` specifies AC line voltage, and is for A Trigger only. + - ``D`` specifies a digital input as the edge trigger source. x can be 0 through 15. + """ + + +class TriggerBEdgeSlope(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:SLOpe`` command. + + **Description:** + - This command sets or queries the slope for the edge trigger. This command is equivalent to + selecting Edge from the Trigger Type drop-down in the Trigger setup context menu, and then + choosing the desired Slope. This command is also equivalent to pressing the front-panel + Slope button. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SLOpe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerBEdgeCouplingChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:COUPling:CH`` command. + + **Description:** + - This command sets or queries the type of coupling for the A or B trigger for the specified + channel. This command is equivalent to selecting A or B Trigger Setup from the Trig menu + and choosing the setting from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling:CH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:COUPling:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling:CH? + + **Info:** + - ``AC`` selects AC trigger coupling. + - ``DC`` selects DC trigger coupling. + - ``HFRej`` selects high frequency low sensitivity. + - ``LFRej`` selects low frequency low sensitivity. + - ``NOISErej`` selects DC low sensitivity. + """ + + +class TriggerBEdgeCoupling(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:COUPling`` command. + + **Description:** + - This command sets or queries the type of coupling for the edge trigger. This command is + equivalent to selecting Event Trigger Setup from the Trig menu, selecting Edge Trigger, + and choosing from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:COUPling value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:B:EDGE:COUPling? + + **Info:** + - ``AC`` selects AC trigger coupling, which passes the input signals above 60 Hz to the + trigger circuitry. + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + - ``ATRIGger`` this B trigger command sets the B trigger coupling to match the setting on + the A trigger. + + Properties: + - ``.ch``: The ``TRIGger:B:EDGE:COUPling:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBEdgeCouplingChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBEdgeCouplingChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBEdgeCouplingChannel]: + """Return the ``TRIGger:B:EDGE:COUPling:CH`` command. + + **Description:** + - This command sets or queries the type of coupling for the A or B trigger for the + specified channel. This command is equivalent to selecting A or B Trigger Setup from + the Trig menu and choosing the setting from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:B:EDGE:COUPling:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling:CH? + + **Info:** + - ``AC`` selects AC trigger coupling. + - ``DC`` selects DC trigger coupling. + - ``HFRej`` selects high frequency low sensitivity. + - ``LFRej`` selects low frequency low sensitivity. + - ``NOISErej`` selects DC low sensitivity. + """ + return self._ch + + +class TriggerBEdge(SCPICmdRead): + """The ``TRIGger:B:EDGE`` command. + + **Description:** + - This query-only command returns the trigger source, coupling, and slope for the specified + edge trigger. This command is equivalent to selecting Edge Setup from the Trig menu and + viewing the current setups, or selecting B Event (Delayed) Trigger Setup from the Trig + menu and viewing the current Source, Slope, and Coupling settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE? + + Properties: + - ``.coupling``: The ``TRIGger:B:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:B:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:B:EDGE:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._coupling = TriggerBEdgeCoupling(device, f"{self._cmd_syntax}:COUPling") + self._slope = TriggerBEdgeSlope(device, f"{self._cmd_syntax}:SLOpe") + self._source = TriggerBEdgeSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def coupling(self) -> TriggerBEdgeCoupling: + """Return the ``TRIGger:B:EDGE:COUPling`` command. + + **Description:** + - This command sets or queries the type of coupling for the edge trigger. This command + is equivalent to selecting Event Trigger Setup from the Trig menu, selecting Edge + Trigger, and choosing from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:COUPling value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:B:EDGE:COUPling? + + **Info:** + - ``AC`` selects AC trigger coupling, which passes the input signals above 60 Hz to the + trigger circuitry. + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + - ``ATRIGger`` this B trigger command sets the B trigger coupling to match the setting + on the A trigger. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:EDGE:COUPling:CH`` command. + """ + return self._coupling + + @property + def slope(self) -> TriggerBEdgeSlope: + """Return the ``TRIGger:B:EDGE:SLOpe`` command. + + **Description:** + - This command sets or queries the slope for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and then choosing the desired Slope. This command is also equivalent to + pressing the front-panel Slope button. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SLOpe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._slope + + @property + def source(self) -> TriggerBEdgeSource: + """Return the ``TRIGger:B:EDGE:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the edge trigger. This command is + equivalent to selecting Event Trigger Setup from the Trig menu and then choosing from + the Source drop-down list. When an UltraSync stack is in use, the mapped channels are + used to both acquire waveform data and to trigger the oscilloscope. In the special + case of an UltraSync stack master, additional channels are available for triggering. + These are the unmapped channels. For an ATI UltraSync Sstack master, CH2, MCH1, and + MCH3 can be used for triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, + MCH3, and MCH4 are available for triggering. The vertical min/max amplitude for these + signals must be setup. See for more details. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:B:EDGE:SOUrce? + + **Info:** + - ``AUXiliary`` specifies an external trigger using the Auxiliary Trigger Input. x can + be 1, 2, 3, or 4. + - ``CH`` specifies one input channel as the edge trigger source. + - ``MCH`` specifies an unmapped channel on an UltraSync stack master. For more + details see. + - ``LINE`` specifies AC line voltage, and is for A Trigger only. + - ``D`` specifies a digital input as the edge trigger source. x can be 0 through 15. + """ + return self._source + + +class TriggerBBy(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:BY`` command. + + **Description:** + - This command selects or returns one of three methods for sequencing an A-Event followed by + a B-Event to trigger the oscilloscope. Equivalent methods can be found on the A →B + Sequence Tab of the Trigger menu. In this context, the A-Event can be Edge, any Pulse, or + any Logic Trigger type. The Pulse types are Glitch, Width, Runt, Timeout, Transition, + Window, or Frequency/Period trigger types. Similarly, the B-Events can be Edge, any Pulse, + or any Logic Trigger Type. Reset Events and Logic-Qualification can be used in combination + with the first two ``TRIGger:B:BY`` methods. This gives several thousand ways to trigger + the oscilloscope using hardware alone. When combined with Enhanced and Visual Trigger + software, there are essentially an infinite number of ways to capture signals on the + oscilloscope. The first method, EVENTS or Delay By Events, causes the oscilloscope to + trigger when a specified number of B-Events occurs after the A-Event has occurred. That + is, after the A-Event occurs, the oscilloscope waits until the nth B-Event to trigger the + oscilloscope. You set the value for N. After the scope triggers on the nth B-Event, it + goes back to waiting for another A-Event to occur. The second method, TIME or Delay By + Time, causes the oscilloscope to trigger when a B-Event occurs at least a specified amount + of time after the A-Event occurs. That is, the oscilloscope waits for the A-Event to + occur, then waits the specified amount of time, and then waits for the B-Event to trigger + the oscilloscope. You set the specified time. After the oscilloscope triggers on the + B-Event, it goes back to waiting for another A-Event to occur. The third method, ARMAtrigB + or Arm-On-A-Event, Trigger On-B-Event, is conceptually different, and has additional + restrictions. Here, the oscilloscope waits for the A-Event to occur (once), before arming + the oscilloscope to trigger on one or more B-Events. Once armed, the oscilloscope does not + return to looking for an A-Event. Historically, the oscilloscope is armed by pressing the + RUN or SINGLE SEQUENCE button (physical or on user interface). These methods of arming the + oscilloscope are just fine in most situations. However, they are asynchronous and + unrelated to the signals monitored by the trigger system. The ARMAtrigB method arms the + oscilloscope for triggering based on real-time events occurring in the signals under test. + That is, reception of an A-Event arms the oscilloscope for triggering on one or more + B-Events. There is a minimum time required by the hardware between the A- and B-Events of + about 10 ns. The key point is that the oscilloscope is armed by the A-Event occurring in + the signals under test. The ARMAtrigB method does not allow the use of Logic Trigger Types + (Pattern, State, or SetupHold) for either the A- or B-Events. It further does not allow + Logic-Qualification or Reset Events. It also coerces the Trigger Mode to Normal (not + Auto), and Holdoff by Time. These restrictions insure that the oscilloscope will not miss + the first B-Event after the A-Event. You can use the ARM on A trig on B method on a stand + alone oscilloscope, or on a TimeSync or UltraSync stack of oscilloscopes. It can be used + in Single Step or Continuous Acquisitions. It can be used with FastFrame or Normal + Acquisitions. When a stack of oscilloscopes is used, the acquired channels are mapped one + channel from each oscilloscope in the stack. To make the most use of these acquired + channels, the Master oscilloscope unmapped channels are available for triggering. The + unmapped channels on the master oscilloscope are designated as MCh1, MCh2, MCh3, or MCh4 + in the user interface and the programmable interface. These channels are available for + triggering when a stack of oscilloscopes is used. They are only on the Stack Master. On an + ATI scope, Ch2, MCh1 and MCh3 are available for triggering. On a 4-channel oscilloscope, + Ch1, MCh2, MCh3, and MCh4 are available for triggering. See for more details. The first + application to make use of ARMAtrigB was a coherent optical recirculating loop test + system. When a switch closes to inject the optical signal into the loop, a signal is sent + to arm the oscilloscope (the A-Event). A timer is then started that emits a signal to + trigger the oscilloscope (the B-Event). This arrangement allows the oscilloscope to + capture the waveforms after the signal transist the recirculating loop one or many times + in order to determine the quality of the optical signal after transiting many 100 km of + fiber. Other applications can make similar use of this feature. For example, a pulse-width + modulated motor can be monitored to arm the oscilloscope when the pulse width (or + frequency) reaches a certain range. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:BY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:BY?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:BY value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:BY {EVENTS|TIMe|ARMAtrigb} + - TRIGger:B:BY? + + **Info:** + - ``EVENTS`` sets the B trigger to take place following a set number of trigger events after + the A trigger occurs. The number of events is specified by ``TRIGger:B:EVENTS:COUNt``. + - ``TIMe`` sets the B trigger to occur a set time after the A trigger event. The time period + is specified by ``TRIGger:B:TIMe``. + - ``ARMAtrigb`` arms the scope for triggering when the A-Event occurs (once) to trigger on + one or more B-Events. See. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerB(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B`` command. + + **Description:** + - This command sets the B trigger level to 50% of minimum and maximum. The query form of + this command returns the B trigger parameters. This command is similar to selecting B + Event (Delayed) Trigger Setup from the Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.write(value)`` method will send the ``TRIGger:B value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B SETLevel + + **Info:** + - ``SETLevel`` sets the B trigger level to 50% of MIN and MAX. + + Properties: + - ``.by``: The ``TRIGger:B:BY`` command. + - ``.events``: The ``TRIGger:B:EVENTS`` command. + - ``.pulse``: The ``TRIGger:B:PULse`` command tree. + - ``.reset``: The ``TRIGger:B:RESET`` command tree. + - ``.scan``: The ``TRIGger:B:SCAN`` command tree. + - ``.state``: The ``TRIGger:B:STATE`` command. + - ``.time``: The ``TRIGger:B:TIMe`` command. + - ``.edge``: The ``TRIGger:B:EDGE`` command. + - ``.level``: The ``TRIGger:B:LEVel`` command. + - ``.logic``: The ``TRIGger:B:LOGIc`` command. + - ``.lowerthreshold``: The ``TRIGger:B:LOWerthreshold`` command tree. + - ``.ready``: The ``TRIGger:B:READY`` command. + - ``.type``: The ``TRIGger:B:TYPe`` command. + - ``.upperthreshold``: The ``TRIGger:B:UPPerthreshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._by = TriggerBBy(device, f"{self._cmd_syntax}:BY") + self._events = TriggerBEvents(device, f"{self._cmd_syntax}:EVENTS") + self._reset = TriggerBReset(device, f"{self._cmd_syntax}:RESET") + self._scan = TriggerBScan(device, f"{self._cmd_syntax}:SCAN") + self._state = TriggerBState(device, f"{self._cmd_syntax}:STATE") + self._time = TriggerBTime(device, f"{self._cmd_syntax}:TIMe") + self._edge = TriggerBEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerBLevel(device, f"{self._cmd_syntax}:LEVel") + self._logic = TriggerBLogic(device, f"{self._cmd_syntax}:LOGIc") + self._lowerthreshold = TriggerBLowerthreshold(device, f"{self._cmd_syntax}:LOWerthreshold") + self._pulse = TriggerBPulse(device, f"{self._cmd_syntax}:PULse") + self._ready = TriggerBReady(device, f"{self._cmd_syntax}:READY") + self._type = TriggerBType(device, f"{self._cmd_syntax}:TYPe") + self._upperthreshold = TriggerBUpperthreshold(device, f"{self._cmd_syntax}:UPPerthreshold") + + @property + def by(self) -> TriggerBBy: + """Return the ``TRIGger:B:BY`` command. + + **Description:** + - This command selects or returns one of three methods for sequencing an A-Event + followed by a B-Event to trigger the oscilloscope. Equivalent methods can be found on + the A →B Sequence Tab of the Trigger menu. In this context, the A-Event can be Edge, + any Pulse, or any Logic Trigger type. The Pulse types are Glitch, Width, Runt, + Timeout, Transition, Window, or Frequency/Period trigger types. Similarly, the + B-Events can be Edge, any Pulse, or any Logic Trigger Type. Reset Events and + Logic-Qualification can be used in combination with the first two ``TRIGger:B:BY`` + methods. This gives several thousand ways to trigger the oscilloscope using hardware + alone. When combined with Enhanced and Visual Trigger software, there are essentially + an infinite number of ways to capture signals on the oscilloscope. The first method, + EVENTS or Delay By Events, causes the oscilloscope to trigger when a specified number + of B-Events occurs after the A-Event has occurred. That is, after the A-Event occurs, + the oscilloscope waits until the nth B-Event to trigger the oscilloscope. You set the + value for N. After the scope triggers on the nth B-Event, it goes back to waiting for + another A-Event to occur. The second method, TIME or Delay By Time, causes the + oscilloscope to trigger when a B-Event occurs at least a specified amount of time + after the A-Event occurs. That is, the oscilloscope waits for the A-Event to occur, + then waits the specified amount of time, and then waits for the B-Event to trigger the + oscilloscope. You set the specified time. After the oscilloscope triggers on the + B-Event, it goes back to waiting for another A-Event to occur. The third method, + ARMAtrigB or Arm-On-A-Event, Trigger On-B-Event, is conceptually different, and has + additional restrictions. Here, the oscilloscope waits for the A-Event to occur (once), + before arming the oscilloscope to trigger on one or more B-Events. Once armed, the + oscilloscope does not return to looking for an A-Event. Historically, the oscilloscope + is armed by pressing the RUN or SINGLE SEQUENCE button (physical or on user + interface). These methods of arming the oscilloscope are just fine in most situations. + However, they are asynchronous and unrelated to the signals monitored by the trigger + system. The ARMAtrigB method arms the oscilloscope for triggering based on real-time + events occurring in the signals under test. That is, reception of an A-Event arms the + oscilloscope for triggering on one or more B-Events. There is a minimum time required + by the hardware between the A- and B-Events of about 10 ns. The key point is that the + oscilloscope is armed by the A-Event occurring in the signals under test. The + ARMAtrigB method does not allow the use of Logic Trigger Types (Pattern, State, or + SetupHold) for either the A- or B-Events. It further does not allow + Logic-Qualification or Reset Events. It also coerces the Trigger Mode to Normal (not + Auto), and Holdoff by Time. These restrictions insure that the oscilloscope will not + miss the first B-Event after the A-Event. You can use the ARM on A trig on B method on + a stand alone oscilloscope, or on a TimeSync or UltraSync stack of oscilloscopes. It + can be used in Single Step or Continuous Acquisitions. It can be used with FastFrame + or Normal Acquisitions. When a stack of oscilloscopes is used, the acquired channels + are mapped one channel from each oscilloscope in the stack. To make the most use of + these acquired channels, the Master oscilloscope unmapped channels are available for + triggering. The unmapped channels on the master oscilloscope are designated as MCh1, + MCh2, MCh3, or MCh4 in the user interface and the programmable interface. These + channels are available for triggering when a stack of oscilloscopes is used. They are + only on the Stack Master. On an ATI scope, Ch2, MCh1 and MCh3 are available for + triggering. On a 4-channel oscilloscope, Ch1, MCh2, MCh3, and MCh4 are available for + triggering. See for more details. The first application to make use of ARMAtrigB was a + coherent optical recirculating loop test system. When a switch closes to inject the + optical signal into the loop, a signal is sent to arm the oscilloscope (the A-Event). + A timer is then started that emits a signal to trigger the oscilloscope (the B-Event). + This arrangement allows the oscilloscope to capture the waveforms after the signal + transist the recirculating loop one or many times in order to determine the quality of + the optical signal after transiting many 100 km of fiber. Other applications can make + similar use of this feature. For example, a pulse-width modulated motor can be + monitored to arm the oscilloscope when the pulse width (or frequency) reaches a + certain range. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:BY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:BY?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:BY value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:BY {EVENTS|TIMe|ARMAtrigb} + - TRIGger:B:BY? + + **Info:** + - ``EVENTS`` sets the B trigger to take place following a set number of trigger events + after the A trigger occurs. The number of events is specified by + ``TRIGger:B:EVENTS:COUNt``. + - ``TIMe`` sets the B trigger to occur a set time after the A trigger event. The time + period is specified by ``TRIGger:B:TIMe``. + - ``ARMAtrigb`` arms the scope for triggering when the A-Event occurs (once) to trigger + on one or more B-Events. See. + """ + return self._by + + @property + def events(self) -> TriggerBEvents: + """Return the ``TRIGger:B:EVENTS`` command. + + **Description:** + - Returns the current B trigger events parameter. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EVENTS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EVENTS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EVENTS? + + Sub-properties: + - ``.count``: The ``TRIGger:B:EVENTS:COUNt`` command. + """ + return self._events + + @property + def reset(self) -> TriggerBReset: + """Return the ``TRIGger:B:RESET`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:RESET?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:RESET?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acceptcount``: The ``TRIGger:B:RESET:ACCEPTCOUNT`` command. + - ``.accepttimeout``: The ``TRIGger:B:RESET:ACCEPTTIMEout`` command. + - ``.ratio``: The ``TRIGger:B:RESET:RATIO`` command. + - ``.ratioenable``: The ``TRIGger:B:RESET:RATIOENable`` command. + - ``.rejectcount``: The ``TRIGger:B:RESET:REJECTCOUNT`` command. + - ``.rejecttimeout``: The ``TRIGger:B:RESET:REJECTTIMEout`` command. + - ``.source``: The ``TRIGger:B:RESET:SOUrce`` command. + - ``.state``: The ``TRIGger:B:RESET:STATE`` command. + - ``.threshold``: The ``TRIGger:B:RESET:THReshold`` command. + - ``.timeout``: The ``TRIGger:B:RESET:TIMEOut`` command. + - ``.totalcount``: The ``TRIGger:B:RESET:TOTALCOUNT`` command. + - ``.transition``: The ``TRIGger:B:RESET:TRANsition`` command. + - ``.type``: The ``TRIGger:B:RESET:TYPe`` command. + """ + return self._reset + + @property + def scan(self) -> TriggerBScan: + """Return the ``TRIGger:B:SCAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:SCAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:SCAN?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.advanceafter``: The ``TRIGger:B:SCAN:ADVANCEafter`` command. + - ``.enable``: The ``TRIGger:B:SCAN:ENAble`` command. + - ``.endevent``: The ``TRIGger:B:SCAN:ENDevent`` command. + - ``.mode``: The ``TRIGger:B:SCAN:MODE`` command. + - ``.startevent``: The ``TRIGger:B:SCAN:STARTevent`` command. + """ + return self._scan + + @property + def state(self) -> TriggerBState: + """Return the ``TRIGger:B:STATE`` command. + + **Description:** + - This command sets or queries the state of B trigger activity. If the B trigger state + is on, the B trigger is part of the triggering sequence. If the B trigger state is + off, then only the A trigger causes the trigger event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:STATE?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:STATE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:STATE {ON|OFF|} + - TRIGger:B:STATE? + + **Info:** + - ``ON`` indicates that the B trigger is active and causes trigger events with the A + trigger. + - ``OFF`` indicates that only the A trigger causes trigger events. + - ```` is an integer number. 0 turns off the B trigger; any other value activates + the B trigger. + """ + return self._state + + @property + def time(self) -> TriggerBTime: + """Return the ``TRIGger:B:TIMe`` command. + + **Description:** + - This command sets or queries B trigger delay time, in seconds. The B Trigger time + applies only if ``TRIGger:B:BY`` is set to TIMe. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TIMe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:TIMe + - TRIGger:B:TIMe? + + **Info:** + - ```` is the B trigger delay time in seconds. + """ + return self._time + + @property + def edge(self) -> TriggerBEdge: + """Return the ``TRIGger:B:EDGE`` command. + + **Description:** + - This query-only command returns the trigger source, coupling, and slope for the + specified edge trigger. This command is equivalent to selecting Edge Setup from the + Trig menu and viewing the current setups, or selecting B Event (Delayed) Trigger Setup + from the Trig menu and viewing the current Source, Slope, and Coupling settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:EDGE? + + Sub-properties: + - ``.coupling``: The ``TRIGger:B:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:B:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:B:EDGE:SOUrce`` command. + """ + return self._edge + + @property + def level(self) -> TriggerBLevel: + """Return the ``TRIGger:B:LEVel`` command. + + **Description:** + - This command sets or queries the level for the trigger. This command is equivalent to + selecting Holdoff from the Trig menu and then viewing or setting the trigger Level or + selecting B Event (Delayed) Trigger Setup from the Trig menu and setting the B Trig + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LEVel {ECL|TTL|} + - TRIGger:B:LEVel? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LEVel:CH`` command. + """ + return self._level + + @property + def logic(self) -> TriggerBLogic: + """Return the ``TRIGger:B:LOGIc`` command. + + **Description:** + - This query-only command returns all of the logic trigger parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOGIc?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:LOGIc? + + Sub-properties: + - ``.class``: The ``TRIGger:B:LOGIc:CLAss`` command. + - ``.function``: The ``TRIGger:B:LOGIc:FUNCtion`` command. + - ``.input``: The ``TRIGger:B:LOGIc:INPut`` command. + - ``.pattern``: The ``TRIGger:B:LOGIc:PATtern`` command. + - ``.sethold``: The ``TRIGger:B:LOGIc:SETHold`` command. + - ``.state``: The ``TRIGger:B:LOGIc:STATE`` command. + - ``.threshold``: The ``TRIGger:B:LOGIc:THReshold`` command. + """ + return self._logic + + @property + def lowerthreshold(self) -> TriggerBLowerthreshold: + """Return the ``TRIGger:B:LOWerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:LOWerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LOWerthreshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LOWerthreshold:CH`` command. + """ + return self._lowerthreshold + + @property + def pulse(self) -> TriggerBPulse: + """Return the ``TRIGger:B:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:PULse?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.period``: The ``TRIGger:B:PULse:PERiod`` command. + - ``.window``: The ``TRIGger:B:PULse:WINdow`` command tree. + - ``.class``: The ``TRIGger:B:PULse:CLAss`` command. + - ``.glitch``: The ``TRIGger:B:PULse:GLItch`` command. + - ``.runt``: The ``TRIGger:B:PULse:RUNT`` command. + - ``.source``: The ``TRIGger:B:PULse:SOUrce`` command. + - ``.timeout``: The ``TRIGger:B:PULse:TIMEOut`` command. + - ``.transition``: The ``TRIGger:B:PULse:TRANsition`` command. + - ``.width``: The ``TRIGger:B:PULse:WIDth`` command. + """ + return self._pulse + + @property + def ready(self) -> TriggerBReady: + """Return the ``TRIGger:B:READY`` command. + + **Description:** + - This command queries the trigger ready state and provides the immediate state from the + trigger system. It is a more synchronous means of determining when the oscilloscope is + ready to trigger. The ``TRIGGER:STATE`` reflects a less-frequently updated status of + the trigger LEDs on the instrument front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:READY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:READY?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:B:READY? + """ + return self._ready + + @property + def type(self) -> TriggerBType: + """Return the ``TRIGger:B:TYPe`` command. + + **Description:** + - This command sets or queries the type of A or B trigger. Logic and Pulse triggers + contain classes. Logic triggers consist of State and Pattern classes; Pulse triggers + consist of Glitch, Runt, Width, Transition, Timeout, and Window classes. Once you have + set the trigger type, you might also need to identify the associated trigger class. + For details on selecting Logic and Pulse trigger classes, see and respectively. This + command is similar to selecting Event Trigger Setup from the Trig menu and then + selecting the desired Trigger Type. Some trigger types are not available on some + instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:B:TYPe? + + **Info:** + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the ``TRIGger:A:LOGIc`` commands. + - ``PULse`` specifies that a trigger occurs when a specified pulse is found and is + controlled by the ``TRIGger:A:PULse`` commands. + - ``VIDeo`` specifies that the trigger occurs when a video signal is found. Requires an + instrument with video hardware. + - ``I2C`` specifies that a trigger occurs when an Inter-IC Control signal is found. + - ``CAN`` specifies that a trigger occurs when a Controller Area Network frame signal is + found. + - ``SPI`` specifies that a trigger occurs when a Serial Peripheral Interface signal is + found. + - ``COMMunication`` (Option MTM) specifies that a trigger occurs when a communications + signal is found. Supports AMI, HDB3, B3ZS, B6ZS, B8ZS, CMI, MLT3, Manchester, and NRZ + encoded communications signals. COMMunication is available only if Option MTM is + installed. + - ``SERIAL`` specifies that a trigger occurs when NRZ-encoded data is found, providing a + 32-bit serial word. This argument is available with instruments with Option PTM. + - ``RS232`` takes a signal on a data source and allows you to trigger on data within the + RS232 bitstream. The data is only one byte wide. + """ + return self._type + + @property + def upperthreshold(self) -> TriggerBUpperthreshold: + """Return the ``TRIGger:B:UPPerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:B:UPPerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:UPPerthreshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:UPPerthreshold:CH`` command. + """ + return self._upperthreshold + + +class TriggerAuxlevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:AUXLevel`` command. + + **Description:** + - For those instruments that have an Auxiliary Input (such as an MSO58LP), this command sets + or queries the Auxiliary Input voltage level to use for an edge trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:AUXLevel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:AUXLevel?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:AUXLevel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:AUXLevel {|ECL|TTL} + - TRIGger:AUXLevel? + + **Info:** + - ```` is trigger level in Volts. + - ``ECL`` sets trigger level to -1.3 Volts. + - ``TTL`` sets trigger level to 1.4 Volts. + """ + + +class TriggerAVideoStandard(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:STANdard`` command. + + **Description:** + - This command sets or queries the video standard. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:STANdard {BILevelcustom|TRILevelcustom|NTSc|PAL| SECAM|HD480P60|HD576P50|HD875I60|HD720P30|HD720P50| HD720P60|HD1080I50|HD1080I60|HD1080P24| HD1080P25|HD1080P30|HD1080P50|HD1080P60| HD1080SF24} + - TRIGger:A:VIDeo:STANdard? + + **Info:** + - ``BILevelcustom`` argument sets the instrument to use custom video parameters that you set + with the ``TRIGGER:A:VIDEO:CUSTOM:SYNCINTERVAL`` command. + - ``TRILevelcustom`` argument sets the instrument to use custom video horizontal scan rate + parameters that you set with the ``TRIGGER:A:VIDEO:CUSTOM:LINEPERIOD`` command. + - ``NTSc`` argument sets the instrument to trigger on video signals that meet the NTSC + 525/60/``2:1`` standard (a line rate of 525 lines per frame and a field rate of 60 Hz). + - ``PAL`` argument sets the instrument to trigger on video signals that meet the NTSC + 625/50/``2:1`` standard (a line rate of 625 lines per frame and a field rate of 50 Hz). + - ``SECAM`` argument sets the instrument to trigger on video signals that meet the SECAM + standard. + - ``HD480P60`` argument sets the instrument to trigger on the HDTV 480/60 progressive + format. + - ``HD576P50`` argument sets the instrument to trigger on the HDTV 576/50 progressive + format. + - ``HD875I60`` argument sets the instrument to trigger on the HDTV 875/60 format. + - ``HD720P30`` argument sets the instrument to trigger on the HDTV 720/30 progressive + format. + - ``HD720P50`` argument sets the instrument to trigger on the HDTV 720/50 progressive + format. + - ``HD720P60`` argument sets the instrument to trigger on the HDTV 720/60 progressive + format. + - ``HD1080I50`` argument sets the instrument to trigger on HDTV 1080/50 interlaced format. + - ``HD1080I60`` argument sets the instrument to trigger on HDTV 1080/60 interlaced format. + - ``HD1080P24`` argument sets the instrument to trigger on HDTV 1080/24 progressive format. + - ``HD1080P25`` argument sets the instrument to trigger on HDTV 1080/25 progressive format. + - ``HD1080P30`` argument sets the instrument to trigger on HDTV 1080/30 progressive format. + - ``HD1080P50`` argument sets the instrument to trigger on HDTV 1080/50 progressive format. + - ``HD1080P60`` argument sets the instrument to trigger on HDTV 1080/60 progressive format. + - ``HD1080SF24`` argument sets the instrument to trigger on HDTV 1080/24 segmented frame + format. + """ # noqa: E501 + + +class TriggerAVideoSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the A video trigger. This command is + equivalent to selecting Video Setup from the Trig menu and selecting a channel from the + Source drop-down menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SOUrce CH + - TRIGger:A:VIDeo:SOUrce? + + **Info:** + - ``CH`` argument specifies one of the input channels of the instrument as the A video + trigger. The value of x ranges from 1 through 4. + """ + + +class TriggerAVideoScan(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:SCAN`` command. + + **Description:** + - This command sets or queries the video trigger horizontal line scan rate. This command is + for compatibility with earlier instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SCAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SCAN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SCAN value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SCAN {RATE} + - TRIGger:A:VIDeo:SCAN? + + **Info:** + - ``RATE1`` argument sets the range of the video line scan rate to 15 kHz through 20 kHz. + This is the standard broadcast rate. + - ``RATE2`` argument sets the range of the video line scan rate to 20 kHz through 25 kHz. + - ``RATE3`` argument sets the range of the video line scan rate to 25 kHz through 35 kHz. + - ``RATE4`` argument sets the range of the video line scan rate to 35 kHz through 50 kHz. + - ``RATE5`` argument sets the range of the video line scan rate to 50 kHz through 65 kHz. + """ + + +class TriggerAVideoPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:POLarity`` command. + + **Description:** + - This command sets or queries the polarity of the A video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:POLarity {INVERTed|NORMal} + - TRIGger:A:VIDeo:POLarity? + + **Info:** + - ``INVERTed`` argument sets the instrument to trigger on a positive video sync pulse. + - ``NORMal`` argument sets the instrument to trigger on a negative video sync pulse. + """ + + +class TriggerAVideoLine(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:LINE`` command. + + **Description:** + - This command lets you set the specific video line number to be used for triggering on a + video signal. You must also use the command to specify NUMERic as the video field to use. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:LINE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + + **Info:** + - ```` argument is an integer that sets the video line number on which the oscilloscope + triggers. The following table lists the valid choices, depending on the active video + standard. + """ + + +class TriggerAVideoHoldoffField(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:HOLdoff:FIELD`` command. + + **Description:** + - This command sets or queries the video trigger holdoff in terms of video fields. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:HOLdoff:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:HOLdoff:FIELD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:HOLdoff:FIELD value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:HOLdoff:FIELD + - TRIGger:A:VIDeo:HOLdoff:FIELD? + + **Info:** + - ```` argument is a real number from 0.0 to 8.5 in increments of 0.5. The argument + sets the number of fields that the instrument waits before rearming the video trigger. + """ + + +class TriggerAVideoHoldoff(SCPICmdRead): + """The ``TRIGger:A:VIDeo:HOLdoff`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:HOLdoff?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:HOLdoff?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.field``: The ``TRIGger:A:VIDeo:HOLdoff:FIELD`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._field = TriggerAVideoHoldoffField(device, f"{self._cmd_syntax}:FIELD") + + @property + def field(self) -> TriggerAVideoHoldoffField: + """Return the ``TRIGger:A:VIDeo:HOLdoff:FIELD`` command. + + **Description:** + - This command sets or queries the video trigger holdoff in terms of video fields. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:HOLdoff:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:HOLdoff:FIELD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:HOLdoff:FIELD value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:HOLdoff:FIELD + - TRIGger:A:VIDeo:HOLdoff:FIELD? + + **Info:** + - ```` argument is a real number from 0.0 to 8.5 in increments of 0.5. The argument + sets the number of fields that the instrument waits before rearming the video trigger. + """ + return self._field + + +class TriggerAVideoField(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:FIELD`` command. + + **Description:** + - This command sets or queries the video field or line that the trigger detects. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:FIELD value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:FIELD {ODD|EVEN|FIELD|ALLFields|ALLLines|NUMERic} + - TRIGger:A:VIDeo:FIELD? + + **Info:** + - ``ODD`` argument sets the instrument to trigger on interlaced video odd fields. + - ``EVEN`` argument sets the instrument to trigger on interlaced video even fields. + - ``FIELD1`` argument sets the instrument to trigger on interlaced video odd fields (same as + ODD). + - ``FIELD2`` argument sets the instrument to trigger on interlaced video even fields (same + as EVEN). + - ``ALLFields`` argument sets the instrument to trigger on all fields. + - ``ALLLines`` argument sets the instrument to trigger on all video lines. + - ``NUMERic`` argument sets the instrument to trigger on the video signal line specified by + the ``TRIGger:A:VIDeo:LINE`` command. + """ + + +class TriggerAVideoCustomSyncinterval(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:CUSTom:SYNCInterval`` command. + + **Description:** + - This command sets the sync interval for the standard under test to use for triggering on + video signals. This is only required for BiLevel Custom. To use this command, you must + also set the video standard to BILevelcustom (using ``TRIGGER:A:VIDEO:STANDARD``). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:SYNCInterval?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom:SYNCInterval?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:SYNCInterval value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:SYNCInterval + - TRIGger:A:VIDeo:CUSTom:SYNCInterval? + + **Info:** + - ```` is the sync interval. + """ + + +class TriggerAVideoCustomLineperiod(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:CUSTom:LINEPeriod`` command. + + **Description:** + - This command sets the line period for the standard under test. To use this command, you + must also set the video standard to BILevelcustom or TRILevelcustom (using + ``TRIGGER:A:VIDEO:STANDARD``). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:LINEPeriod?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom:LINEPeriod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:LINEPeriod value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:LINEPeriod + - TRIGger:A:VIDeo:CUSTom:LINEPeriod? + + **Info:** + - ```` is the custom video line period. + """ + + +class TriggerAVideoCustomFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:VIDeo:CUSTom:FORMat`` command. + + **Description:** + - This command sets or queries the video trigger format. Use this command only when the + video format is set to custom. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:FORMat {INTERLAced|PROGressive} + - TRIGger:A:VIDeo:CUSTom:FORMat? + + **Info:** + - ``INTERLAced`` argument sets the format for interlaced video lines. + - ``PROGressive`` argument sets the format for progressive video lines. + """ + + +class TriggerAVideoCustom(SCPICmdRead): + """The ``TRIGger:A:VIDeo:CUSTom`` command. + + **Description:** + - This query-only command returns the A trigger custom video parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom? + + Properties: + - ``.format``: The ``TRIGger:A:VIDeo:CUSTom:FORMat`` command. + - ``.lineperiod``: The ``TRIGger:A:VIDeo:CUSTom:LINEPeriod`` command. + - ``.syncinterval``: The ``TRIGger:A:VIDeo:CUSTom:SYNCInterval`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerAVideoCustomFormat(device, f"{self._cmd_syntax}:FORMat") + self._lineperiod = TriggerAVideoCustomLineperiod(device, f"{self._cmd_syntax}:LINEPeriod") + self._syncinterval = TriggerAVideoCustomSyncinterval( + device, f"{self._cmd_syntax}:SYNCInterval" + ) + + @property + def format(self) -> TriggerAVideoCustomFormat: + """Return the ``TRIGger:A:VIDeo:CUSTom:FORMat`` command. + + **Description:** + - This command sets or queries the video trigger format. Use this command only when the + video format is set to custom. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:FORMat {INTERLAced|PROGressive} + - TRIGger:A:VIDeo:CUSTom:FORMat? + + **Info:** + - ``INTERLAced`` argument sets the format for interlaced video lines. + - ``PROGressive`` argument sets the format for progressive video lines. + """ + return self._format + + @property + def lineperiod(self) -> TriggerAVideoCustomLineperiod: + """Return the ``TRIGger:A:VIDeo:CUSTom:LINEPeriod`` command. + + **Description:** + - This command sets the line period for the standard under test. To use this command, + you must also set the video standard to BILevelcustom or TRILevelcustom (using + ``TRIGGER:A:VIDEO:STANDARD``). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:LINEPeriod?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:LINEPeriod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:LINEPeriod value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:LINEPeriod + - TRIGger:A:VIDeo:CUSTom:LINEPeriod? + + **Info:** + - ```` is the custom video line period. + """ + return self._lineperiod + + @property + def syncinterval(self) -> TriggerAVideoCustomSyncinterval: + """Return the ``TRIGger:A:VIDeo:CUSTom:SYNCInterval`` command. + + **Description:** + - This command sets the sync interval for the standard under test to use for triggering + on video signals. This is only required for BiLevel Custom. To use this command, you + must also set the video standard to BILevelcustom (using + ``TRIGGER:A:VIDEO:STANDARD``). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom:SYNCInterval?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:SYNCInterval?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:VIDeo:CUSTom:SYNCInterval value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom:SYNCInterval + - TRIGger:A:VIDeo:CUSTom:SYNCInterval? + + **Info:** + - ```` is the sync interval. + """ + return self._syncinterval + + +# pylint: disable=too-many-instance-attributes +class TriggerAVideo(SCPICmdRead): + """The ``TRIGger:A:VIDeo`` command. + + **Description:** + - Returns the A trigger video parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo? + + Properties: + - ``.custom``: The ``TRIGger:A:VIDeo:CUSTom`` command. + - ``.field``: The ``TRIGger:A:VIDeo:FIELD`` command. + - ``.holdoff``: The ``TRIGger:A:VIDeo:HOLdoff`` command tree. + - ``.line``: The ``TRIGger:A:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:A:VIDeo:POLarity`` command. + - ``.scan``: The ``TRIGger:A:VIDeo:SCAN`` command. + - ``.source``: The ``TRIGger:A:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:VIDeo:STANdard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = TriggerAVideoCustom(device, f"{self._cmd_syntax}:CUSTom") + self._field = TriggerAVideoField(device, f"{self._cmd_syntax}:FIELD") + self._holdoff = TriggerAVideoHoldoff(device, f"{self._cmd_syntax}:HOLdoff") + self._line = TriggerAVideoLine(device, f"{self._cmd_syntax}:LINE") + self._polarity = TriggerAVideoPolarity(device, f"{self._cmd_syntax}:POLarity") + self._scan = TriggerAVideoScan(device, f"{self._cmd_syntax}:SCAN") + self._source = TriggerAVideoSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = TriggerAVideoStandard(device, f"{self._cmd_syntax}:STANdard") + + @property + def custom(self) -> TriggerAVideoCustom: + """Return the ``TRIGger:A:VIDeo:CUSTom`` command. + + **Description:** + - This query-only command returns the A trigger custom video parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:CUSTom?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:CUSTom? + + Sub-properties: + - ``.format``: The ``TRIGger:A:VIDeo:CUSTom:FORMat`` command. + - ``.lineperiod``: The ``TRIGger:A:VIDeo:CUSTom:LINEPeriod`` command. + - ``.syncinterval``: The ``TRIGger:A:VIDeo:CUSTom:SYNCInterval`` command. + """ + return self._custom + + @property + def field(self) -> TriggerAVideoField: + """Return the ``TRIGger:A:VIDeo:FIELD`` command. + + **Description:** + - This command sets or queries the video field or line that the trigger detects. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:FIELD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:FIELD value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:FIELD {ODD|EVEN|FIELD|ALLFields|ALLLines|NUMERic} + - TRIGger:A:VIDeo:FIELD? + + **Info:** + - ``ODD`` argument sets the instrument to trigger on interlaced video odd fields. + - ``EVEN`` argument sets the instrument to trigger on interlaced video even fields. + - ``FIELD1`` argument sets the instrument to trigger on interlaced video odd fields + (same as ODD). + - ``FIELD2`` argument sets the instrument to trigger on interlaced video even fields + (same as EVEN). + - ``ALLFields`` argument sets the instrument to trigger on all fields. + - ``ALLLines`` argument sets the instrument to trigger on all video lines. + - ``NUMERic`` argument sets the instrument to trigger on the video signal line specified + by the ``TRIGger:A:VIDeo:LINE`` command. + """ + return self._field + + @property + def holdoff(self) -> TriggerAVideoHoldoff: + """Return the ``TRIGger:A:VIDeo:HOLdoff`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:HOLdoff?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:HOLdoff?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.field``: The ``TRIGger:A:VIDeo:HOLdoff:FIELD`` command. + """ + return self._holdoff + + @property + def line(self) -> TriggerAVideoLine: + """Return the ``TRIGger:A:VIDeo:LINE`` command. + + **Description:** + - This command lets you set the specific video line number to be used for triggering on + a video signal. You must also use the command to specify NUMERic as the video field to + use. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:LINE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:LINE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:LINE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:LINE + - TRIGger:A:VIDeo:LINE? + + **Info:** + - ```` argument is an integer that sets the video line number on which the + oscilloscope triggers. The following table lists the valid choices, depending on the + active video standard. + """ + return self._line + + @property + def polarity(self) -> TriggerAVideoPolarity: + """Return the ``TRIGger:A:VIDeo:POLarity`` command. + + **Description:** + - This command sets or queries the polarity of the A video trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:POLarity {INVERTed|NORMal} + - TRIGger:A:VIDeo:POLarity? + + **Info:** + - ``INVERTed`` argument sets the instrument to trigger on a positive video sync pulse. + - ``NORMal`` argument sets the instrument to trigger on a negative video sync pulse. + """ + return self._polarity + + @property + def scan(self) -> TriggerAVideoScan: + """Return the ``TRIGger:A:VIDeo:SCAN`` command. + + **Description:** + - This command sets or queries the video trigger horizontal line scan rate. This command + is for compatibility with earlier instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SCAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SCAN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SCAN value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SCAN {RATE} + - TRIGger:A:VIDeo:SCAN? + + **Info:** + - ``RATE1`` argument sets the range of the video line scan rate to 15 kHz through 20 + kHz. This is the standard broadcast rate. + - ``RATE2`` argument sets the range of the video line scan rate to 20 kHz through 25 + kHz. + - ``RATE3`` argument sets the range of the video line scan rate to 25 kHz through 35 + kHz. + - ``RATE4`` argument sets the range of the video line scan rate to 35 kHz through 50 + kHz. + - ``RATE5`` argument sets the range of the video line scan rate to 50 kHz through 65 + kHz. + """ + return self._scan + + @property + def source(self) -> TriggerAVideoSource: + """Return the ``TRIGger:A:VIDeo:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the A video trigger. This command is + equivalent to selecting Video Setup from the Trig menu and selecting a channel from + the Source drop-down menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:SOUrce CH + - TRIGger:A:VIDeo:SOUrce? + + **Info:** + - ``CH`` argument specifies one of the input channels of the instrument as the A + video trigger. The value of x ranges from 1 through 4. + """ + return self._source + + @property + def standard(self) -> TriggerAVideoStandard: + """Return the ``TRIGger:A:VIDeo:STANdard`` command. + + **Description:** + - This command sets or queries the video standard. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo:STANdard?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:VIDeo:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo:STANdard {BILevelcustom|TRILevelcustom|NTSc|PAL| SECAM|HD480P60|HD576P50|HD875I60|HD720P30|HD720P50| HD720P60|HD1080I50|HD1080I60|HD1080P24| HD1080P25|HD1080P30|HD1080P50|HD1080P60| HD1080SF24} + - TRIGger:A:VIDeo:STANdard? + + **Info:** + - ``BILevelcustom`` argument sets the instrument to use custom video parameters that you + set with the ``TRIGGER:A:VIDEO:CUSTOM:SYNCINTERVAL`` command. + - ``TRILevelcustom`` argument sets the instrument to use custom video horizontal scan + rate parameters that you set with the ``TRIGGER:A:VIDEO:CUSTOM:LINEPERIOD`` command. + - ``NTSc`` argument sets the instrument to trigger on video signals that meet the NTSC + 525/60/``2:1`` standard (a line rate of 525 lines per frame and a field rate of 60 + Hz). + - ``PAL`` argument sets the instrument to trigger on video signals that meet the NTSC + 625/50/``2:1`` standard (a line rate of 625 lines per frame and a field rate of 50 + Hz). + - ``SECAM`` argument sets the instrument to trigger on video signals that meet the SECAM + standard. + - ``HD480P60`` argument sets the instrument to trigger on the HDTV 480/60 progressive + format. + - ``HD576P50`` argument sets the instrument to trigger on the HDTV 576/50 progressive + format. + - ``HD875I60`` argument sets the instrument to trigger on the HDTV 875/60 format. + - ``HD720P30`` argument sets the instrument to trigger on the HDTV 720/30 progressive + format. + - ``HD720P50`` argument sets the instrument to trigger on the HDTV 720/50 progressive + format. + - ``HD720P60`` argument sets the instrument to trigger on the HDTV 720/60 progressive + format. + - ``HD1080I50`` argument sets the instrument to trigger on HDTV 1080/50 interlaced + format. + - ``HD1080I60`` argument sets the instrument to trigger on HDTV 1080/60 interlaced + format. + - ``HD1080P24`` argument sets the instrument to trigger on HDTV 1080/24 progressive + format. + - ``HD1080P25`` argument sets the instrument to trigger on HDTV 1080/25 progressive + format. + - ``HD1080P30`` argument sets the instrument to trigger on HDTV 1080/30 progressive + format. + - ``HD1080P50`` argument sets the instrument to trigger on HDTV 1080/50 progressive + format. + - ``HD1080P60`` argument sets the instrument to trigger on HDTV 1080/60 progressive + format. + - ``HD1080SF24`` argument sets the instrument to trigger on HDTV 1080/24 segmented frame + format. + """ # noqa: E501 + return self._standard + + +class TriggerAUpperthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:UPPerthreshold:CH`` command. + + **Description:** + - This command sets or queries the CH upper trigger level for + ``TRIGger:LVLSrcpreference SRCDependent``. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:UPPerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:UPPerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:UPPerthreshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:A:UPPerthreshold:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerAUpperthreshold(SCPICmdRead): + """The ``TRIGger:A:UPPerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:UPPerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:UPPerthreshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:UPPerthreshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAUpperthresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAUpperthresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAUpperthresholdChannel]: + """Return the ``TRIGger:A:UPPerthreshold:CH`` command. + + **Description:** + - This command sets or queries the CH upper trigger level for + ``TRIGger:LVLSrcpreference SRCDependent``. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:UPPerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:UPPerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:UPPerthreshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:UPPerthreshold:CH {ECL|TTL|} + - TRIGger:A:UPPerthreshold:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerAType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:TYPe`` command. + + **Description:** + - This command sets or queries the type of A or B trigger. Logic and Pulse triggers contain + classes. Logic triggers consist of State and Pattern classes; Pulse triggers consist of + Glitch, Runt, Width, Transition, Timeout, and Window classes. Once you have set the + trigger type, you might also need to identify the associated trigger class. For details on + selecting Logic and Pulse trigger classes, see and respectively. This command is similar + to selecting Event Trigger Setup from the Trig menu and then selecting the desired Trigger + Type. Some trigger types are not available on some instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:A:TYPe? + + **Info:** + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the ``TRIGger:A:LOGIc`` commands. + - ``PULse`` specifies that a trigger occurs when a specified pulse is found and is + controlled by the ``TRIGger:A:PULse`` commands. + - ``VIDeo`` specifies that the trigger occurs when a video signal is found. Requires an + instrument with video hardware. + - ``I2C`` specifies that a trigger occurs when an Inter-IC Control signal is found. + - ``CAN`` specifies that a trigger occurs when a Controller Area Network frame signal is + found. + - ``SPI`` specifies that a trigger occurs when a Serial Peripheral Interface signal is + found. + - ``COMMunication`` (Option MTM) specifies that a trigger occurs when a communications + signal is found. Supports AMI, HDB3, B3ZS, B6ZS, B8ZS, CMI, MLT3, Manchester, and NRZ + encoded communications signals. COMMunication is available only if Option MTM is + installed. + - ``SERIAL`` specifies that a trigger occurs when NRZ-encoded data is found, providing a + 32-bit serial word. This argument is available with instruments with Option PTM. + - ``RS232`` takes a signal on a data source and allows you to trigger on data within the + RS232 bitstream. The data is only one byte wide. + """ + + +class TriggerASpiSsSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SS:SOUrce`` command. + + **Description:** + - This command sets or queries the SPI trigger Slave Select (SS) source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:SOUrce CH + - TRIGger:A:SPI:SS:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI SS signal. x can be 1, 2, 3, or 4. + """ + + +class TriggerASpiSsLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SS:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI trigger Slave Select (SS) signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:LEVel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:LEVel + - TRIGger:A:SPI:SS:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger SS line. The threshold range is + ±5.0. + """ + + +class TriggerASpiSsActive(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SS:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI trigger Slave Select (SS) polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:ACTIVE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:SS:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH for SS polarity. + - ``LOW`` specifies LOW for SS polarity. + """ + + +class TriggerASpiSs(SCPICmdRead): + """The ``TRIGger:A:SPI:SS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.active``: The ``TRIGger:A:SPI:SS:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:SS:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:SS:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = TriggerASpiSsActive(device, f"{self._cmd_syntax}:ACTIVE") + self._level = TriggerASpiSsLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerASpiSsSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def active(self) -> TriggerASpiSsActive: + """Return the ``TRIGger:A:SPI:SS:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI trigger Slave Select (SS) polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:ACTIVE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:SS:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH for SS polarity. + - ``LOW`` specifies LOW for SS polarity. + """ + return self._active + + @property + def level(self) -> TriggerASpiSsLevel: + """Return the ``TRIGger:A:SPI:SS:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI trigger Slave Select (SS) + signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:LEVel + - TRIGger:A:SPI:SS:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger SS line. The threshold range is + ±5.0. + """ + return self._level + + @property + def source(self) -> TriggerASpiSsSource: + """Return the ``TRIGger:A:SPI:SS:SOUrce`` command. + + **Description:** + - This command sets or queries the SPI trigger Slave Select (SS) source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SS:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SS:SOUrce CH + - TRIGger:A:SPI:SS:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI SS signal. x can be 1, 2, 3, or 4. + """ + return self._source + + +class TriggerASpiSclkSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SCLK:SOUrce`` command. + + **Description:** + - This command sets or queries the SPI SCLK source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:SOUrce CH + - TRIGger:A:SPI:SCLK:SOUrce? + + **Info:** + - ``CH`` specifies the SPI SCLK source. x can be 1, 2, 3, or 4. + """ + + +class TriggerASpiSclkLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SCLK:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI trigger SCLK. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:LEVel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:LEVel + - TRIGger:A:SPI:SCLK:LEVel? + + **Info:** + - ```` specifies the SPI trigger SCLK threshold. + """ + + +class TriggerASpiSclkActive(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:SCLK:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI SCLK polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:ACTIVE {RISe|FALL} + - TRIGger:A:SPI:SCLK:ACTIVE? + + **Info:** + - ``RISe`` specifies rising clock polarity. + - ``FALL`` specifies falling clock polarity. + """ + + +class TriggerASpiSclk(SCPICmdRead): + """The ``TRIGger:A:SPI:SCLK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.active``: The ``TRIGger:A:SPI:SCLK:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:SCLK:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:SCLK:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = TriggerASpiSclkActive(device, f"{self._cmd_syntax}:ACTIVE") + self._level = TriggerASpiSclkLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerASpiSclkSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def active(self) -> TriggerASpiSclkActive: + """Return the ``TRIGger:A:SPI:SCLK:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI SCLK polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:ACTIVE {RISe|FALL} + - TRIGger:A:SPI:SCLK:ACTIVE? + + **Info:** + - ``RISe`` specifies rising clock polarity. + - ``FALL`` specifies falling clock polarity. + """ + return self._active + + @property + def level(self) -> TriggerASpiSclkLevel: + """Return the ``TRIGger:A:SPI:SCLK:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI trigger SCLK. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:LEVel + - TRIGger:A:SPI:SCLK:LEVel? + + **Info:** + - ```` specifies the SPI trigger SCLK threshold. + """ + return self._level + + @property + def source(self) -> TriggerASpiSclkSource: + """Return the ``TRIGger:A:SPI:SCLK:SOUrce`` command. + + **Description:** + - This command sets or queries the SPI SCLK source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:SCLK:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:SCLK:SOUrce CH + - TRIGger:A:SPI:SCLK:SOUrce? + + **Info:** + - ``CH`` specifies the SPI SCLK source. x can be 1, 2, 3, or 4. + """ + return self._source + + +class TriggerASpiFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:FORMat`` command. + + **Description:** + - This command sets or queries the SPI trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:FORMat {BINary|HEX} + - TRIGger:A:SPI:FORMat? + + **Info:** + - ``BINary`` specifies a binary data format. + - ``HEX`` specifies a hexadecimal data format. + """ + + +class TriggerASpiDataStart(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:STARt`` command. + + **Description:** + - This command sets or queries the nth data byte on the data source after the signal on the + enable slave source switches to the polarity specified by the Slave Select Polarity. The + instrument triggers if the pattern Matches beginning at this point. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:STARt?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:STARt?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:STARt value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:STARt + - TRIGger:A:SPI:DATa:STARt? + + **Info:** + - ```` specifies the SPI start byte data. The data can range from 0 to 216-1. + """ + + +class TriggerASpiDataMosiValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MOSI:VALue`` command. + + **Description:** + - This command sets or queries the binary data string used for the SPI trigger if the + trigger condition is set to MOSI or MISOMOSI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:VALue + - TRIGger:A:SPI:DATa:MOSI:VALue? + + **Info:** + - ```` specifies the binary data string for the SPI data. You can specify up to 32 + bits. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerASpiDataMosiSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MOSI:SOUrce`` command. + + **Description:** + - This command sets or queries the MOSI data source for the SPI trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:SOUrce CH + - TRIGger:A:SPI:DATa:MOSI:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI trigger MOSI data source. x can be 1, 2, 3, or + 4. + """ + + +class TriggerASpiDataMosiLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MOSI:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI MOSI data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:LEVel + - TRIGger:A:SPI:DATa:MOSI:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger MOSI data source. The range is ±5.0. + """ + + +class TriggerASpiDataMosiActive(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MOSI:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI MOSI polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MOSI:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH polarity. + - ``LOW`` specifies LOW polarity. + """ + + +class TriggerASpiDataMosi(SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MOSI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.active``: The ``TRIGger:A:SPI:DATa:MOSI:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:DATa:MOSI:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:DATa:MOSI:SOUrce`` command. + - ``.value``: The ``TRIGger:A:SPI:DATa:MOSI:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = TriggerASpiDataMosiActive(device, f"{self._cmd_syntax}:ACTIVE") + self._level = TriggerASpiDataMosiLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerASpiDataMosiSource(device, f"{self._cmd_syntax}:SOUrce") + self._value = TriggerASpiDataMosiValue(device, f"{self._cmd_syntax}:VALue") + + @property + def active(self) -> TriggerASpiDataMosiActive: + """Return the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI MOSI polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:ACTIVE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MOSI:ACTIVE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MOSI:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH polarity. + - ``LOW`` specifies LOW polarity. + """ + return self._active + + @property + def level(self) -> TriggerASpiDataMosiLevel: + """Return the ``TRIGger:A:SPI:DATa:MOSI:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI MOSI data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MOSI:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:LEVel + - TRIGger:A:SPI:DATa:MOSI:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger MOSI data source. The range is + ±5.0. + """ + return self._level + + @property + def source(self) -> TriggerASpiDataMosiSource: + """Return the ``TRIGger:A:SPI:DATa:MOSI:SOUrce`` command. + + **Description:** + - This command sets or queries the MOSI data source for the SPI trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MOSI:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:SOUrce CH + - TRIGger:A:SPI:DATa:MOSI:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI trigger MOSI data source. x can be 1, 2, 3, + or 4. + """ + return self._source + + @property + def value(self) -> TriggerASpiDataMosiValue: + """Return the ``TRIGger:A:SPI:DATa:MOSI:VALue`` command. + + **Description:** + - This command sets or queries the binary data string used for the SPI trigger if the + trigger condition is set to MOSI or MISOMOSI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MOSI:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MOSI:VALue + - TRIGger:A:SPI:DATa:MOSI:VALue? + + **Info:** + - ```` specifies the binary data string for the SPI data. You can specify up to + 32 bits. + """ + return self._value + + +class TriggerASpiDataMisoValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MISO:VALue`` command. + + **Description:** + - This command sets or queries the binary data string used for the SPI trigger if the + trigger condition is set to MISO or MISOMOSI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:VALue + - TRIGger:A:SPI:DATa:MISO:VALue? + + **Info:** + - ```` specifies the binary data string for the SPI data. You can specify up to 32 + bits. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerASpiDataMisoSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MISO:SOUrce`` command. + + **Description:** + - This command sets or queries the MISO data source for the SPI trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:SOUrce CH + - TRIGger:A:SPI:DATa:MISO:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI trigger MISO data source. x can be 1, 2, 3, or + 4. + """ + + +class TriggerASpiDataMisoLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MISO:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI MISO data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:LEVel + - TRIGger:A:SPI:DATa:MISO:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger MISO data source. The range is ±5.0. + """ + + +class TriggerASpiDataMisoActive(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MISO:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI MISO polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:ACTIVE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:ACTIVE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MISO:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH polarity. + - ``LOW`` specifies LOW polarity. + """ + + +class TriggerASpiDataMiso(SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:MISO`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.active``: The ``TRIGger:A:SPI:DATa:MISO:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:DATa:MISO:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:DATa:MISO:SOUrce`` command. + - ``.value``: The ``TRIGger:A:SPI:DATa:MISO:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = TriggerASpiDataMisoActive(device, f"{self._cmd_syntax}:ACTIVE") + self._level = TriggerASpiDataMisoLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerASpiDataMisoSource(device, f"{self._cmd_syntax}:SOUrce") + self._value = TriggerASpiDataMisoValue(device, f"{self._cmd_syntax}:VALue") + + @property + def active(self) -> TriggerASpiDataMisoActive: + """Return the ``TRIGger:A:SPI:DATa:MISO:ACTIVE`` command. + + **Description:** + - This command sets or queries the SPI MISO polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:ACTIVE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:ACTIVE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MISO:ACTIVE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:ACTIVE {HIGH|LOW} + - TRIGger:A:SPI:DATa:MISO:ACTIVE? + + **Info:** + - ``HIGH`` specifies HIGH polarity. + - ``LOW`` specifies LOW polarity. + """ + return self._active + + @property + def level(self) -> TriggerASpiDataMisoLevel: + """Return the ``TRIGger:A:SPI:DATa:MISO:LEVel`` command. + + **Description:** + - This command sets or queries the threshold for the SPI MISO data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MISO:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:LEVel + - TRIGger:A:SPI:DATa:MISO:LEVel? + + **Info:** + - ```` specifies the threshold for the SPI trigger MISO data source. The range is + ±5.0. + """ + return self._level + + @property + def source(self) -> TriggerASpiDataMisoSource: + """Return the ``TRIGger:A:SPI:DATa:MISO:SOUrce`` command. + + **Description:** + - This command sets or queries the MISO data source for the SPI trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MISO:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:SOUrce CH + - TRIGger:A:SPI:DATa:MISO:SOUrce? + + **Info:** + - ``CH`` specifies the source for the SPI trigger MISO data source. x can be 1, 2, 3, + or 4. + """ + return self._source + + @property + def value(self) -> TriggerASpiDataMisoValue: + """Return the ``TRIGger:A:SPI:DATa:MISO:VALue`` command. + + **Description:** + - This command sets or queries the binary data string used for the SPI trigger if the + trigger condition is set to MISO or MISOMOSI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SPI:DATa:MISO:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:MISO:VALue + - TRIGger:A:SPI:DATa:MISO:VALue? + + **Info:** + - ```` specifies the binary data string for the SPI data. You can specify up to + 32 bits. + """ + return self._value + + +class TriggerASpiDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the SPI trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:FORMat {BINary|HEX} + - TRIGger:A:SPI:DATa:FORMat? + + **Info:** + - ``BINARY`` specifies a binary data format. + - ``HEX`` specifies a hexadecimal data format. + """ + + +class TriggerASpiData(SCPICmdRead): + """The ``TRIGger:A:SPI:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:SPI:DATa:FORMat`` command. + - ``.miso``: The ``TRIGger:A:SPI:DATa:MISO`` command tree. + - ``.mosi``: The ``TRIGger:A:SPI:DATa:MOSI`` command tree. + - ``.start``: The ``TRIGger:A:SPI:DATa:STARt`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerASpiDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._miso = TriggerASpiDataMiso(device, f"{self._cmd_syntax}:MISO") + self._mosi = TriggerASpiDataMosi(device, f"{self._cmd_syntax}:MOSI") + self._start = TriggerASpiDataStart(device, f"{self._cmd_syntax}:STARt") + + @property + def format(self) -> TriggerASpiDataFormat: + """Return the ``TRIGger:A:SPI:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the SPI trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:FORMat {BINary|HEX} + - TRIGger:A:SPI:DATa:FORMat? + + **Info:** + - ``BINARY`` specifies a binary data format. + - ``HEX`` specifies a hexadecimal data format. + """ + return self._format + + @property + def miso(self) -> TriggerASpiDataMiso: + """Return the ``TRIGger:A:SPI:DATa:MISO`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MISO?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MISO?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.active``: The ``TRIGger:A:SPI:DATa:MISO:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:DATa:MISO:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:DATa:MISO:SOUrce`` command. + - ``.value``: The ``TRIGger:A:SPI:DATa:MISO:VALue`` command. + """ + return self._miso + + @property + def mosi(self) -> TriggerASpiDataMosi: + """Return the ``TRIGger:A:SPI:DATa:MOSI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:MOSI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:MOSI?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.active``: The ``TRIGger:A:SPI:DATa:MOSI:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:DATa:MOSI:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:DATa:MOSI:SOUrce`` command. + - ``.value``: The ``TRIGger:A:SPI:DATa:MOSI:VALue`` command. + """ + return self._mosi + + @property + def start(self) -> TriggerASpiDataStart: + """Return the ``TRIGger:A:SPI:DATa:STARt`` command. + + **Description:** + - This command sets or queries the nth data byte on the data source after the signal on + the enable slave source switches to the polarity specified by the Slave Select + Polarity. The instrument triggers if the pattern Matches beginning at this point. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa:STARt?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa:STARt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:DATa:STARt value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:DATa:STARt + - TRIGger:A:SPI:DATa:STARt? + + **Info:** + - ```` specifies the SPI start byte data. The data can range from 0 to 216-1. + """ + return self._start + + +class TriggerASpiCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SPI:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for SPI triggering. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:CONDition?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:CONDition {MISO|MOSI|MISOMOSI} + - TRIGger:A:SPI:CONDition? + + **Info:** + - ``MISO`` specifies the MISO condition for SPI triggering. + - ``MOSI`` specifies the MISI condition for SPI triggering. + - ``MISOMOSI`` specifies either the MISO or MISI condition for SPI triggering. + """ + + +class TriggerASpi(SCPICmdRead): + """The ``TRIGger:A:SPI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:SPI:CONDition`` command. + - ``.data``: The ``TRIGger:A:SPI:DATa`` command tree. + - ``.format``: The ``TRIGger:A:SPI:FORMat`` command. + - ``.sclk``: The ``TRIGger:A:SPI:SCLK`` command tree. + - ``.ss``: The ``TRIGger:A:SPI:SS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerASpiCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerASpiData(device, f"{self._cmd_syntax}:DATa") + self._format = TriggerASpiFormat(device, f"{self._cmd_syntax}:FORMat") + self._sclk = TriggerASpiSclk(device, f"{self._cmd_syntax}:SCLK") + self._ss = TriggerASpiSs(device, f"{self._cmd_syntax}:SS") + + @property + def condition(self) -> TriggerASpiCondition: + """Return the ``TRIGger:A:SPI:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for SPI triggering. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:CONDition {MISO|MOSI|MISOMOSI} + - TRIGger:A:SPI:CONDition? + + **Info:** + - ``MISO`` specifies the MISO condition for SPI triggering. + - ``MOSI`` specifies the MISI condition for SPI triggering. + - ``MISOMOSI`` specifies either the MISO or MISI condition for SPI triggering. + """ + return self._condition + + @property + def data(self) -> TriggerASpiData: + """Return the ``TRIGger:A:SPI:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:SPI:DATa:FORMat`` command. + - ``.miso``: The ``TRIGger:A:SPI:DATa:MISO`` command tree. + - ``.mosi``: The ``TRIGger:A:SPI:DATa:MOSI`` command tree. + - ``.start``: The ``TRIGger:A:SPI:DATa:STARt`` command. + """ + return self._data + + @property + def format(self) -> TriggerASpiFormat: + """Return the ``TRIGger:A:SPI:FORMat`` command. + + **Description:** + - This command sets or queries the SPI trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SPI:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SPI:FORMat {BINary|HEX} + - TRIGger:A:SPI:FORMat? + + **Info:** + - ``BINary`` specifies a binary data format. + - ``HEX`` specifies a hexadecimal data format. + """ + return self._format + + @property + def sclk(self) -> TriggerASpiSclk: + """Return the ``TRIGger:A:SPI:SCLK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SCLK?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SCLK?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.active``: The ``TRIGger:A:SPI:SCLK:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:SCLK:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:SCLK:SOUrce`` command. + """ + return self._sclk + + @property + def ss(self) -> TriggerASpiSs: + """Return the ``TRIGger:A:SPI:SS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI:SS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI:SS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.active``: The ``TRIGger:A:SPI:SS:ACTIVE`` command. + - ``.level``: The ``TRIGger:A:SPI:SS:LEVel`` command. + - ``.source``: The ``TRIGger:A:SPI:SS:SOUrce`` command. + """ + return self._ss + + +class TriggerASerialTriggeron(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:TRIGgeron`` command. + + **Description:** + - This command sets or queries the trigger on a designated arbitrary bit pattern or lock on + a repeating pattern of known length. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:TRIGgeron?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:TRIGgeron?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:TRIGgeron value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:TRIGgeron {PATtern|LOck} + - TRIGger:A:SERIAL:TRIGgeron? + + **Info:** + - ``PATtern`` specifies the trigger on a designated arbitrary bit pattern. + - ``LOck`` specifies the trigger locks a repeating pattern of known length. + """ + + +class TriggerASerialStandard(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:STANdard`` command. + + **Description:** + - This command sets or queries the standard that identifies the code and bit rate. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:STANdard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:STANdard {FC133|FC266|FC531|FC1063|D|VIDEO270|VIDEO360|OC1|OC3| OC12|ENET1250|FW1394BS400B|FW1394BS800B|CUSTom|ENET100FX| RIO_500M|RIO_750M|RIO_1G|RIO_SERIAL_1G|VSROC192|ENETXAUI| SAS3_?|PCIExpress|INFINIBAND|RIO_SERIAL_2G|RIO_SERIAL_3G| FC2125|RIO_2G|FW1394BS1600B|SAS1_5|ENETXAUI|ENETXAUI2| FC2125|FC4250|FW1394BS1600B|INFINIBAND|PCIExpress|PCIExpress2| RIO_2G|RIO_500M|RIO_750M|RIO_SERIAL_1G|RIO_SERIAL_2_5G| RIO_SERIAL_3G|SAS6_0|SATA1_5|SATA3_0|SATA6_0} + - TRIGger:A:SERIAL:STANdard? + + **Info:** + - ``FC133`` : NRZ, 132.8 Mb/s. + - ``FC266`` : NRZ, 265.6 Mb/s. + - ``FC531`` : NRZ, 531.2 Mb/s. + - ``FC1063`` : NRZ, 1.063 Gb/s. + - ``OC1`` : NRZ, 51.84 Mb/s. + - ``OC3`` : NRZ, 155.5 Mb/s. + - ``OC12`` : NRZ, 622.1 Mb/s. + - ``ENET1250`` : NRZ, 3.125 Gb/s. + - ``ENETXAUI`` : NRZ, 1.25 Gb/s. + - ``ENETXAUI2`` : NRZ, 6.25 Gb/s. + - ``FW1394BS400B`` : NRZ, 491.5 Mb/s. + - ``FW1394BS1600B`` : NRZ, 1.966 Gb/s. + - ``FW1394BS800B`` : NRZ, 983.0 Mb/s. + - ``CUSTom`` : NRZ, 155.5 Mb/s. + - ``ENET100FX`` : MLT3, 100 Mb/s. + - ``RIO_500M`` : NRZ, 500 Mb/s, triggers ``RIO_DRV500``, ``RIO_EDRV500M``, and + ``RIO_RCV500``, 500Mb/s. + - ``RIO_750M`` : NRZ, 750 Mb/s, triggers ``RIO_DRV750``, ``RIO_EDRV750M``, and + ``RIO_RCV750``, 750Mb/s. + - ``RIO_1G`` : NRZ, 1.0 Gb/s, triggers ``RIO_1G``. + - ``RIO_SERIAL_1G`` : NRZ, 1.25 Gb/s, triggers ``RIO_Serial_1G``. + - ``RIO_2G`` : NRZ, 2.0 Gb/s. + - ``RIO_SERIAL_2_5G`` : NRZ, 2.5 Gb/s, triggers ``RIO_Serial_1G``. + - ``RIO_SERIAL_3G`` : NRZ, 3.0 Gb/s, triggers ``RIO_Serial_1G``. + - ``VSROC192`` : NRZ, 1.2441 Gb/s, triggers VSR OC192/STM64. + - ``FC2125`` : NRZ, 2.125 Gb/s. + - ``FC4250`` : NRZ, 4.25 Gb/s. + - ``INFINIBAND`` : NRZ, 2.5 Gb/s. + - ``PCIExpress`` : NRZ, 2.5 Gb/s. + - ``PCIExpress2`` : NRZ, 5.0 Gb/s. + - ``SAS6_0`` : NRZ, ``SAS6_0``. + - ``SATA1_5`` : NRZ, 1.5 Gb/s. + - ``SATA3_0`` : NRZ, 3.0 Gb/s. + - ``SATA6_0`` : NRZ, 6.0 Gb/s. + """ # noqa: E501 + + +class TriggerASerialSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:SOUrce`` command. + + **Description:** + - This command sets or queries the serial data source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:SOUrce {CH} + - TRIGger:A:SERIAL:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels. x has a minimum of 1 and a maximum of 4. + """ + + +class TriggerASerialLockoffset(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:LOCKOffset`` command. + + **Description:** + - This command sets or queries the current bit offset into the pattern lock trigger bit + pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:LOCKOffset?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:LOCKOffset?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:LOCKOffset value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:LOCKOffset + - TRIGger:A:SERIAL:LOCKOffset? + + **Info:** + - ```` specifies the bit offset. The valid values are 1 to 2147483646. + """ + + +class TriggerASerialLocklen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:LOCKLen`` command. + + **Description:** + - This command sets or queries the length in bits of the repeating bit pattern for pattern + lock trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:LOCKLen?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:LOCKLen?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:LOCKLen value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:LOCKLen + - TRIGger:A:SERIAL:LOCKLen? + + **Info:** + - ```` specifies the length in bits. The valid values are 1 to 2147483647. + """ + + +class TriggerASerialErrordetectorFileName(SCPICmdWrite): + """The ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME`` command. + + **Description:** + - This command sets the setup file for the selected signal standard and pattern. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:ERRORdetector:FILE:NAME + + **Info:** + - ``'fileName'`` is the setup file name. + """ + + +class TriggerASerialErrordetectorFile(SCPICmdRead): + """The ``TRIGger:A:SERIAL:ERRORdetector:FILE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:ERRORdetector:FILE?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:ERRORdetector:FILE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.name``: The ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._name = TriggerASerialErrordetectorFileName(device, f"{self._cmd_syntax}:NAME") + + @property + def name(self) -> TriggerASerialErrordetectorFileName: + """Return the ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME`` command. + + **Description:** + - This command sets the setup file for the selected signal standard and pattern. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:ERRORdetector:FILE:NAME + + **Info:** + - ``'fileName'`` is the setup file name. + """ + return self._name + + +class TriggerASerialErrordetector(SCPICmdRead): + """The ``TRIGger:A:SERIAL:ERRORdetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:ERRORdetector?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:ERRORdetector?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.file``: The ``TRIGger:A:SERIAL:ERRORdetector:FILE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._file = TriggerASerialErrordetectorFile(device, f"{self._cmd_syntax}:FILE") + + @property + def file(self) -> TriggerASerialErrordetectorFile: + """Return the ``TRIGger:A:SERIAL:ERRORdetector:FILE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:ERRORdetector:FILE?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:SERIAL:ERRORdetector:FILE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.name``: The ``TRIGger:A:SERIAL:ERRORdetector:FILE:NAME`` command. + """ + return self._file + + +class TriggerASerialDataPatternS8b10b(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is + '0011111010', such that there are up to 64 characters total. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerASerialDataPatternNrz(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:DATa:PATtern:NRZ`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern:NRZ?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern:NRZ?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:NRZ value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern:NRZ + - TRIGger:A:SERIAL:DATa:PATtern:NRZ? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is '01', such + that there are up to 64 characters total. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerASerialDataPattern(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:DATa:PATtern`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern + - TRIGger:A:SERIAL:DATa:PATtern? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is '01', such + that there are up to 64 characters total. + + Properties: + - ``.nrz``: The ``TRIGger:A:SERIAL:DATa:PATtern:NRZ`` command. + - ``.s8b10b``: The ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._nrz = TriggerASerialDataPatternNrz(device, f"{self._cmd_syntax}:NRZ") + self._s8b10b = TriggerASerialDataPatternS8b10b(device, f"{self._cmd_syntax}:S8B10B") + + @property + def nrz(self) -> TriggerASerialDataPatternNrz: + """Return the ``TRIGger:A:SERIAL:DATa:PATtern:NRZ`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern:NRZ?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:NRZ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:NRZ value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern:NRZ + - TRIGger:A:SERIAL:DATa:PATtern:NRZ? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is '01', + such that there are up to 64 characters total. + """ + return self._nrz + + @property + def s8b10b(self) -> TriggerASerialDataPatternS8b10b: + """Return the ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B + - TRIGger:A:SERIAL:DATa:PATtern:S8B10B? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is + '0011111010', such that there are up to 64 characters total. + """ + return self._s8b10b + + +class TriggerASerialDataFormat(SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:A:SERIAL:DATa:FORMat`` command. + + **Description:** + - This command sets or queries how the Pattern string is formatted. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:FORMat {BINary|HEX} + - TRIGger:A:SERIAL:DATa:FORMat? + + **Info:** + - ``BINary`` pattern symbols are: {'SPACE'\|0\|1\|X} 'SPACE' is white space and can be + included to make the 32-bit pattern easier to read when setting the pattern. + - ``HEX`` pattern symbols are used only with NRZ. They are: {' + '\|0\|1\|2\|3\|4\|5\|6\|7\|8\|9\|AB\|C\|DE\|F\|X\|?} Hex 'X' represents the bit pattern + 'XXXX'. Hex '?' represents any other binary bit pattern which doesn't have a hex + representation, such as '00X1'. + """ + + +class TriggerASerialData(SCPICmdRead): + """The ``TRIGger:A:SERIAL:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:SERIAL:DATa:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:SERIAL:DATa:PATtern`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerASerialDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._pattern = TriggerASerialDataPattern(device, f"{self._cmd_syntax}:PATtern") + + @property + def format(self) -> TriggerASerialDataFormat: + r"""Return the ``TRIGger:A:SERIAL:DATa:FORMat`` command. + + **Description:** + - This command sets or queries how the Pattern string is formatted. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:FORMat {BINary|HEX} + - TRIGger:A:SERIAL:DATa:FORMat? + + **Info:** + - ``BINary`` pattern symbols are: {'SPACE'\|0\|1\|X} 'SPACE' is white space and can be + included to make the 32-bit pattern easier to read when setting the pattern. + - ``HEX`` pattern symbols are used only with NRZ. They are: {' + '\|0\|1\|2\|3\|4\|5\|6\|7\|8\|9\|AB\|C\|DE\|F\|X\|?} Hex 'X' represents the bit + pattern 'XXXX'. Hex '?' represents any other binary bit pattern which doesn't have a + hex representation, such as '00X1'. + """ + return self._format + + @property + def pattern(self) -> TriggerASerialDataPattern: + """Return the ``TRIGger:A:SERIAL:DATa:PATtern`` command. + + **Description:** + - This command sets or queries the data pattern to allow up to 64-bit serial patterns. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa:PATtern?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:DATa:PATtern value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:DATa:PATtern + - TRIGger:A:SERIAL:DATa:PATtern? + + **Info:** + - ```` specifies the serial pattern to trigger on. The default value is '01', + such that there are up to 64 characters total. + + Sub-properties: + - ``.nrz``: The ``TRIGger:A:SERIAL:DATa:PATtern:NRZ`` command. + - ``.s8b10b``: The ``TRIGger:A:SERIAL:DATa:PATtern:S8B10B`` command. + """ + return self._pattern + + +class TriggerASerialCode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:CODe`` command. + + **Description:** + - This command sets or queries the signal code. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:CODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CODe {NRZ|S8B10B} + - TRIGger:A:SERIAL:CODe? + + **Info:** + - ``NRZ`` sets the code to NRZ. + - ``S8B10B`` sets the code to S8B0B. + """ + + +class TriggerASerialClockSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the serial data source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:SOUrce {CH|RECOVered} + - TRIGger:A:SERIAL:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels. x can be 1, 2, 3, or 4. + - ``RECOVered`` specifies clock polarity and level are extracted from the serial data stream + and other clock parameters are ignored. + """ + + +class TriggerASerialClockPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:CLOCk:POLarity`` command. + + **Description:** + - This command sets or queries the serial clock polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:SERIAL:CLOCk:POLarity? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerASerialClockLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the serial trigger clock level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:LEVel + - TRIGger:A:SERIAL:CLOCk:LEVel? + + **Info:** + - ```` is a value in the range of 9.9E37 and is expressed in volts. + """ + + +class TriggerASerialClock(SCPICmdRead): + """The ``TRIGger:A:SERIAL:CLOCk`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.level``: The ``TRIGger:A:SERIAL:CLOCk:LEVel`` command. + - ``.polarity``: The ``TRIGger:A:SERIAL:CLOCk:POLarity`` command. + - ``.source``: The ``TRIGger:A:SERIAL:CLOCk:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._level = TriggerASerialClockLevel(device, f"{self._cmd_syntax}:LEVel") + self._polarity = TriggerASerialClockPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = TriggerASerialClockSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def level(self) -> TriggerASerialClockLevel: + """Return the ``TRIGger:A:SERIAL:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the serial trigger clock level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:CLOCk:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:LEVel + - TRIGger:A:SERIAL:CLOCk:LEVel? + + **Info:** + - ```` is a value in the range of 9.9E37 and is expressed in volts. + """ + return self._level + + @property + def polarity(self) -> TriggerASerialClockPolarity: + """Return the ``TRIGger:A:SERIAL:CLOCk:POLarity`` command. + + **Description:** + - This command sets or queries the serial clock polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:CLOCk:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:SERIAL:CLOCk:POLarity? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._polarity + + @property + def source(self) -> TriggerASerialClockSource: + """Return the ``TRIGger:A:SERIAL:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the serial data source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:SERIAL:CLOCk:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CLOCk:SOUrce {CH|RECOVered} + - TRIGger:A:SERIAL:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels. x can be 1, 2, 3, or 4. + - ``RECOVered`` specifies clock polarity and level are extracted from the serial data + stream and other clock parameters are ignored. + """ + return self._source + + +class TriggerASerialBitrate(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:SERIAL:BITRate`` command. + + **Description:** + - This command sets or queries the clock/data bit rate. Changing the bit rate causes the + standard to become 'custom'. It remains 'custom' until another standard is chosen. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:BITRate + - TRIGger:A:SERIAL:BITRate? + + **Info:** + - ```` This is the series bit rate and is expressed in bits per second. The range is + 1.5e6 to 1.25e9. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerASerial(SCPICmdRead): + """The ``TRIGger:A:SERIAL`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bitrate``: The ``TRIGger:A:SERIAL:BITRate`` command. + - ``.clock``: The ``TRIGger:A:SERIAL:CLOCk`` command tree. + - ``.code``: The ``TRIGger:A:SERIAL:CODe`` command. + - ``.data``: The ``TRIGger:A:SERIAL:DATa`` command tree. + - ``.errordetector``: The ``TRIGger:A:SERIAL:ERRORdetector`` command tree. + - ``.locklen``: The ``TRIGger:A:SERIAL:LOCKLen`` command. + - ``.lockoffset``: The ``TRIGger:A:SERIAL:LOCKOffset`` command. + - ``.source``: The ``TRIGger:A:SERIAL:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:SERIAL:STANdard`` command. + - ``.triggeron``: The ``TRIGger:A:SERIAL:TRIGgeron`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = TriggerASerialBitrate(device, f"{self._cmd_syntax}:BITRate") + self._clock = TriggerASerialClock(device, f"{self._cmd_syntax}:CLOCk") + self._code = TriggerASerialCode(device, f"{self._cmd_syntax}:CODe") + self._data = TriggerASerialData(device, f"{self._cmd_syntax}:DATa") + self._errordetector = TriggerASerialErrordetector( + device, f"{self._cmd_syntax}:ERRORdetector" + ) + self._locklen = TriggerASerialLocklen(device, f"{self._cmd_syntax}:LOCKLen") + self._lockoffset = TriggerASerialLockoffset(device, f"{self._cmd_syntax}:LOCKOffset") + self._source = TriggerASerialSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = TriggerASerialStandard(device, f"{self._cmd_syntax}:STANdard") + self._triggeron = TriggerASerialTriggeron(device, f"{self._cmd_syntax}:TRIGgeron") + + @property + def bitrate(self) -> TriggerASerialBitrate: + """Return the ``TRIGger:A:SERIAL:BITRate`` command. + + **Description:** + - This command sets or queries the clock/data bit rate. Changing the bit rate causes the + standard to become 'custom'. It remains 'custom' until another standard is chosen. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:BITRate + - TRIGger:A:SERIAL:BITRate? + + **Info:** + - ```` This is the series bit rate and is expressed in bits per second. The range + is 1.5e6 to 1.25e9. + """ + return self._bitrate + + @property + def clock(self) -> TriggerASerialClock: + """Return the ``TRIGger:A:SERIAL:CLOCk`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CLOCk?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.level``: The ``TRIGger:A:SERIAL:CLOCk:LEVel`` command. + - ``.polarity``: The ``TRIGger:A:SERIAL:CLOCk:POLarity`` command. + - ``.source``: The ``TRIGger:A:SERIAL:CLOCk:SOUrce`` command. + """ + return self._clock + + @property + def code(self) -> TriggerASerialCode: + """Return the ``TRIGger:A:SERIAL:CODe`` command. + + **Description:** + - This command sets or queries the signal code. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:CODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:CODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:CODe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:CODe {NRZ|S8B10B} + - TRIGger:A:SERIAL:CODe? + + **Info:** + - ``NRZ`` sets the code to NRZ. + - ``S8B10B`` sets the code to S8B0B. + """ + return self._code + + @property + def data(self) -> TriggerASerialData: + """Return the ``TRIGger:A:SERIAL:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:SERIAL:DATa:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:SERIAL:DATa:PATtern`` command. + """ + return self._data + + @property + def errordetector(self) -> TriggerASerialErrordetector: + """Return the ``TRIGger:A:SERIAL:ERRORdetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:ERRORdetector?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:ERRORdetector?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.file``: The ``TRIGger:A:SERIAL:ERRORdetector:FILE`` command tree. + """ + return self._errordetector + + @property + def locklen(self) -> TriggerASerialLocklen: + """Return the ``TRIGger:A:SERIAL:LOCKLen`` command. + + **Description:** + - This command sets or queries the length in bits of the repeating bit pattern for + pattern lock trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:LOCKLen?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:LOCKLen?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:LOCKLen value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:LOCKLen + - TRIGger:A:SERIAL:LOCKLen? + + **Info:** + - ```` specifies the length in bits. The valid values are 1 to 2147483647. + """ + return self._locklen + + @property + def lockoffset(self) -> TriggerASerialLockoffset: + """Return the ``TRIGger:A:SERIAL:LOCKOffset`` command. + + **Description:** + - This command sets or queries the current bit offset into the pattern lock trigger bit + pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:LOCKOffset?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:LOCKOffset?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:LOCKOffset value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:LOCKOffset + - TRIGger:A:SERIAL:LOCKOffset? + + **Info:** + - ```` specifies the bit offset. The valid values are 1 to 2147483646. + """ + return self._lockoffset + + @property + def source(self) -> TriggerASerialSource: + """Return the ``TRIGger:A:SERIAL:SOUrce`` command. + + **Description:** + - This command sets or queries the serial data source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:SOUrce {CH} + - TRIGger:A:SERIAL:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels. x has a minimum of 1 and a maximum of + 4. + """ + return self._source + + @property + def standard(self) -> TriggerASerialStandard: + """Return the ``TRIGger:A:SERIAL:STANdard`` command. + + **Description:** + - This command sets or queries the standard that identifies the code and bit rate. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:STANdard?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:STANdard value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:STANdard {FC133|FC266|FC531|FC1063|D|VIDEO270|VIDEO360|OC1|OC3| OC12|ENET1250|FW1394BS400B|FW1394BS800B|CUSTom|ENET100FX| RIO_500M|RIO_750M|RIO_1G|RIO_SERIAL_1G|VSROC192|ENETXAUI| SAS3_?|PCIExpress|INFINIBAND|RIO_SERIAL_2G|RIO_SERIAL_3G| FC2125|RIO_2G|FW1394BS1600B|SAS1_5|ENETXAUI|ENETXAUI2| FC2125|FC4250|FW1394BS1600B|INFINIBAND|PCIExpress|PCIExpress2| RIO_2G|RIO_500M|RIO_750M|RIO_SERIAL_1G|RIO_SERIAL_2_5G| RIO_SERIAL_3G|SAS6_0|SATA1_5|SATA3_0|SATA6_0} + - TRIGger:A:SERIAL:STANdard? + + **Info:** + - ``FC133`` : NRZ, 132.8 Mb/s. + - ``FC266`` : NRZ, 265.6 Mb/s. + - ``FC531`` : NRZ, 531.2 Mb/s. + - ``FC1063`` : NRZ, 1.063 Gb/s. + - ``OC1`` : NRZ, 51.84 Mb/s. + - ``OC3`` : NRZ, 155.5 Mb/s. + - ``OC12`` : NRZ, 622.1 Mb/s. + - ``ENET1250`` : NRZ, 3.125 Gb/s. + - ``ENETXAUI`` : NRZ, 1.25 Gb/s. + - ``ENETXAUI2`` : NRZ, 6.25 Gb/s. + - ``FW1394BS400B`` : NRZ, 491.5 Mb/s. + - ``FW1394BS1600B`` : NRZ, 1.966 Gb/s. + - ``FW1394BS800B`` : NRZ, 983.0 Mb/s. + - ``CUSTom`` : NRZ, 155.5 Mb/s. + - ``ENET100FX`` : MLT3, 100 Mb/s. + - ``RIO_500M`` : NRZ, 500 Mb/s, triggers ``RIO_DRV500``, ``RIO_EDRV500M``, and + ``RIO_RCV500``, 500Mb/s. + - ``RIO_750M`` : NRZ, 750 Mb/s, triggers ``RIO_DRV750``, ``RIO_EDRV750M``, and + ``RIO_RCV750``, 750Mb/s. + - ``RIO_1G`` : NRZ, 1.0 Gb/s, triggers ``RIO_1G``. + - ``RIO_SERIAL_1G`` : NRZ, 1.25 Gb/s, triggers ``RIO_Serial_1G``. + - ``RIO_2G`` : NRZ, 2.0 Gb/s. + - ``RIO_SERIAL_2_5G`` : NRZ, 2.5 Gb/s, triggers ``RIO_Serial_1G``. + - ``RIO_SERIAL_3G`` : NRZ, 3.0 Gb/s, triggers ``RIO_Serial_1G``. + - ``VSROC192`` : NRZ, 1.2441 Gb/s, triggers VSR OC192/STM64. + - ``FC2125`` : NRZ, 2.125 Gb/s. + - ``FC4250`` : NRZ, 4.25 Gb/s. + - ``INFINIBAND`` : NRZ, 2.5 Gb/s. + - ``PCIExpress`` : NRZ, 2.5 Gb/s. + - ``PCIExpress2`` : NRZ, 5.0 Gb/s. + - ``SAS6_0`` : NRZ, ``SAS6_0``. + - ``SATA1_5`` : NRZ, 1.5 Gb/s. + - ``SATA3_0`` : NRZ, 3.0 Gb/s. + - ``SATA6_0`` : NRZ, 6.0 Gb/s. + """ # noqa: E501 + return self._standard + + @property + def triggeron(self) -> TriggerASerialTriggeron: + """Return the ``TRIGger:A:SERIAL:TRIGgeron`` command. + + **Description:** + - This command sets or queries the trigger on a designated arbitrary bit pattern or lock + on a repeating pattern of known length. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL:TRIGgeron?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL:TRIGgeron?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:SERIAL:TRIGgeron value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:SERIAL:TRIGgeron {PATtern|LOck} + - TRIGger:A:SERIAL:TRIGgeron? + + **Info:** + - ``PATtern`` specifies the trigger on a designated arbitrary bit pattern. + - ``LOck`` specifies the trigger locks a repeating pattern of known length. + """ + return self._triggeron + + +class TriggerAReady(SCPICmdRead): + """The ``TRIGger:A:READY`` command. + + **Description:** + - This command queries the trigger ready state and provides the immediate state from the + trigger system. It is a more synchronous means of determining when the oscilloscope is + ready to trigger. The ``TRIGGER:STATE`` reflects a less-frequently updated status of the + trigger LEDs on the instrument front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:READY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:READY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:READY? + """ + + +class TriggerAPulseWindowWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:WIDTH`` command. + + **Description:** + - This command sets or queries the minimum width for a window violation. This command is + equivalent to selecting Window Setup from the Trig menu, selecting Wider than in the + Trigger When box, and setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:WIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:WIDTH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:WIDTH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:WIDTH + - TRIGger:A:PULse:WINdow:WIDTH? + + **Info:** + - ```` argument specifies the minimum width in seconds. + """ + + +class TriggerAPulseWindowWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:WHEn`` command. + + **Description:** + - This command sets or queries the window trigger violation qualification. This command is + equivalent to selecting Window Setup from the Trig menu and selecting Logic, Occurs, or + Wider than in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:WHEn {LOGIc|OCCurs|WIDERthan} + - TRIGger:A:PULse:WINdow:WHEn? + + **Info:** + - ``LOGIc`` argument specifies a trigger event when a window violation occurs on the AND of + the logic channels. + - ``OCCurs`` argument specifies a trigger event if any detectable window violation occurs. + - ``WIDERthan`` specifies a trigger event if a window violation greater than the specified + width occurs. + """ + + +class TriggerAPulseWindowType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:TYPe`` command. + + **Description:** + - This command sets or queries the window trigger type. This command is equivalent to + selecting Window Setup from the Trig menu and selecting Outside Limits or Inside Limits in + the Trigger When section. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:A:PULse:WINdow:TYPe? + + **Info:** + - ``INSide`` argument causes a trigger event to occur when a pulse enters the window defined + by the upper and lower thresholds. + - ``OUTside`` argument causes a trigger event to occur when a pulse goes outside the window + defined by the upper and lower thresholds. + """ + + +class TriggerAPulseWindowThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:LOW + - TRIGger:A:PULse:WINdow:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerAPulseWindowThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the window trigger + Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:HIGH + - TRIGger:A:PULse:WINdow:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerAPulseWindowThresholdBoth(SCPICmdWrite): + """The ``TRIGger:A:PULse:WINdow:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the window + trigger. This command is equivalent to selecting Window Setup from the Trig menu and then + setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` argument sets the upper and the lower threshold to the nominal TTL voltage levels. + - ``ECL`` argument sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerAPulseWindowThreshold(SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the window trigger. + This command query is equivalent to selecting Window Setup from the Trig menu and viewing + the window trigger Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold? + + Properties: + - ``.both``: The ``TRIGger:A:PULse:WINdow:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:WINdow:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerAPulseWindowThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerAPulseWindowThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerAPulseWindowThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerAPulseWindowThresholdBoth: + """Return the ``TRIGger:A:PULse:WINdow:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the + window trigger. This command is equivalent to selecting Window Setup from the Trig + menu and then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` argument sets the upper and the lower threshold to the nominal TTL voltage + levels. + - ``ECL`` argument sets the upper and the lower threshold to the nominal ECL voltage + levels. + """ + return self._both + + @property + def high(self) -> TriggerAPulseWindowThresholdHigh: + """Return the ``TRIGger:A:PULse:WINdow:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse window trigger. This + command is equivalent to selecting Window Setup from the Trig menu and setting the + window trigger Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:HIGH + - TRIGger:A:PULse:WINdow:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._high + + @property + def low(self) -> TriggerAPulseWindowThresholdLow: + """Return the ``TRIGger:A:PULse:WINdow:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the window trigger. This command is + equivalent to selecting Window Setup from the Trig menu and setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold:LOW + - TRIGger:A:PULse:WINdow:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._low + + +class TriggerAPulseWindowQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:QUAlify`` command. + + **Description:** + - This command sets or queries the Window Trigger qualification. This is equivalent to + selecting Window Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Window drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WINdow:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseWindowPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:POLarity:CH`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the specified channel. + The oscilloscope triggers only when the signal exits the window. The command is available + only when the Window Event is set to Inside > t and not available for the rest of the + window events. The logic selection is available only when the polarity is set to Either. + is the search number or channel number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity:CH? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + """ + + +class TriggerAPulseWindowPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the selected trigger + Source. The instrument triggers when the signal exits the window. The command is available + only when the option Inside > t is selected in the Window Event drop-dowm list and not + available for the rest of the window events. The logic selection is available only when + the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseWindowPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseWindowPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseWindowPolarityChannel]: + """Return the ``TRIGger:A:PULse:WINdow:POLarity:CH`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the specified + channel. The oscilloscope triggers only when the signal exits the window. The command + is available only when the Window Event is set to Inside > t and not available for the + rest of the window events. The logic selection is available only when the polarity is + set to Either. is the search number or channel number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity:CH? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + """ + return self._ch + + +class TriggerAPulseWindowLogicThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the window logic trigger threshold for the channel specified + by , which can be 1, 2, 3, or 4. This is equivalent to selecting Window Setup from the + Trig menu and setting the window logic threshold in the Trigger When box. While all + channels can be set or queried, only channels 3 and 4 can be used if the window source is + channel 1 or 2. Similarly, only channels 1 and 2 can be used if the window source is + channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH? + + **Info:** + - ```` argument specifies the window logic trigger threshold in volts. + """ + + +class TriggerAPulseWindowLogicThreshold(SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseWindowLogicThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseWindowLogicThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseWindowLogicThresholdChannel]: + """Return the ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the window logic trigger threshold for the channel + specified by , which can be 1, 2, 3, or 4. This is equivalent to selecting Window + Setup from the Trig menu and setting the window logic threshold in the Trigger When + box. While all channels can be set or queried, only channels 3 and 4 can be used if + the window source is channel 1 or 2. Similarly, only channels 1 and 2 can be used if + the window source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH + - TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH? + + **Info:** + - ```` argument specifies the window logic trigger threshold in volts. + """ + return self._ch + + +class TriggerAPulseWindowLogicInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH`` command. + + **Description:** + - This command sets or queries the A window logic input for the channel specified by , + which can be 1, 2, 3, or 4. This is equivalent to selecting Window Setup from the Trig + menu, selecting Logic in the Trigger When box, and selecting a logic (H, L, or X) for the + channel. While all channels can be set or queried, only channels 3 and 4 can be used if + the window source is channel 1 or 2. Similarly, only channels 1 and 2 can be used if the + window source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH {HIGH\LOW\X} + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH? + + **Info:** + - ``HIGH`` argument specifies logic high. + - ``LOW`` argument specifies logic low. + - ``X`` argument specifies a don't care state. + """ + + +class TriggerAPulseWindowLogicInput(SCPICmdReadWithArguments): + """The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT`` command. + + **Description:** + - This query-only command returns the current window trigger logic input parameters. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT? + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseWindowLogicInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseWindowLogicInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseWindowLogicInputChannel]: + r"""Return the ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH`` command. + + **Description:** + - This command sets or queries the A window logic input for the channel specified by + , which can be 1, 2, 3, or 4. This is equivalent to selecting Window Setup from the + Trig menu, selecting Logic in the Trigger When box, and selecting a logic (H, L, or X) + for the channel. While all channels can be set or queried, only channels 3 and 4 can + be used if the window source is channel 1 or 2. Similarly, only channels 1 and 2 can + be used if the window source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH {HIGH\LOW\X} + - TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH? + + **Info:** + - ``HIGH`` argument specifies logic high. + - ``LOW`` argument specifies logic low. + - ``X`` argument specifies a don't care state. + """ + return self._ch + + +class TriggerAPulseWindowLogic(SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:LOGIc`` command. + + **Description:** + - This query-only command returns the current window trigger logic parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc? + + Properties: + - ``.input``: The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT`` command. + - ``.threshold``: The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerAPulseWindowLogicInput(device, f"{self._cmd_syntax}:INPUT") + self._threshold = TriggerAPulseWindowLogicThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def input(self) -> TriggerAPulseWindowLogicInput: + """Return the ``TRIGger:A:PULse:WINdow:LOGIc:INPUT`` command. + + **Description:** + - This query-only command returns the current window trigger logic input parameters. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc:INPUT? TRIGger:A:PULse:WINdow:LOGIcINPUT? + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT:CH`` command. + """ + return self._input + + @property + def threshold(self) -> TriggerAPulseWindowLogicThreshold: + """Return the ``TRIGger:A:PULse:WINdow:LOGIc:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:LOGIc:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerAPulseWindowEvent(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow:EVENT`` command. + + **Description:** + - This command sets or queries the window trigger event. This command is equivalent to + selecting Window Setup from the Trig menu and selecting from the Window Event box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:EVENT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:EVENT value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:A:PULse:WINdow:EVENT? + + **Info:** + - ``OUTSIDEGreater`` specifies a trigger event when the signal leaves the window defined by + the threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a trigger event when the signal enters the window defined by + the threshold levels for the time specified by Width. + - ``ENTERSWindow`` specifies a trigger event when the signal enters the window defined by + the threshold levels. + - ``EXITSWindow`` specifies a trigger event when the signal leaves the window defined by the + threshold levels. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerAPulseWindow(SCPICmdRead): + """The ``TRIGger:A:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.logic``: The ``TRIGger:A:PULse:WINdow:LOGIc`` command. + - ``.event``: The ``TRIGger:A:PULse:WINdow:EVENT`` command. + - ``.polarity``: The ``TRIGger:A:PULse:WINdow:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:WINdow:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:WINdow:THReshold`` command. + - ``.type``: The ``TRIGger:A:PULse:WINdow:TYPe`` command. + - ``.when``: The ``TRIGger:A:PULse:WINdow:WHEn`` command. + - ``.width``: The ``TRIGger:A:PULse:WINdow:WIDTH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logic = TriggerAPulseWindowLogic(device, f"{self._cmd_syntax}:LOGIc") + self._event = TriggerAPulseWindowEvent(device, f"{self._cmd_syntax}:EVENT") + self._polarity = TriggerAPulseWindowPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseWindowQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerAPulseWindowThreshold(device, f"{self._cmd_syntax}:THReshold") + self._type = TriggerAPulseWindowType(device, f"{self._cmd_syntax}:TYPe") + self._when = TriggerAPulseWindowWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = TriggerAPulseWindowWidth(device, f"{self._cmd_syntax}:WIDTH") + + @property + def logic(self) -> TriggerAPulseWindowLogic: + """Return the ``TRIGger:A:PULse:WINdow:LOGIc`` command. + + **Description:** + - This query-only command returns the current window trigger logic parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:LOGIc?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:LOGIc? + + Sub-properties: + - ``.input``: The ``TRIGger:A:PULse:WINdow:LOGIc:INPUT`` command. + - ``.threshold``: The ``TRIGger:A:PULse:WINdow:LOGIc:THReshold`` command tree. + """ + return self._logic + + @property + def event(self) -> TriggerAPulseWindowEvent: + """Return the ``TRIGger:A:PULse:WINdow:EVENT`` command. + + **Description:** + - This command sets or queries the window trigger event. This command is equivalent to + selecting Window Setup from the Trig menu and selecting from the Window Event box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:EVENT?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:EVENT value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:EVENT {OUTSIDEGreater|INSIDEGreater|ENTERSWindow|EXITSWindow} + - TRIGger:A:PULse:WINdow:EVENT? + + **Info:** + - ``OUTSIDEGreater`` specifies a trigger event when the signal leaves the window defined + by the threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a trigger event when the signal enters the window defined + by the threshold levels for the time specified by Width. + - ``ENTERSWindow`` specifies a trigger event when the signal enters the window defined + by the threshold levels. + - ``EXITSWindow`` specifies a trigger event when the signal leaves the window defined by + the threshold levels. + """ + return self._event + + @property + def polarity(self) -> TriggerAPulseWindowPolarity: + """Return the ``TRIGger:A:PULse:WINdow:POLarity`` command. + + **Description:** + - This command sets or queries the pulse trigger window polarity of the selected trigger + Source. The instrument triggers when the signal exits the window. The command is + available only when the option Inside > t is selected in the Window Event drop-dowm + list and not available for the rest of the window events. The logic selection is + available only when the polarity is set to Either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:POLarity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:WINdow:POLarity? + + **Info:** + - ``EITher`` specifies positive or negative polarity. + - ``NEGAtive`` specifies a negative polarity. + - ``POSITIVe`` specifies a positive polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:WINdow:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseWindowQualify: + """Return the ``TRIGger:A:PULse:WINdow:QUAlify`` command. + + **Description:** + - This command sets or queries the Window Trigger qualification. This is equivalent to + selecting Window Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Window drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WINdow:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerAPulseWindowThreshold: + """Return the ``TRIGger:A:PULse:WINdow:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the window trigger. + This command query is equivalent to selecting Window Setup from the Trig menu and + viewing the window trigger Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WINdow:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:A:PULse:WINdow:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:WINdow:THReshold:LOW`` command. + """ + return self._threshold + + @property + def type(self) -> TriggerAPulseWindowType: + """Return the ``TRIGger:A:PULse:WINdow:TYPe`` command. + + **Description:** + - This command sets or queries the window trigger type. This command is equivalent to + selecting Window Setup from the Trig menu and selecting Outside Limits or Inside + Limits in the Trigger When section. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:TYPe {INSide|OUTside} + - TRIGger:A:PULse:WINdow:TYPe? + + **Info:** + - ``INSide`` argument causes a trigger event to occur when a pulse enters the window + defined by the upper and lower thresholds. + - ``OUTside`` argument causes a trigger event to occur when a pulse goes outside the + window defined by the upper and lower thresholds. + """ + return self._type + + @property + def when(self) -> TriggerAPulseWindowWhen: + """Return the ``TRIGger:A:PULse:WINdow:WHEn`` command. + + **Description:** + - This command sets or queries the window trigger violation qualification. This command + is equivalent to selecting Window Setup from the Trig menu and selecting Logic, + Occurs, or Wider than in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WINdow:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:WHEn {LOGIc|OCCurs|WIDERthan} + - TRIGger:A:PULse:WINdow:WHEn? + + **Info:** + - ``LOGIc`` argument specifies a trigger event when a window violation occurs on the AND + of the logic channels. + - ``OCCurs`` argument specifies a trigger event if any detectable window violation + occurs. + - ``WIDERthan`` specifies a trigger event if a window violation greater than the + specified width occurs. + """ + return self._when + + @property + def width(self) -> TriggerAPulseWindowWidth: + """Return the ``TRIGger:A:PULse:WINdow:WIDTH`` command. + + **Description:** + - This command sets or queries the minimum width for a window violation. This command is + equivalent to selecting Window Setup from the Trig menu, selecting Wider than in the + Trigger When box, and setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow:WIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow:WIDTH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WINdow:WIDTH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WINdow:WIDTH + - TRIGger:A:PULse:WINdow:WIDTH? + + **Info:** + - ```` argument specifies the minimum width in seconds. + """ + return self._width + + +class TriggerAPulseWidthWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:WHEn`` command. + + **Description:** + - This command sets or queries whether to trigger on a pulse width that falls outside (or + within) the specified range of limits. You can define or query trigger pulse width upper + and lower limits using the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands. This command is equivalent to selecting Width + Setup from the Trig menu and then choosing from the Trig When drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:A:PULse:WIDth:WHEn? + + **Info:** + - ``OUTside`` argument causes a trigger event the duration of the pulse is greater than the + high limit or less than the low limit specified. The high and low limits are specified + with the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` + commands respectively. + - ``WIThin`` argument causes a trigger event when the duration of the pulse is within the + high and low limits. The high and low limits are specified with the + ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` command + respectively. + """ + + +class TriggerAPulseWidthQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:QUAlify`` command. + + **Description:** + - This command sets or queries the Width Trigger qualification. This is equivalent to + selecting Width Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Width drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:QUAlify?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WIDth:QUAlify? + + **Info:** + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseWidthPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse width trigger for the + channel. This command is equivalent to selecting Width Setup from the Trig menu and then + selecting the pulse width trigger Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WIDth:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity:CH? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + """ + + +class TriggerAPulseWidthPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and selecting the Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:WIDth:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseWidthPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseWidthPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseWidthPolarityChannel]: + """Return the ``TRIGger:A:PULse:WIDth:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse width trigger for the + channel. This command is equivalent to selecting Width Setup from the Trig menu and + then selecting the pulse width trigger Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WIDth:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:POLarity:CH {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity:CH? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + """ + return self._ch + + +class TriggerAPulseWidthLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turn off the low­pass filter feature for pulse width trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:LOWPASSfilter?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:WIDth:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerAPulseWidthLowlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:LOWLimit`` command. + + **Description:** + - This command sets or queries the lower limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the pulse Lower Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:LOWLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:LOWLimit + - TRIGger:A:PULse:WIDth:LOWLimit? + + **Info:** + - ```` specifies the A pulse width trigger lower limit in seconds. + """ + + +class TriggerAPulseWidthHighlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth:HIGHLimit`` command. + + **Description:** + - This command sets or queries the upper limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the Upper Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:HIGHLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:HIGHLimit + - TRIGger:A:PULse:WIDth:HIGHLimit? + + **Info:** + - ```` specifies the width trigger upper limit in seconds. + """ + + +class TriggerAPulseWidth(SCPICmdRead): + """The ``TRIGger:A:PULse:WIDth`` command. + + **Description:** + - This query-only command returns the width parameters for the pulse width trigger. This + command is equivalent to selecting Width Setup from the Trig menu and then viewing the + current pulse width trigger Lower Limit, Upper Limit, Trig When and Polarity settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth? + + Properties: + - ``.highlimit``: The ``TRIGger:A:PULse:WIDth:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:A:PULse:WIDth:LOWLimit`` command. + - ``.lowpassfilter``: The ``TRIGger:A:PULse:WIDth:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:WIDth:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:WIDth:QUAlify`` command. + - ``.when``: The ``TRIGger:A:PULse:WIDth:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._highlimit = TriggerAPulseWidthHighlimit(device, f"{self._cmd_syntax}:HIGHLimit") + self._lowlimit = TriggerAPulseWidthLowlimit(device, f"{self._cmd_syntax}:LOWLimit") + self._lowpassfilter = TriggerAPulseWidthLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerAPulseWidthPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseWidthQualify(device, f"{self._cmd_syntax}:QUAlify") + self._when = TriggerAPulseWidthWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def highlimit(self) -> TriggerAPulseWidthHighlimit: + """Return the ``TRIGger:A:PULse:WIDth:HIGHLimit`` command. + + **Description:** + - This command sets or queries the upper limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the Upper Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:HIGHLimit?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:HIGHLimit + - TRIGger:A:PULse:WIDth:HIGHLimit? + + **Info:** + - ```` specifies the width trigger upper limit in seconds. + """ + return self._highlimit + + @property + def lowlimit(self) -> TriggerAPulseWidthLowlimit: + """Return the ``TRIGger:A:PULse:WIDth:LOWLimit`` command. + + **Description:** + - This command sets or queries the lower limit for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and setting the pulse Lower + Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:LOWLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:LOWLimit + - TRIGger:A:PULse:WIDth:LOWLimit? + + **Info:** + - ```` specifies the A pulse width trigger lower limit in seconds. + """ + return self._lowlimit + + @property + def lowpassfilter(self) -> TriggerAPulseWidthLowpassfilter: + """Return the ``TRIGger:A:PULse:WIDth:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turn off the low­pass filter feature for pulse width trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:WIDth:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:WIDth:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerAPulseWidthPolarity: + """Return the ``TRIGger:A:PULse:WIDth:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the width trigger. This command is + equivalent to selecting Width Setup from the Trig menu and selecting the Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:WIDth:POLarity? + + **Info:** + - ``NEGAtive`` specifies a negative pulse. + - ``POSITIVe`` specifies a positive pulse. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:WIDth:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseWidthQualify: + """Return the ``TRIGger:A:PULse:WIDth:QUAlify`` command. + + **Description:** + - This command sets or queries the Width Trigger qualification. This is equivalent to + selecting Width Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Width drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:WIDth:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:WIDth:QUAlify? + + **Info:** + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def when(self) -> TriggerAPulseWidthWhen: + """Return the ``TRIGger:A:PULse:WIDth:WHEn`` command. + + **Description:** + - This command sets or queries whether to trigger on a pulse width that falls outside + (or within) the specified range of limits. You can define or query trigger pulse width + upper and lower limits using the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands. This command is equivalent to selecting + Width Setup from the Trig menu and then choosing from the Trig When drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:WIDth:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth:WHEn {OUTside|WIThin} + - TRIGger:A:PULse:WIDth:WHEn? + + **Info:** + - ``OUTside`` argument causes a trigger event the duration of the pulse is greater than + the high limit or less than the low limit specified. The high and low limits are + specified with the ``TRIGger:A:PULse:WIDth:HIGHLimit`` and + ``TRIGger:A:PULse:WIDth:LOWLimit`` commands respectively. + - ``WIThin`` argument causes a trigger event when the duration of the pulse is within + the high and low limits. The high and low limits are specified with the + ``TRIGger:A:PULse:WIDth:HIGHLimit`` and ``TRIGger:A:PULse:WIDth:LOWLimit`` command + respectively. + """ + return self._when + + +class TriggerAPulseTransitionWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:WHEn`` command. + + **Description:** + - This command sets or queries whether to check for a transitioning signal that is faster or + slower than the specified delta time. This is equivalent to selecting Transition Setup + from the Trig menu and choosing the Trigger When Transition Time setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:TRANsition:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:A:PULse:TRANsition:WHEn? + + **Info:** + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than the + set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than the + set volts/second rate. + """ + + +class TriggerAPulseTransitionThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower (most negative) transition trigger threshold. This + command is equivalent to selecting Transition Setup from the Trig menu and setting the + desired Lower Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:LOW + - TRIGger:A:PULse:TRANsition:THReshold:LOW? + + **Info:** + - ```` specifies the lower threshold in volts. + """ + + +class TriggerAPulseTransitionThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper (most positive) transition trigger threshold. This + command is equivalent to selecting Transition Setup from the Trig menu and then setting + the desired Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:HIGH + - TRIGger:A:PULse:TRANsition:THReshold:HIGH? + + **Info:** + - ```` specifies the upper threshold in volts. + """ + + +class TriggerAPulseTransitionThresholdBoth(SCPICmdWrite): + """The ``TRIGger:A:PULse:TRANsition:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower thresholds for the transition + trigger. This command is equivalent to selecting Transition Setup from the Trig menu and + setting the desired Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerAPulseTransitionThreshold(SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower threshold limits for the transition + time trigger. This command is equivalent to selecting Transition Setup from the Trig menu + and viewing the Upper Level and Lower Level voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold? + + Properties: + - ``.both``: The ``TRIGger:A:PULse:TRANsition:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:TRANsition:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerAPulseTransitionThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerAPulseTransitionThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerAPulseTransitionThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerAPulseTransitionThresholdBoth: + """Return the ``TRIGger:A:PULse:TRANsition:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower thresholds for the transition + trigger. This command is equivalent to selecting Transition Setup from the Trig menu + and setting the desired Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and the lower threshold to the nominal ECL voltage levels. + """ + return self._both + + @property + def high(self) -> TriggerAPulseTransitionThresholdHigh: + """Return the ``TRIGger:A:PULse:TRANsition:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper (most positive) transition trigger threshold. + This command is equivalent to selecting Transition Setup from the Trig menu and then + setting the desired Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:HIGH + - TRIGger:A:PULse:TRANsition:THReshold:HIGH? + + **Info:** + - ```` specifies the upper threshold in volts. + """ + return self._high + + @property + def low(self) -> TriggerAPulseTransitionThresholdLow: + """Return the ``TRIGger:A:PULse:TRANsition:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower (most negative) transition trigger threshold. + This command is equivalent to selecting Transition Setup from the Trig menu and + setting the desired Lower Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold:LOW + - TRIGger:A:PULse:TRANsition:THReshold:LOW? + + **Info:** + - ```` specifies the lower threshold in volts. + """ + return self._low + + +class TriggerAPulseTransitionQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:QUAlify`` command. + + **Description:** + - This command sets or queries the Transition Time Trigger qualification. This is equivalent + to selecting Transition Setup from the Trig menu and selecting Occurs, Logic, or Bus in + the Trigger If Transition drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TRANsition:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any violations occur. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseTransitionPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse transition trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu and + then choosing from the Polarity pull-down list for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:TRANsition:POLarity:CH? + + **Info:** + - ``EITher`` indicates either positive or negative polarity. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) to + lower (most negative) level for transition triggering to occur. + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) to + higher (post positive) level for transition triggering to occur. + """ + + +class TriggerAPulseTransitionPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the transition trigger. This command is + equivalent to selecting Transition Setup from the Trig menu and choosing from the Polarity + drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:TRANsition:POLarity? + + **Info:** + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) to + higher (most positive) level for transition triggering to occur. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) to + lower (most negative) level for transition triggering to occur. + - ``EITher`` indicates either positive or negative polarity. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:TRANsition:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseTransitionPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseTransitionPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseTransitionPolarityChannel]: + """Return the ``TRIGger:A:PULse:TRANsition:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse transition trigger for + the channel. This command is equivalent to selecting Transition Setup from the Trig + menu and then choosing from the Polarity pull-down list for the channel. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:TRANsition:POLarity:CH? + + **Info:** + - ``EITher`` indicates either positive or negative polarity. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) + to lower (most negative) level for transition triggering to occur. + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) + to higher (post positive) level for transition triggering to occur. + """ + return self._ch + + +class TriggerAPulseTransitionDeltatime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition:DELTATime`` command. + + **Description:** + - This command sets or queries the delta time used in calculating the transition value for + the transition trigger. This is equivalent to selecting Transition Setup from the Trig + menu and setting the Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:DELTATime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:DELTATime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:DELTATime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:DELTATime + - TRIGger:A:PULse:TRANsition:DELTATime? + + **Info:** + - ```` specifies the delta time in seconds. + """ + + +class TriggerAPulseTransition(SCPICmdRead): + """The ``TRIGger:A:PULse:TRANsition`` command. + + **Description:** + - This query-only command returns delta time, polarity, and both upper and lower threshold + limits for the transition time trigger. This command is equivalent to selecting Transition + Setup from the Trig menu and then viewing the current transition settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition? + + Properties: + - ``.deltatime``: The ``TRIGger:A:PULse:TRANsition:DELTATime`` command. + - ``.polarity``: The ``TRIGger:A:PULse:TRANsition:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:TRANsition:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:TRANsition:THReshold`` command. + - ``.when``: The ``TRIGger:A:PULse:TRANsition:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deltatime = TriggerAPulseTransitionDeltatime(device, f"{self._cmd_syntax}:DELTATime") + self._polarity = TriggerAPulseTransitionPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseTransitionQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerAPulseTransitionThreshold(device, f"{self._cmd_syntax}:THReshold") + self._when = TriggerAPulseTransitionWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def deltatime(self) -> TriggerAPulseTransitionDeltatime: + """Return the ``TRIGger:A:PULse:TRANsition:DELTATime`` command. + + **Description:** + - This command sets or queries the delta time used in calculating the transition value + for the transition trigger. This is equivalent to selecting Transition Setup from the + Trig menu and setting the Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:DELTATime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:DELTATime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:DELTATime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:DELTATime + - TRIGger:A:PULse:TRANsition:DELTATime? + + **Info:** + - ```` specifies the delta time in seconds. + """ + return self._deltatime + + @property + def polarity(self) -> TriggerAPulseTransitionPolarity: + """Return the ``TRIGger:A:PULse:TRANsition:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the transition trigger. This command is + equivalent to selecting Transition Setup from the Trig menu and choosing from the + Polarity drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:TRANsition:POLarity? + + **Info:** + - ``POSITIVe`` indicates that a pulse edge must traverse from the lower (most negative) + to higher (most positive) level for transition triggering to occur. + - ``NEGAtive`` indicates that a pulse edge must traverse from the upper (most positive) + to lower (most negative) level for transition triggering to occur. + - ``EITher`` indicates either positive or negative polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:TRANsition:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseTransitionQualify: + """Return the ``TRIGger:A:PULse:TRANsition:QUAlify`` command. + + **Description:** + - This command sets or queries the Transition Time Trigger qualification. This is + equivalent to selecting Transition Setup from the Trig menu and selecting Occurs, + Logic, or Bus in the Trigger If Transition drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:QUAlify?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TRANsition:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any violations occur. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerAPulseTransitionThreshold: + """Return the ``TRIGger:A:PULse:TRANsition:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower threshold limits for the + transition time trigger. This command is equivalent to selecting Transition Setup from + the Trig menu and viewing the Upper Level and Lower Level voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:A:PULse:TRANsition:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:TRANsition:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> TriggerAPulseTransitionWhen: + """Return the ``TRIGger:A:PULse:TRANsition:WHEn`` command. + + **Description:** + - This command sets or queries whether to check for a transitioning signal that is + faster or slower than the specified delta time. This is equivalent to selecting + Transition Setup from the Trig menu and choosing the Trigger When Transition Time + setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TRANsition:WHEn value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition:WHEn {FASTERthan|SLOWERthan} + - TRIGger:A:PULse:TRANsition:WHEn? + + **Info:** + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than + the set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than + the set volts/second rate. + """ + return self._when + + +class TriggerAPulseTimeoutTime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut:TIMe`` command. + + **Description:** + - This command sets or queries the pulse timeout trigger time (measured in seconds). This + command is equivalent to selecting Timeout Setup from the Trig menu and setting a value + for Timer. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:TIMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:TIMe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:TIMe + - TRIGger:A:PULse:TIMEOut:TIMe? + + **Info:** + - ```` argument specifies the timeout period in seconds. + """ + + +class TriggerAPulseTimeoutQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut:QUAlify`` command. + + **Description:** + - This command sets or queries the Timeout Trigger qualification. This is equivalent to + selecting Timeout Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Timeout drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TIMEOut:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseTimeoutPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse timeout trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu and + then setting the desired Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity:CH? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required time + period to permit time out triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required time + period to permit time out triggering to occur. + - ``EITher`` indicates that the polarity of the time out trigger can stay either high or low + (positive or negative) for the required time period to permit time out triggering to + occur. + """ + + +class TriggerAPulseTimeoutPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the pulse timeout trigger. This command is + equivalent to selecting Timeout Setup from the Trig menu and setting the desired polarity + in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required time + period to permit timeout triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required time + period to permit timeout triggering to occur. + - ``EITher`` indicates that the polarity of the timeout trigger can stay either high or low + (positive or negative) for the required time period to permit time out triggering to + occur. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:TIMEOut:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseTimeoutPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseTimeoutPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseTimeoutPolarityChannel]: + """Return the ``TRIGger:A:PULse:TIMEOut:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse timeout trigger for the + channel. This command is equivalent to selecting Transition Setup from the Trig menu + and then setting the desired Polarity for the channel. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:POLarity:CH {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity:CH? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required + time period to permit time out triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required + time period to permit time out triggering to occur. + - ``EITher`` indicates that the polarity of the time out trigger can stay either high or + low (positive or negative) for the required time period to permit time out triggering + to occur. + """ + return self._ch + + +class TriggerAPulseTimeoutLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Timeout trigger. This + allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerAPulseTimeout(SCPICmdRead): + """The ``TRIGger:A:PULse:TIMEOut`` command. + + **Description:** + - This query-only command returns the polarity and time-out duration for the pulse timeout + trigger. This command is equivalent to selecting Timeout Setup from the Trig menu and + viewing the polarity in the Trigger When box and the Timer setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut? + + Properties: + - ``.lowpassfilter``: The ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:TIMEOut:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:TIMEOut:QUAlify`` command. + - ``.time``: The ``TRIGger:A:PULse:TIMEOut:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lowpassfilter = TriggerAPulseTimeoutLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerAPulseTimeoutPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseTimeoutQualify(device, f"{self._cmd_syntax}:QUAlify") + self._time = TriggerAPulseTimeoutTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def lowpassfilter(self) -> TriggerAPulseTimeoutLowpassfilter: + """Return the ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Timeout trigger. + This allows triggering in the presence of high­ frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:TIMEOut:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerAPulseTimeoutPolarity: + """Return the ``TRIGger:A:PULse:TIMEOut:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the pulse timeout trigger. This command + is equivalent to selecting Timeout Setup from the Trig menu and setting the desired + polarity in the Trigger When box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - TRIGger:A:PULse:TIMEOut:POLarity? + + **Info:** + - ``STAYSHigh`` indicates that a pulse edge must stay high (positive) for the required + time period to permit timeout triggering to occur. This is the default polarity. + - ``STAYSLow`` indicates that a pulse edge must stay low (negative) for the required + time period to permit timeout triggering to occur. + - ``EITher`` indicates that the polarity of the timeout trigger can stay either high or + low (positive or negative) for the required time period to permit time out triggering + to occur. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:TIMEOut:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseTimeoutQualify: + """Return the ``TRIGger:A:PULse:TIMEOut:QUAlify`` command. + + **Description:** + - This command sets or queries the Timeout Trigger qualification. This is equivalent to + selecting Timeout Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Timeout drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:TIMEOut:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def time(self) -> TriggerAPulseTimeoutTime: + """Return the ``TRIGger:A:PULse:TIMEOut:TIMe`` command. + + **Description:** + - This command sets or queries the pulse timeout trigger time (measured in seconds). + This command is equivalent to selecting Timeout Setup from the Trig menu and setting a + value for Timer. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut:TIMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:TIMEOut:TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut:TIMe + - TRIGger:A:PULse:TIMEOut:TIMe? + + **Info:** + - ```` argument specifies the timeout period in seconds. + """ + return self._time + + +class TriggerAPulseSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the pulse trigger. This source parameter + applies to all classes of pulse triggers. This command is equivalent to selecting Event + Trigger Setup from the Trig menu, selecting the pulse type (Glitch, Width, Runt, Timeout, + or Transition), and then choosing the desired channel from the Source pull-down list. When + an UltraSync stack is used, the mapped channels are used to both acquire waveform data and + to trigger the oscilloscope. In the special case of an UltraSync stack master, additional + channels are available for triggering. These are the unmapped channels. For an ATI + UltraSync stack master, CH2, MCH1, and MCH3 can be used for triggering. For a 4-Channel + UltraSync stack master, CH1, MCH2, MCH3, and MCH4 are available for triggering. The + vertical min/max amplitude for these signals must be set up. A detailed discussion is + provided in . + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:SOUrce {CH|D|MCH} + - TRIGger:A:PULse:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels, which range from 1 through 4. + - ``D`` specifies one of the digital inputs, which range from 0 through 15. + - ``MCH`` specifies one of the unmapped channels on the master when using an UltraSync + stack. For details see. + """ + + +class TriggerAPulseRuntWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:WIDth`` command. + + **Description:** + - This command sets or queries the minimum width for an Pulse Runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and then setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:WIDth + - TRIGger:A:PULse:RUNT:WIDth? + + **Info:** + - ```` specifies the minimum width in seconds. + """ + + +class TriggerAPulseRuntWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:WHEn`` command. + + **Description:** + - This command sets or queries the type of pulse width the trigger checks for when it + detects a runt. This is equivalent to selecting Runt Setup from the Trig menu and choosing + the desired Trigger When setting from the drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:WHEn?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:A:PULse:RUNT:WHEn? + + **Info:** + - ``OCCurs`` argument specifies a trigger event if a runt of any detectable width occurs. + - ``WIDERthan`` specifies a trigger event if a runt greater than the specified width occurs. + """ + + +class TriggerAPulseRuntThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the pulse runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and then setting the Lower Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:LOW?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:LOW + - TRIGger:A:PULse:RUNT:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerAPulseRuntThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse runt trigger. This command is + equivalent to selecting Runt Setup from the Trig menu and setting the runt trigger Upper + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:HIGH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:HIGH + - TRIGger:A:PULse:RUNT:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + + +class TriggerAPulseRuntThresholdBoth(SCPICmdWrite): + """The ``TRIGger:A:PULse:RUNT:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the pulse + runt trigger. This command is equivalent to selecting Runt Setup from the Trig menu and + then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and lower threshold to the nominal ECL voltage levels. + """ + + +class TriggerAPulseRuntThreshold(SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the pulse runt trigger. + This command query is equivalent to selecting Runt Setup from the Trig menu and then + viewing the Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold? + + Properties: + - ``.both``: The ``TRIGger:A:PULse:RUNT:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:RUNT:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._both = TriggerAPulseRuntThresholdBoth(device, f"{self._cmd_syntax}:BOTh") + self._high = TriggerAPulseRuntThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerAPulseRuntThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def both(self) -> TriggerAPulseRuntThresholdBoth: + """Return the ``TRIGger:A:PULse:RUNT:THReshold:BOTh`` command. + + **Description:** + - This command (no query form) sets the upper and lower switching thresholds for the + pulse runt trigger. This command is equivalent to selecting Runt Setup from the Trig + menu and then setting the Upper Level and Lower Level voltages. + + **Usage:** + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:BOTh value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:BOTh {TTL|ECL} + + **Info:** + - ``TTL`` sets the upper and lower threshold to the nominal TTL voltage levels. + - ``ECL`` sets the upper and lower threshold to the nominal ECL voltage levels. + """ + return self._both + + @property + def high(self) -> TriggerAPulseRuntThresholdHigh: + """Return the ``TRIGger:A:PULse:RUNT:THReshold:HIGH`` command. + + **Description:** + - This command sets or queries the upper limit for the pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and setting the runt trigger + Upper Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:HIGH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:HIGH + - TRIGger:A:PULse:RUNT:THReshold:HIGH? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._high + + @property + def low(self) -> TriggerAPulseRuntThresholdLow: + """Return the ``TRIGger:A:PULse:RUNT:THReshold:LOW`` command. + + **Description:** + - This command sets or queries the lower limit for the pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then setting the Lower + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold:LOW + - TRIGger:A:PULse:RUNT:THReshold:LOW? + + **Info:** + - ```` specifies the threshold value in volts. + """ + return self._low + + +class TriggerAPulseRuntQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:QUAlify`` command. + + **Description:** + - This command sets or queries the Runt Trigger qualification. This is equivalent to + selecting Runt Setup from the Trig menu and selecting Occurs, Logic, or Bus in the Trigger + If Runt drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:QUAlify?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:RUNT:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the command. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseRuntPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger for the + channel. This command is equivalent to selecting Runt Setup from the Trig menu and then + choosing the Polarity setting for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:POLarity:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:RUNT:POLarity:CH? + + **Info:** + - ``EITher`` indicates either negative or positive polarity. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling edge + recrosses the low threshold without either edge ever crossing the high threshold. + """ + + +class TriggerAPulseRuntPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then choosing the Polarity + setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:RUNT:POLarity? + + **Info:** + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling edge + recrosses the low threshold without either edge ever crossing the high threshold. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``EITher`` indicates either negative or positive polarity. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseRuntPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseRuntPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseRuntPolarityChannel]: + """Return the ``TRIGger:A:PULse:RUNT:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger for the + channel. This command is equivalent to selecting Runt Setup from the Trig menu and + then choosing the Polarity setting for the channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:RUNT:POLarity:CH? + + **Info:** + - ``EITher`` indicates either negative or positive polarity. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling + edge recrosses the low threshold without either edge ever crossing the high threshold. + """ + return self._ch + + +class TriggerAPulseRuntLogicThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A runt logic threshold for the channel specified by , + which can be 1, 2, 3, or 4. This is equivalent to selecting Runt Setup from the Trig menu + and setting the runt logic threshold. While all channels can be set or queried, only + channels 3 and 4 can be used if the runt source is channel 1 or 2. Similarly only channels + 1 and 2 can be used if the runt source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH? + + **Info:** + - ```` argument specifies the threshold in volts. + """ + + +class TriggerAPulseRuntLogicThreshold(SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseRuntLogicThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseRuntLogicThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseRuntLogicThresholdChannel]: + """Return the ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A runt logic threshold for the channel specified by + , which can be 1, 2, 3, or 4. This is equivalent to selecting Runt Setup from the + Trig menu and setting the runt logic threshold. While all channels can be set or + queried, only channels 3 and 4 can be used if the runt source is channel 1 or 2. + Similarly only channels 1 and 2 can be used if the runt source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH + - TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH? + + **Info:** + - ```` argument specifies the threshold in volts. + """ + return self._ch + + +class TriggerAPulseRuntLogicInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH`` command. + + **Description:** + - This command sets or queries the A runt logic input for the channel specified by , + which can be 1, 2, 3, or 4. This is equivalent to setting the runt logic inputs from the + Trigger When section in the Runt Trigger menu. While all channels can be set or queried, + only channels 3 and 4 can be used if the runt source is channel 1 or 2. Similarly, only + channels 1 and 2 can be used if the runt source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH {HIGH|LOW|X} + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH? + + **Info:** + - ``HIGH`` argument specifies logic high. + - ``LOW`` argument specifies logic low. + - ``X`` argument specifies a 'don't care' state. + """ + + +class TriggerAPulseRuntLogicInput(SCPICmdReadWithArguments): + """The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT`` command. + + **Description:** + - This query-only command returns the current A runt pulse trigger logic input parameters. + This query is equivalent to selecting Runt Setup from the Trig menu and then viewing the + current settings. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT? + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseRuntLogicInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseRuntLogicInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseRuntLogicInputChannel]: + """Return the ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH`` command. + + **Description:** + - This command sets or queries the A runt logic input for the channel specified by , + which can be 1, 2, 3, or 4. This is equivalent to setting the runt logic inputs from + the Trigger When section in the Runt Trigger menu. While all channels can be set or + queried, only channels 3 and 4 can be used if the runt source is channel 1 or 2. + Similarly, only channels 1 and 2 can be used if the runt source is channel 3 or 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH {HIGH|LOW|X} + - TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH? + + **Info:** + - ``HIGH`` argument specifies logic high. + - ``LOW`` argument specifies logic low. + - ``X`` argument specifies a 'don't care' state. + """ + return self._ch + + +class TriggerAPulseRuntLogic(SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT:LOGIc`` command. + + **Description:** + - This query-only command returns the current A runt trigger logic parameters. This query is + equivalent to selecting Runt Setup from the Trig menu and then viewing the current + settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc? + + Properties: + - ``.input``: The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT`` command. + - ``.threshold``: The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerAPulseRuntLogicInput(device, f"{self._cmd_syntax}:INPUT") + self._threshold = TriggerAPulseRuntLogicThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def input(self) -> TriggerAPulseRuntLogicInput: + """Return the ``TRIGger:A:PULse:RUNT:LOGIc:INPUT`` command. + + **Description:** + - This query-only command returns the current A runt pulse trigger logic input + parameters. This query is equivalent to selecting Runt Setup from the Trig menu and + then viewing the current settings. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc:INPUT? TRIGger:A:PULse:RUNT:LOGIcINPUT? + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT:CH`` command. + """ + return self._input + + @property + def threshold(self) -> TriggerAPulseRuntLogicThreshold: + """Return the ``TRIGger:A:PULse:RUNT:LOGIc:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:RUNT:LOGIc:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerAPulseRunt(SCPICmdRead): + """The ``TRIGger:A:PULse:RUNT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.logic``: The ``TRIGger:A:PULse:RUNT:LOGIc`` command. + - ``.polarity``: The ``TRIGger:A:PULse:RUNT:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:RUNT:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:RUNT:THReshold`` command. + - ``.when``: The ``TRIGger:A:PULse:RUNT:WHEn`` command. + - ``.width``: The ``TRIGger:A:PULse:RUNT:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logic = TriggerAPulseRuntLogic(device, f"{self._cmd_syntax}:LOGIc") + self._polarity = TriggerAPulseRuntPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseRuntQualify(device, f"{self._cmd_syntax}:QUAlify") + self._threshold = TriggerAPulseRuntThreshold(device, f"{self._cmd_syntax}:THReshold") + self._when = TriggerAPulseRuntWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = TriggerAPulseRuntWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def logic(self) -> TriggerAPulseRuntLogic: + """Return the ``TRIGger:A:PULse:RUNT:LOGIc`` command. + + **Description:** + - This query-only command returns the current A runt trigger logic parameters. This + query is equivalent to selecting Runt Setup from the Trig menu and then viewing the + current settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:LOGIc?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:LOGIc? + + Sub-properties: + - ``.input``: The ``TRIGger:A:PULse:RUNT:LOGIc:INPUT`` command. + - ``.threshold``: The ``TRIGger:A:PULse:RUNT:LOGIc:THReshold`` command tree. + """ + return self._logic + + @property + def polarity(self) -> TriggerAPulseRuntPolarity: + """Return the ``TRIGger:A:PULse:RUNT:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the A or B pulse runt trigger. This + command is equivalent to selecting Runt Setup from the Trig menu and then choosing the + Polarity setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:RUNT:POLarity? + + **Info:** + - ``POSITIVe`` indicates that the rising edge crosses the low threshold and the falling + edge recrosses the low threshold without either edge ever crossing the high threshold. + - ``NEGAtive`` indicates that the falling edge crosses the high threshold and the rising + edge recrosses the high threshold without either edge ever crossing the low threshold. + - ``EITher`` indicates either negative or positive polarity. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:RUNT:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseRuntQualify: + """Return the ``TRIGger:A:PULse:RUNT:QUAlify`` command. + + **Description:** + - This command sets or queries the Runt Trigger qualification. This is equivalent to + selecting Runt Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Runt drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:RUNT:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:RUNT:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the command. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def threshold(self) -> TriggerAPulseRuntThreshold: + """Return the ``TRIGger:A:PULse:RUNT:THReshold`` command. + + **Description:** + - This query-only command returns the upper and lower thresholds for the pulse runt + trigger. This command query is equivalent to selecting Runt Setup from the Trig menu + and then viewing the Upper Level and Lower Level settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:THReshold? + + Sub-properties: + - ``.both``: The ``TRIGger:A:PULse:RUNT:THReshold:BOTh`` command. + - ``.high``: The ``TRIGger:A:PULse:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:PULse:RUNT:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> TriggerAPulseRuntWhen: + """Return the ``TRIGger:A:PULse:RUNT:WHEn`` command. + + **Description:** + - This command sets or queries the type of pulse width the trigger checks for when it + detects a runt. This is equivalent to selecting Runt Setup from the Trig menu and + choosing the desired Trigger When setting from the drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:WHEn {OCCurs|WIDERthan} + - TRIGger:A:PULse:RUNT:WHEn? + + **Info:** + - ``OCCurs`` argument specifies a trigger event if a runt of any detectable width + occurs. + - ``WIDERthan`` specifies a trigger event if a runt greater than the specified width + occurs. + """ + return self._when + + @property + def width(self) -> TriggerAPulseRuntWidth: + """Return the ``TRIGger:A:PULse:RUNT:WIDth`` command. + + **Description:** + - This command sets or queries the minimum width for an Pulse Runt trigger. This command + is equivalent to selecting Runt Setup from the Trig menu and then setting the Width. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT:WIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:RUNT:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:RUNT:WIDth + - TRIGger:A:PULse:RUNT:WIDth? + + **Info:** + - ```` specifies the minimum width in seconds. + """ + return self._width + + +class TriggerAPulsePeriodWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:WHEn`` command. + + **Description:** + - This command sets or queries the 'trigger when' enumeration for the Pulse Period Trigger. + If the argument is LESSthan, the scope triggers on the signal when the period (frequency) + of the signal is less than the period (frequency) of the Low Limit. If the argument is + GREATerthan, the scope triggers on the signal when the period (frequency) of the signal is + greater than the period (frequency) of the Low Limit. If the argument is WITHin, the scope + triggers on the signal when the period (frequency) of the signal is within the range + defined by the Low Limit and the High Limit. If the argument is OUTside, the scope + triggers on the signal when the period (frequency) of the signal is outside of the range + defined by the Low Limit and the High Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:A:PULse:PERiod:WHEn? + + **Info:** + - ``LESSthan`` tells the scope to trigger when the period (frequency) of the signal is less + than the low limit value. + - ``GREATerthan`` tells the scope to trigger when the period (frequency) of the signal is + greater than the low limit value. + - ``WITHin`` tells the scope to trigger when the period (frequency) of the signal is inside + the range set by the low and high limit values. + - ``OUTside`` tells the scope to trigger when the period (frequency) of the signal is + outside of the range set by the low and high limit values. + """ + + +class TriggerAPulsePeriodView(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:VIEW`` command. + + **Description:** + - This command sets or queries the 'view' for the pulse period trigger. When PERiod is + selected the LOWLimit and HIGHLimit values are in units of time (Seconds). When FREQuency + is selected, the units are in frequency (Hz). This two methods are equivalent, so the + alternative views are provided as a convenience. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:VIEW?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:VIEW value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:A:PULse:PERiod:VIEW? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerAPulsePeriodQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:QUAlify`` command. + + **Description:** + - This command sets or queries the Qualification setup for Pulse Period Trigger. The + high/low state of one or more other signals (channels) may be used to qualify whether the + trigger should occur or not. The BUS option is not available on the SX series instruments + at this time. When the QUALify enumeration is OCCurs, no qualification is done. When the + QUALify enumeration is LOGIC, the scope triggers using the pulse period trigger definition + as qualified by the high/low states of the qualifying signals. Additional description is + given elsewhere in this document under the term 'logic qualification.' + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:A:PULse:PERiod:QUAlify? + + **Info:** + - ``OCCurs`` specifies the no other signals are used to qualify the pulse period trigger. + - ``LOGIC`` specifies that other analog signals (channels) are used to qualify the pulse + period trigger. + - ``BUS`` specifies that other digital signals (digital channels) are used to qualify the + pulse period trigger. + """ + + +class TriggerAPulsePeriodPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the Pulse Period trigger. It refers to the + polarity of the edges that begin and end a given period of the signal, and thus allows + duty-cycle testing of clock signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:PERiod:POLarity? + + **Info:** + - ``POSITIVe`` specifies to trigger on the rising or positive edge of a signal. + - ``NEGAtive`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerAPulsePeriodLowlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:LOWLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency low limit. When the VIEW is PERiod the + units of this number are time (Seconds). When the VIEW is FREQuency, the units of this + number are frequency (Hz). The low limit is used alone when the WHEn enumeration is + LESSthan or GREATerthan, and is used in combination with the high limit to define a range + if the WHEn enumeration is WITHin or OUTside. The limits specify the most significant + characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:LOWLimit value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:LOWLimit + - TRIGger:A:PULse:PERiod:LOWLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + + +class TriggerAPulsePeriodHighlimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod:HIGHLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency high limit. When the VIEW is PERiod the + units of this number are time (Seconds). When the VIEW is FREQuency, the units of this + number are frequency (Hz). The high limit is used in combination with the low limit to + define a range if the WHEn enumeration is WITHin or OUTside. These limits specify the most + significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:HIGHLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:PERiod:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:HIGHLimit + - TRIGger:A:PULse:PERiod:HIGHLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + + +class TriggerAPulsePeriod(SCPICmdRead): + """The ``TRIGger:A:PULse:PERiod`` command. + + **Description:** + - This query-only command returns the Pulse Trigger settings specific to Period/Frequency + trigger. These include the array of high and low limits, the 'trigger when' enumeration, + the polarity enumeration, the qualification enumeration, and the view enumeration. The + view enumeration controls whether the high and low limits are expressed in units of time + (Seconds) or frequency (Hz). The qualification enumeration determines if the trigger is + state-qualified by additional signals (channels). The polarity enumeration determines + whether the rising or falling edges of the signal are used to initiate the trigger. The + trigger when enumeration determines if the trigger should occur when the period + (frequency) is greater than or less than a single (low) limit value, or within or outside + the period (frequency) of a high-low limit period (frequency) pair. The Period/Frequency + Trigger is similar to Width Trigger, but instead of triggering on a single pulse of a + given width, it triggers on the period (two back-to-back pulses, one up and one down) of a + given width. As a convenience the period limits (Seconds) can be expressed as frequency + limits (Hz) by changing the view enumeration. It is often used to determine if oscillators + are operating within specification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod? + + Properties: + - ``.highlimit``: The ``TRIGger:A:PULse:PERiod:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:A:PULse:PERiod:LOWLimit`` command. + - ``.polarity``: The ``TRIGger:A:PULse:PERiod:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:PERiod:QUAlify`` command. + - ``.view``: The ``TRIGger:A:PULse:PERiod:VIEW`` command. + - ``.when``: The ``TRIGger:A:PULse:PERiod:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._highlimit = TriggerAPulsePeriodHighlimit(device, f"{self._cmd_syntax}:HIGHLimit") + self._lowlimit = TriggerAPulsePeriodLowlimit(device, f"{self._cmd_syntax}:LOWLimit") + self._polarity = TriggerAPulsePeriodPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulsePeriodQualify(device, f"{self._cmd_syntax}:QUAlify") + self._view = TriggerAPulsePeriodView(device, f"{self._cmd_syntax}:VIEW") + self._when = TriggerAPulsePeriodWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def highlimit(self) -> TriggerAPulsePeriodHighlimit: + """Return the ``TRIGger:A:PULse:PERiod:HIGHLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency high limit. When the VIEW is PERiod + the units of this number are time (Seconds). When the VIEW is FREQuency, the units of + this number are frequency (Hz). The high limit is used in combination with the low + limit to define a range if the WHEn enumeration is WITHin or OUTside. These limits + specify the most significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:HIGHLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:PERiod:HIGHLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:PERiod:HIGHLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:HIGHLimit + - TRIGger:A:PULse:PERiod:HIGHLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + return self._highlimit + + @property + def lowlimit(self) -> TriggerAPulsePeriodLowlimit: + """Return the ``TRIGger:A:PULse:PERiod:LOWLimit`` command. + + **Description:** + - This command sets or queries the Period/Frequency low limit. When the VIEW is PERiod + the units of this number are time (Seconds). When the VIEW is FREQuency, the units of + this number are frequency (Hz). The low limit is used alone when the WHEn enumeration + is LESSthan or GREATerthan, and is used in combination with the high limit to define a + range if the WHEn enumeration is WITHin or OUTside. The limits specify the most + significant characteristic of the signal for this Pulse Trigger Type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:LOWLimit?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:LOWLimit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:PERiod:LOWLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:LOWLimit + - TRIGger:A:PULse:PERiod:LOWLimit? + + **Info:** + - ```` is the period (in Seconds) or frequency (in Hz). + """ + return self._lowlimit + + @property + def polarity(self) -> TriggerAPulsePeriodPolarity: + """Return the ``TRIGger:A:PULse:PERiod:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for the Pulse Period trigger. It refers to + the polarity of the edges that begin and end a given period of the signal, and thus + allows duty-cycle testing of clock signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:PERiod:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:POLarity {NEGAtive|POSITIVe} + - TRIGger:A:PULse:PERiod:POLarity? + + **Info:** + - ``POSITIVe`` specifies to trigger on the rising or positive edge of a signal. + - ``NEGAtive`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulsePeriodQualify: + """Return the ``TRIGger:A:PULse:PERiod:QUAlify`` command. + + **Description:** + - This command sets or queries the Qualification setup for Pulse Period Trigger. The + high/low state of one or more other signals (channels) may be used to qualify whether + the trigger should occur or not. The BUS option is not available on the SX series + instruments at this time. When the QUALify enumeration is OCCurs, no qualification is + done. When the QUALify enumeration is LOGIC, the scope triggers using the pulse period + trigger definition as qualified by the high/low states of the qualifying signals. + Additional description is given elsewhere in this document under the term 'logic + qualification.' + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:PERiod:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:QUAlify {OCCurs | LOGIC | BUS} + - TRIGger:A:PULse:PERiod:QUAlify? + + **Info:** + - ``OCCurs`` specifies the no other signals are used to qualify the pulse period + trigger. + - ``LOGIC`` specifies that other analog signals (channels) are used to qualify the pulse + period trigger. + - ``BUS`` specifies that other digital signals (digital channels) are used to qualify + the pulse period trigger. + """ + return self._qualify + + @property + def view(self) -> TriggerAPulsePeriodView: + """Return the ``TRIGger:A:PULse:PERiod:VIEW`` command. + + **Description:** + - This command sets or queries the 'view' for the pulse period trigger. When PERiod is + selected the LOWLimit and HIGHLimit values are in units of time (Seconds). When + FREQuency is selected, the units are in frequency (Hz). This two methods are + equivalent, so the alternative views are provided as a convenience. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:VIEW?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:VIEW value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:VIEW {PERiod|FREQuency} + - TRIGger:A:PULse:PERiod:VIEW? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._view + + @property + def when(self) -> TriggerAPulsePeriodWhen: + """Return the ``TRIGger:A:PULse:PERiod:WHEn`` command. + + **Description:** + - This command sets or queries the 'trigger when' enumeration for the Pulse Period + Trigger. If the argument is LESSthan, the scope triggers on the signal when the period + (frequency) of the signal is less than the period (frequency) of the Low Limit. If the + argument is GREATerthan, the scope triggers on the signal when the period (frequency) + of the signal is greater than the period (frequency) of the Low Limit. If the argument + is WITHin, the scope triggers on the signal when the period (frequency) of the signal + is within the range defined by the Low Limit and the High Limit. If the argument is + OUTside, the scope triggers on the signal when the period (frequency) of the signal is + outside of the range defined by the Low Limit and the High Limit. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:PERiod:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod:WHEn {LESSthan | GREATerthan | WITHin | OUTside} + - TRIGger:A:PULse:PERiod:WHEn? + + **Info:** + - ``LESSthan`` tells the scope to trigger when the period (frequency) of the signal is + less than the low limit value. + - ``GREATerthan`` tells the scope to trigger when the period (frequency) of the signal + is greater than the low limit value. + - ``WITHin`` tells the scope to trigger when the period (frequency) of the signal is + inside the range set by the low and high limit values. + - ``OUTside`` tells the scope to trigger when the period (frequency) of the signal is + outside of the range set by the low and high limit values. + """ + return self._when + + +class TriggerAPulseGlitchWidth(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:WIDth`` command. + + **Description:** + - This command sets or queries the width for the glitch trigger. This command is equivalent + to selecting Glitch Setup from the Trig menu and then setting the desired Width. For + information about using the width value, refer to the command. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:WIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:GLItch:WIDth value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:WIDth + - TRIGger:A:PULse:GLItch:WIDth? + + **Info:** + - ```` argument specifies the width of the glitch in seconds. + """ + + +class TriggerAPulseGlitchTrigif(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:TRIGIF`` command. + + **Description:** + - This command sets or queries the acceptance or rejection of the glitch pulse trigger, + based on width. This command is equivalent to selecting Glitch Setup from the Trig menu + and choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:TRIGIF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:TRIGIF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:GLItch:TRIGIF value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:A:PULse:GLItch:TRIGIF? + + **Info:** + - ``ACCept`` specifies that the instrument will only trigger on pulses that are narrower + than the specified width, when the trigger type is set to glitch. The width is specified + using the. + - ``REJect`` specifies that the instrument will only trigger on pulses that are wider than + the specified width, when the trigger type is set to glitch. The width is specified using + the. + """ + + +class TriggerAPulseGlitchQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:QUAlify`` command. + + **Description:** + - This command sets or queries the Glitch Trigger qualification. This is equivalent to + selecting Glitch Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Glitch drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:GLItch:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:GLItch:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerAPulseGlitchPolarityChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger for the channel. + This command is equivalent to selecting Glitch Setup from the Trig menu and then choosing + the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:GLItch:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:GLItch:POLarity:CH? + + **Info:** + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch is + either positive or negative. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + """ + + +class TriggerAPulseGlitchPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger. This command is + equivalent to selecting Glitch Setup from the Trig menu and then choosing the desired + Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:GLItch:POLarity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:GLItch:POLarity? + + **Info:** + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch is + either positive or negative. + + Properties: + - ``.ch``: The ``TRIGger:A:PULse:GLItch:POLarity:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAPulseGlitchPolarityChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAPulseGlitchPolarityChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAPulseGlitchPolarityChannel]: + """Return the ``TRIGger:A:PULse:GLItch:POLarity:CH`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger for the + channel. This command is equivalent to selecting Glitch Setup from the Trig menu and + then choosing the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:POLarity:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:GLItch:POLarity:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:POLarity:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:POLarity:CH {EITher|NEGAtive|POSITIVe} + - TRIGger:A:PULse:GLItch:POLarity:CH? + + **Info:** + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch + is either positive or negative. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + """ + return self._ch + + +class TriggerAPulseGlitchLowpassfilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Glitch trigger. This + allows triggering in the presence of high­frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:GLItch:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:GLItch:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + + +class TriggerAPulseGlitchFilter(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch:FILTer`` command. + + **Description:** + - This command sets or queries the acceptance/rejection of the glitch pulse trigger. This + command is equivalent to selecting Glitch Setup from the Trig menu and then choosing the + desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:FILTer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:GLItch:FILTer value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:A:PULse:GLItch:FILTer? + """ + + +class TriggerAPulseGlitch(SCPICmdRead): + """The ``TRIGger:A:PULse:GLItch`` command. + + **Description:** + - This query-only command returns the current glitch pulse trigger parameters. This command + query is equivalent to selecting Glitch Setup from the Trig menu and viewing the current + glitch trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch? + + Properties: + - ``.filter``: The ``TRIGger:A:PULse:GLItch:FILTer`` command. + - ``.lowpassfilter``: The ``TRIGger:A:PULse:GLItch:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:GLItch:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:GLItch:QUAlify`` command. + - ``.trigif``: The ``TRIGger:A:PULse:GLItch:TRIGIF`` command. + - ``.width``: The ``TRIGger:A:PULse:GLItch:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._filter = TriggerAPulseGlitchFilter(device, f"{self._cmd_syntax}:FILTer") + self._lowpassfilter = TriggerAPulseGlitchLowpassfilter( + device, f"{self._cmd_syntax}:LOWPASSfilter" + ) + self._polarity = TriggerAPulseGlitchPolarity(device, f"{self._cmd_syntax}:POLarity") + self._qualify = TriggerAPulseGlitchQualify(device, f"{self._cmd_syntax}:QUAlify") + self._trigif = TriggerAPulseGlitchTrigif(device, f"{self._cmd_syntax}:TRIGIF") + self._width = TriggerAPulseGlitchWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def filter(self) -> TriggerAPulseGlitchFilter: + """Return the ``TRIGger:A:PULse:GLItch:FILTer`` command. + + **Description:** + - This command sets or queries the acceptance/rejection of the glitch pulse trigger. + This command is equivalent to selecting Glitch Setup from the Trig menu and then + choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:FILTer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:FILTer value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:FILTer {ACCept|REJect} + - TRIGger:A:PULse:GLItch:FILTer? + """ + return self._filter + + @property + def lowpassfilter(self) -> TriggerAPulseGlitchLowpassfilter: + """Return the ``TRIGger:A:PULse:GLItch:LOWPASSfilter`` command. + + **Description:** + - This command turns on or turns off the low­pass filter feature for Glitch trigger. + This allows triggering in the presence of high­frequency signal edges. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:LOWPASSfilter?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:PULse:GLItch:LOWPASSfilter?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:LOWPASSfilter value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:LOWPASSfilter {ON|OFF} + - TRIGger:A:PULse:GLItch:LOWPASSfilter? + + **Info:** + - ``ON`` enables low­pass filter feature. + - ``OFF`` disables low­pass filter feature. + """ + return self._lowpassfilter + + @property + def polarity(self) -> TriggerAPulseGlitchPolarity: + """Return the ``TRIGger:A:PULse:GLItch:POLarity`` command. + + **Description:** + - This command sets or queries the polarity for A or B pulse glitch trigger. This + command is equivalent to selecting Glitch Setup from the Trig menu and then choosing + the desired Polarity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:POLarity {POSITIVe|NEGAtive|EITher} + - TRIGger:A:PULse:GLItch:POLarity? + + **Info:** + - ``POSITIVe`` specifies that the instrument will only trigger when the polarity of the + glitch is positive. + - ``NEGAtive`` specifies that the instrument will only trigger when the polarity of the + glitch is negative. + - ``EITher`` specifies that the instrument will trigger when the polarity of the glitch + is either positive or negative. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:PULse:GLItch:POLarity:CH`` command. + """ + return self._polarity + + @property + def qualify(self) -> TriggerAPulseGlitchQualify: + """Return the ``TRIGger:A:PULse:GLItch:QUAlify`` command. + + **Description:** + - This command sets or queries the Glitch Trigger qualification. This is equivalent to + selecting Glitch Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Glitch drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:PULse:GLItch:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def trigif(self) -> TriggerAPulseGlitchTrigif: + """Return the ``TRIGger:A:PULse:GLItch:TRIGIF`` command. + + **Description:** + - This command sets or queries the acceptance or rejection of the glitch pulse trigger, + based on width. This command is equivalent to selecting Glitch Setup from the Trig + menu and choosing the desired Trig if Width setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:TRIGIF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:TRIGIF?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:TRIGIF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:TRIGIF {ACCept|REJect} + - TRIGger:A:PULse:GLItch:TRIGIF? + + **Info:** + - ``ACCept`` specifies that the instrument will only trigger on pulses that are narrower + than the specified width, when the trigger type is set to glitch. The width is + specified using the. + - ``REJect`` specifies that the instrument will only trigger on pulses that are wider + than the specified width, when the trigger type is set to glitch. The width is + specified using the. + """ + return self._trigif + + @property + def width(self) -> TriggerAPulseGlitchWidth: + """Return the ``TRIGger:A:PULse:GLItch:WIDth`` command. + + **Description:** + - This command sets or queries the width for the glitch trigger. This command is + equivalent to selecting Glitch Setup from the Trig menu and then setting the desired + Width. For information about using the width value, refer to the command. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch:WIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:PULse:GLItch:WIDth value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch:WIDth + - TRIGger:A:PULse:GLItch:WIDth? + + **Info:** + - ```` argument specifies the width of the glitch in seconds. + """ + return self._width + + +class TriggerAPulseClass(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PULse:CLAss`` command. + + **Description:** + - This command sets or queries the type of pulse on which to trigger. This command is + equivalent to selecting the setup menu for the pulse type that you want from the Trig + menu: Glitch Setup, Width Setup, Runt Setup, Timeout Setup, or Transition Setup. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:CLAss value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:A:PULse:CLAss? + + **Info:** + - ``GLItch`` triggers when a pulse is found that is of the specified polarity and width. + These are set with the commands. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set with + the. + - ``WIDth`` triggers when a pulse is found that has the specified polarity and is either + inside or outside the limits as specified by. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as the + specified polarity and the transition time between the two threshold crossings is greater + or less than the specified time delta. + - ``TIMEOut`` triggers when the pulse train stops in the selected state for longer than the + specified time. + - ``WINdow`` triggers when a pulse is found that meets the conditions set by the A Event + window trigger type, specified by the following commands. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerAPulse(SCPICmdRead): + """The ``TRIGger:A:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.period``: The ``TRIGger:A:PULse:PERiod`` command. + - ``.runt``: The ``TRIGger:A:PULse:RUNT`` command tree. + - ``.window``: The ``TRIGger:A:PULse:WINdow`` command tree. + - ``.class``: The ``TRIGger:A:PULse:CLAss`` command. + - ``.glitch``: The ``TRIGger:A:PULse:GLItch`` command. + - ``.source``: The ``TRIGger:A:PULse:SOUrce`` command. + - ``.timeout``: The ``TRIGger:A:PULse:TIMEOut`` command. + - ``.transition``: The ``TRIGger:A:PULse:TRANsition`` command. + - ``.width``: The ``TRIGger:A:PULse:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._period = TriggerAPulsePeriod(device, f"{self._cmd_syntax}:PERiod") + self._class = TriggerAPulseClass(device, f"{self._cmd_syntax}:CLAss") + self._glitch = TriggerAPulseGlitch(device, f"{self._cmd_syntax}:GLItch") + self._runt = TriggerAPulseRunt(device, f"{self._cmd_syntax}:RUNT") + self._source = TriggerAPulseSource(device, f"{self._cmd_syntax}:SOUrce") + self._timeout = TriggerAPulseTimeout(device, f"{self._cmd_syntax}:TIMEOut") + self._transition = TriggerAPulseTransition(device, f"{self._cmd_syntax}:TRANsition") + self._width = TriggerAPulseWidth(device, f"{self._cmd_syntax}:WIDth") + self._window = TriggerAPulseWindow(device, f"{self._cmd_syntax}:WINdow") + + @property + def period(self) -> TriggerAPulsePeriod: + """Return the ``TRIGger:A:PULse:PERiod`` command. + + **Description:** + - This query-only command returns the Pulse Trigger settings specific to + Period/Frequency trigger. These include the array of high and low limits, the 'trigger + when' enumeration, the polarity enumeration, the qualification enumeration, and the + view enumeration. The view enumeration controls whether the high and low limits are + expressed in units of time (Seconds) or frequency (Hz). The qualification enumeration + determines if the trigger is state-qualified by additional signals (channels). The + polarity enumeration determines whether the rising or falling edges of the signal are + used to initiate the trigger. The trigger when enumeration determines if the trigger + should occur when the period (frequency) is greater than or less than a single (low) + limit value, or within or outside the period (frequency) of a high-low limit period + (frequency) pair. The Period/Frequency Trigger is similar to Width Trigger, but + instead of triggering on a single pulse of a given width, it triggers on the period + (two back-to-back pulses, one up and one down) of a given width. As a convenience the + period limits (Seconds) can be expressed as frequency limits (Hz) by changing the view + enumeration. It is often used to determine if oscillators are operating within + specification. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:PERiod?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:PERiod?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:PERiod? + + Sub-properties: + - ``.highlimit``: The ``TRIGger:A:PULse:PERiod:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:A:PULse:PERiod:LOWLimit`` command. + - ``.polarity``: The ``TRIGger:A:PULse:PERiod:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:PERiod:QUAlify`` command. + - ``.view``: The ``TRIGger:A:PULse:PERiod:VIEW`` command. + - ``.when``: The ``TRIGger:A:PULse:PERiod:WHEn`` command. + """ + return self._period + + @property + def class_(self) -> TriggerAPulseClass: + """Return the ``TRIGger:A:PULse:CLAss`` command. + + **Description:** + - This command sets or queries the type of pulse on which to trigger. This command is + equivalent to selecting the setup menu for the pulse type that you want from the Trig + menu: Glitch Setup, Width Setup, Runt Setup, Timeout Setup, or Transition Setup. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:CLAss value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:CLAss {GLItch|RUNT|WIDth| TRANsition|TIMEOut|WINdow} + - TRIGger:A:PULse:CLAss? + + **Info:** + - ``GLItch`` triggers when a pulse is found that is of the specified polarity and width. + These are set with the commands. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set + with the. + - ``WIDth`` triggers when a pulse is found that has the specified polarity and is either + inside or outside the limits as specified by. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as + the specified polarity and the transition time between the two threshold crossings is + greater or less than the specified time delta. + - ``TIMEOut`` triggers when the pulse train stops in the selected state for longer than + the specified time. + - ``WINdow`` triggers when a pulse is found that meets the conditions set by the A Event + window trigger type, specified by the following commands. + """ + return self._class + + @property + def glitch(self) -> TriggerAPulseGlitch: + """Return the ``TRIGger:A:PULse:GLItch`` command. + + **Description:** + - This query-only command returns the current glitch pulse trigger parameters. This + command query is equivalent to selecting Glitch Setup from the Trig menu and viewing + the current glitch trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:GLItch?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:GLItch?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:GLItch? + + Sub-properties: + - ``.filter``: The ``TRIGger:A:PULse:GLItch:FILTer`` command. + - ``.lowpassfilter``: The ``TRIGger:A:PULse:GLItch:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:GLItch:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:GLItch:QUAlify`` command. + - ``.trigif``: The ``TRIGger:A:PULse:GLItch:TRIGIF`` command. + - ``.width``: The ``TRIGger:A:PULse:GLItch:WIDth`` command. + """ + return self._glitch + + @property + def runt(self) -> TriggerAPulseRunt: + """Return the ``TRIGger:A:PULse:RUNT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:RUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:RUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.logic``: The ``TRIGger:A:PULse:RUNT:LOGIc`` command. + - ``.polarity``: The ``TRIGger:A:PULse:RUNT:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:RUNT:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:RUNT:THReshold`` command. + - ``.when``: The ``TRIGger:A:PULse:RUNT:WHEn`` command. + - ``.width``: The ``TRIGger:A:PULse:RUNT:WIDth`` command. + """ + return self._runt + + @property + def source(self) -> TriggerAPulseSource: + """Return the ``TRIGger:A:PULse:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the pulse trigger. This source parameter + applies to all classes of pulse triggers. This command is equivalent to selecting + Event Trigger Setup from the Trig menu, selecting the pulse type (Glitch, Width, Runt, + Timeout, or Transition), and then choosing the desired channel from the Source + pull-down list. When an UltraSync stack is used, the mapped channels are used to both + acquire waveform data and to trigger the oscilloscope. In the special case of an + UltraSync stack master, additional channels are available for triggering. These are + the unmapped channels. For an ATI UltraSync stack master, CH2, MCH1, and MCH3 can be + used for triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, MCH3, and MCH4 + are available for triggering. The vertical min/max amplitude for these signals must be + set up. A detailed discussion is provided in . + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PULse:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:SOUrce {CH|D|MCH} + - TRIGger:A:PULse:SOUrce? + + **Info:** + - ``CH`` specifies one of the input channels, which range from 1 through 4. + - ``D`` specifies one of the digital inputs, which range from 0 through 15. + - ``MCH`` specifies one of the unmapped channels on the master when using an + UltraSync stack. For details see. + """ + return self._source + + @property + def timeout(self) -> TriggerAPulseTimeout: + """Return the ``TRIGger:A:PULse:TIMEOut`` command. + + **Description:** + - This query-only command returns the polarity and time-out duration for the pulse + timeout trigger. This command is equivalent to selecting Timeout Setup from the Trig + menu and viewing the polarity in the Trigger When box and the Timer setting. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TIMEOut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TIMEOut? + + Sub-properties: + - ``.lowpassfilter``: The ``TRIGger:A:PULse:TIMEOut:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:TIMEOut:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:TIMEOut:QUAlify`` command. + - ``.time``: The ``TRIGger:A:PULse:TIMEOut:TIMe`` command. + """ + return self._timeout + + @property + def transition(self) -> TriggerAPulseTransition: + """Return the ``TRIGger:A:PULse:TRANsition`` command. + + **Description:** + - This query-only command returns delta time, polarity, and both upper and lower + threshold limits for the transition time trigger. This command is equivalent to + selecting Transition Setup from the Trig menu and then viewing the current transition + settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:TRANsition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:TRANsition?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:TRANsition? + + Sub-properties: + - ``.deltatime``: The ``TRIGger:A:PULse:TRANsition:DELTATime`` command. + - ``.polarity``: The ``TRIGger:A:PULse:TRANsition:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:TRANsition:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:TRANsition:THReshold`` command. + - ``.when``: The ``TRIGger:A:PULse:TRANsition:WHEn`` command. + """ + return self._transition + + @property + def width(self) -> TriggerAPulseWidth: + """Return the ``TRIGger:A:PULse:WIDth`` command. + + **Description:** + - This query-only command returns the width parameters for the pulse width trigger. This + command is equivalent to selecting Width Setup from the Trig menu and then viewing the + current pulse width trigger Lower Limit, Upper Limit, Trig When and Polarity settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WIDth?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WIDth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PULse:WIDth? + + Sub-properties: + - ``.highlimit``: The ``TRIGger:A:PULse:WIDth:HIGHLimit`` command. + - ``.lowlimit``: The ``TRIGger:A:PULse:WIDth:LOWLimit`` command. + - ``.lowpassfilter``: The ``TRIGger:A:PULse:WIDth:LOWPASSfilter`` command. + - ``.polarity``: The ``TRIGger:A:PULse:WIDth:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:WIDth:QUAlify`` command. + - ``.when``: The ``TRIGger:A:PULse:WIDth:WHEn`` command. + """ + return self._width + + @property + def window(self) -> TriggerAPulseWindow: + """Return the ``TRIGger:A:PULse:WINdow`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse:WINdow?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.logic``: The ``TRIGger:A:PULse:WINdow:LOGIc`` command. + - ``.event``: The ``TRIGger:A:PULse:WINdow:EVENT`` command. + - ``.polarity``: The ``TRIGger:A:PULse:WINdow:POLarity`` command. + - ``.qualify``: The ``TRIGger:A:PULse:WINdow:QUAlify`` command. + - ``.threshold``: The ``TRIGger:A:PULse:WINdow:THReshold`` command. + - ``.type``: The ``TRIGger:A:PULse:WINdow:TYPe`` command. + - ``.when``: The ``TRIGger:A:PULse:WINdow:WHEn`` command. + - ``.width``: The ``TRIGger:A:PULse:WINdow:WIDTH`` command. + """ + return self._window + + +class TriggerAPlockSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PLOCK:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the pattern lock trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:SOURCE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:SOURCE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:SOURCE CH + - TRIGger:A:PLOCK:SOURCE? + + **Info:** + - ``CH`` specifies the recovered clock from one input channel as the PLOCK trigger + source. + """ + + +class TriggerAPlockLength(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PLOCK:LENGTH`` command. + + **Description:** + - This command sets or queries a positive integer representing the power of 2 used to + determine the total length in bits of a repeating sequence. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:LENGTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:LENGTH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:LENGTH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:LENGTH + - TRIGger:A:PLOCK:LENGTH? + + **Info:** + - ```` specifies a positive integer representing the power of 2 used to determine the + total length in bits of a repeating sequence. + """ + + +class TriggerAPlockCount(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:PLOCK:COUNT`` command. + + **Description:** + - This command sets or queries an integer in the range of (-2 length +1) to (+2 length -1) + that allows you to shift the locked trigger point in increments or decrements of 1. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:COUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:COUNT value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:COUNT + - TRIGger:A:PLOCK:COUNT? + + **Info:** + - ```` specifies an integer that allows you to shift the locked trigger point in + increments or decrements of 1. + """ + + +class TriggerAPlock(SCPICmdRead): + """The ``TRIGger:A:PLOCK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.count``: The ``TRIGger:A:PLOCK:COUNT`` command. + - ``.length``: The ``TRIGger:A:PLOCK:LENGTH`` command. + - ``.source``: The ``TRIGger:A:PLOCK:SOURCE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = TriggerAPlockCount(device, f"{self._cmd_syntax}:COUNT") + self._length = TriggerAPlockLength(device, f"{self._cmd_syntax}:LENGTH") + self._source = TriggerAPlockSource(device, f"{self._cmd_syntax}:SOURCE") + + @property + def count(self) -> TriggerAPlockCount: + """Return the ``TRIGger:A:PLOCK:COUNT`` command. + + **Description:** + - This command sets or queries an integer in the range of (-2 length +1) to (+2 length + -1) that allows you to shift the locked trigger point in increments or decrements of + 1. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:COUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:COUNT value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:COUNT + - TRIGger:A:PLOCK:COUNT? + + **Info:** + - ```` specifies an integer that allows you to shift the locked trigger point in + increments or decrements of 1. + """ + return self._count + + @property + def length(self) -> TriggerAPlockLength: + """Return the ``TRIGger:A:PLOCK:LENGTH`` command. + + **Description:** + - This command sets or queries a positive integer representing the power of 2 used to + determine the total length in bits of a repeating sequence. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:LENGTH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:LENGTH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:LENGTH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:LENGTH + - TRIGger:A:PLOCK:LENGTH? + + **Info:** + - ```` specifies a positive integer representing the power of 2 used to determine + the total length in bits of a repeating sequence. + """ + return self._length + + @property + def source(self) -> TriggerAPlockSource: + """Return the ``TRIGger:A:PLOCK:SOURCE`` command. + + **Description:** + - This command sets or queries the source of the pattern lock trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK:SOURCE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:PLOCK:SOURCE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:PLOCK:SOURCE CH + - TRIGger:A:PLOCK:SOURCE? + + **Info:** + - ``CH`` specifies the recovered clock from one input channel as the PLOCK trigger + source. + """ + return self._source + + +class TriggerAMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:MODe`` command. + + **Description:** + - This command sets or queries the A trigger mode. This command is equivalent to pushing the + Mode button on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:MODe {AUTO|NORMal} + - TRIGger:A:MODe? + + **Info:** + - ``AUTO`` generates a trigger if one is not detected within a specified time period. + - ``NORMal`` waits for a valid trigger event. + """ + + +class TriggerALowerthresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOWerthreshold:CH`` command. + + **Description:** + - This command sets or queries the A or B lower trigger level for + ``TRIGger:LVLSrcpreference SRCDependent`` or SRCIndependent modes for the channel, + specified by x, which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOWerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOWerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOWerthreshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:A:LOWerthreshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies the threshold voltage in user units. + """ + + +class TriggerALowerthreshold(SCPICmdRead): + """The ``TRIGger:A:LOWerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOWerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOWerthreshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:LOWerthreshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALowerthresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALowerthresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALowerthresholdChannel]: + """Return the ``TRIGger:A:LOWerthreshold:CH`` command. + + **Description:** + - This command sets or queries the A or B lower trigger level for + ``TRIGger:LVLSrcpreference SRCDependent`` or SRCIndependent modes for the channel, + specified by x, which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOWerthreshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOWerthreshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOWerthreshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOWerthreshold:CH {ECL|TTL|} + - TRIGger:A:LOWerthreshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies the threshold voltage in user units. + """ + return self._ch + + +class TriggerALogicThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger threshold voltage for the channel, + specified by x, which ranges from 1 through 4. This command is equivalent to selecting A + or B Event Trigger Setup from the Trig menu, choosing a logic trigger type, such as State + or Pattern, and setting the Input Threshold voltage for the desired channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:THReshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:THReshold:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:THReshold:CH + - TRIGger:A:LOGIc:THReshold:CH? + + **Info:** + - ```` specifies the threshold voltage. + """ + + +class TriggerALogicThreshold(SCPICmdRead): + """The ``TRIGger:A:LOGIc:THReshold`` command. + + **Description:** + - This query-only command returns the threshold voltage for all channels in a logic trigger. + This command query is equivalent to selecting Event Trigger Setup from the Trig menu, + choosing a logic trigger type, such as State or Pattern, and viewing the current Input + Threshold voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:THReshold? + + Properties: + - ``.ch``: The ``TRIGger:A:LOGIc:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALogicThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALogicThresholdChannel]: + """Return the ``TRIGger:A:LOGIc:THReshold:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger threshold voltage for the + channel, specified by x, which ranges from 1 through 4. This command is equivalent to + selecting A or B Event Trigger Setup from the Trig menu, choosing a logic trigger + type, such as State or Pattern, and setting the Input Threshold voltage for the + desired channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:THReshold:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:THReshold:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:THReshold:CH + - TRIGger:A:LOGIc:THReshold:CH? + + **Info:** + - ```` specifies the threshold voltage. + """ + return self._ch + + +class TriggerALogicStateWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:STATE:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic state trigger. + This command is equivalent to selecting Logic State from the Trig menu and choosing the + desired condition from the Trigger When Pattern drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:A:LOGIc:STATE:WHEn? + + **Info:** + - ``TRUe`` specifies that the trigger occurs when the clock transition on channel 4 occurs + and the pattern of channels 1-3 are at the desired logic input states. + - ``FALSe`` specifies that the trigger occurs when the desired clock transition on channel 4 + occurs and the desired logic input states on channels 1-3 are not found. + """ + + +class TriggerALogicStateInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:STATE:INPut:CH`` command. + + **Description:** + - This command sets or queries the slope for the channel specified by x when the logic class + is set to State. This command is equivalent to selecting Logic State from the Trig menu, + choosing the desired channel input, and then the slope (NEG or POS) from the When Clock is + drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:STATE:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:A:LOGIc:STATE:INPut:CH? + + **Info:** + - ``FALL`` specifies the falling edge and the input slope is NEG. + - ``RISe`` specifies the rising edge and the input slope is POS. + """ + + +class TriggerALogicStateInput(SCPICmdRead): + """The ``TRIGger:A:LOGIc:STATE:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:LOGIc:STATE:INPut:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALogicStateInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicStateInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALogicStateInputChannel]: + """Return the ``TRIGger:A:LOGIc:STATE:INPut:CH`` command. + + **Description:** + - This command sets or queries the slope for the channel specified by x when the logic + class is set to State. This command is equivalent to selecting Logic State from the + Trig menu, choosing the desired channel input, and then the slope (NEG or POS) from + the When Clock is drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:STATE:INPut:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:STATE:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE:INPut:CH {FALL|RISe} + - TRIGger:A:LOGIc:STATE:INPut:CH? + + **Info:** + - ``FALL`` specifies the falling edge and the input slope is NEG. + - ``RISe`` specifies the rising edge and the input slope is POS. + """ + return self._ch + + +class TriggerALogicState(SCPICmdRead): + """The ``TRIGger:A:LOGIc:STATE`` command. + + **Description:** + - This query-only command returns the data input and trigger criteria for the logic trigger. + This command is equivalent to selecting Logic State from the Trig menu and then viewing + the current logic state settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE? + + Properties: + - ``.input``: The ``TRIGger:A:LOGIc:STATE:INPut`` command tree. + - ``.when``: The ``TRIGger:A:LOGIc:STATE:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerALogicStateInput(device, f"{self._cmd_syntax}:INPut") + self._when = TriggerALogicStateWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def input(self) -> TriggerALogicStateInput: + """Return the ``TRIGger:A:LOGIc:STATE:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE:INPut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOGIc:STATE:INPut:CH`` command. + """ + return self._input + + @property + def when(self) -> TriggerALogicStateWhen: + """Return the ``TRIGger:A:LOGIc:STATE:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic state + trigger. This command is equivalent to selecting Logic State from the Trig menu and + choosing the desired condition from the Trigger When Pattern drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:STATE:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE:WHEn {TRUe|FALSe} + - TRIGger:A:LOGIc:STATE:WHEn? + + **Info:** + - ``TRUe`` specifies that the trigger occurs when the clock transition on channel 4 + occurs and the pattern of channels 1-3 are at the desired logic input states. + - ``FALSe`` specifies that the trigger occurs when the desired clock transition on + channel 4 occurs and the desired logic input states on channels 1-3 are not found. + """ + return self._when + + +class TriggerALogicSetholdSettime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:SETTime`` command. + + **Description:** + - This command sets or queries the setup time for setup and hold violation triggering. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Setup Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:SETTime?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:SETTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:SETTime value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:SETTime + - TRIGger:A:LOGIc:SETHold:SETTime? + + **Info:** + - ```` specifies the setup time for setup and hold violation triggering. + """ + + +class TriggerALogicSetholdQualify(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:QUAlify`` command. + + **Description:** + - This command sets or queries the Setup/Hold Trigger qualification. This is equivalent to + selecting Setup/Hold Setup from the Trig menu and selecting Occurs, Logic, or Bus in the + Trigger If Setup/Hold drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:QUAlify?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:QUAlify value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:LOGIc:SETHold:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by the + ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + + +class TriggerALogicSetholdHoldtime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:HOLDTime`` command. + + **Description:** + - This command sets or queries the hold time for setup and hold violation triggering. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Hold Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:HOLDTime?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:HOLDTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:HOLDTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:HOLDTime + - TRIGger:A:LOGIc:SETHold:HOLDTime? + + **Info:** + - ```` specifies the hold time setting in seconds. Positive values for hold time occur + after the clock edge. Negative values occur before the clock edge. + """ + + +class TriggerALogicSetholdDataThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. This + command is equivalent to selecting A or B Event Trigger Setup from the Trig menu and then + setting the desired Data Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + """ + + +class TriggerALogicSetholdDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + + Properties: + - ``.ch``: The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALogicSetholdDataThresholdChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicSetholdDataThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALogicSetholdDataThresholdChannel]: + """Return the ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. + This command is equivalent to selecting A or B Event Trigger Setup from the Trig menu + and then setting the desired Data Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + """ + return self._ch + + +class TriggerALogicSetholdDataSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce`` command. + + **Description:** + - This command sets or queries the data source for the setup and hold trigger. This command + is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing the desired + channel from the Data Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4. + """ + + +class TriggerALogicSetholdDataLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:DATa:LEVel`` command. + + **Description:** + - This command sets or queries the data voltage level for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:LEVel? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies is the setup and hold data level in V. + """ + + +class TriggerALogicSetholdData(SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:DATa`` command. + + **Description:** + - This query-only command returns the voltage threshold and data source for the setup and + hold trigger. This command is equivalent to selecting Setup/Hold Setup from the Trig menu + and then viewing the current data setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa? + + Properties: + - ``.level``: The ``TRIGger:A:LOGIc:SETHold:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._level = TriggerALogicSetholdDataLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerALogicSetholdDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = TriggerALogicSetholdDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def level(self) -> TriggerALogicSetholdDataLevel: + """Return the ``TRIGger:A:LOGIc:SETHold:DATa:LEVel`` command. + + **Description:** + - This command sets or queries the data voltage level for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:LEVel? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` specifies is the setup and hold data level in V. + """ + return self._level + + @property + def source(self) -> TriggerALogicSetholdDataSource: + """Return the ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce`` command. + + **Description:** + - This command sets or queries the data source for the setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing + the desired channel from the Data Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce CH + - TRIGger:A:LOGIc:SETHold:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4. + """ + return self._source + + @property + def threshold(self) -> TriggerALogicSetholdDataThreshold: + """Return the ``TRIGger:A:LOGIc:SETHold:DATa:THReshold`` command. + + **Description:** + - This command sets or queries the data voltage threshold for setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Data Level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:DATa:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:DATa:THReshold? + + **Info:** + - ``ECL`` specifies the preset ECL high level. + - ``TTL`` specifies the preset TTL high level. + - ```` is the setup and hold data level in V. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerALogicSetholdClockThresholdChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and then setting + the desired Clock Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + """ + + +class TriggerALogicSetholdClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for the setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and setting + the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + + Properties: + - ``.ch``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[ + int, TriggerALogicSetholdClockThresholdChannel + ] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicSetholdClockThresholdChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALogicSetholdClockThresholdChannel]: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Clock Level. The value of x can range from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + """ + return self._ch + + +class TriggerALogicSetholdClockSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the clock source for the A or B logic trigger setup and hold + input. This is equivalent to selecting Setup/Hold Setup from the Trig menu and choosing + the desired channel from the Clock Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4 for four-channel + instruments or 1 through 2 for two channel instruments. + """ + + +class TriggerALogicSetholdClockLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the clock voltage level for the setup and hold trigger. This + command is equivalent to selecting Setup/Hold Setup from the Trig menu and setting the + desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ``NR3`` is the setup and hold data level in V. + """ + + +class TriggerALogicSetholdClockEdge(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE`` command. + + **Description:** + - This command sets or queries the clock edge polarity for setup and hold triggering. This + is equivalent to selecting Setup/Hold Setup from the Trig menu and then choosing the + desired Clock Edge. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE? + + **Info:** + - ``FALL`` specifies polarity as the clock falling edge. + - ``RISe`` specifies polarity as the clock rising edge. + """ + + +class TriggerALogicSetholdClock(SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold:CLOCk`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input for setup and hold triggering. This command is equivalent to selecting Setup/Hold + Setup from the Trig menu and then viewing the current clock setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk? + + Properties: + - ``.edge``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE`` command. + - ``.level``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel`` command. + - ``.source``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = TriggerALogicSetholdClockEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerALogicSetholdClockLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerALogicSetholdClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = TriggerALogicSetholdClockThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def edge(self) -> TriggerALogicSetholdClockEdge: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE`` command. + + **Description:** + - This command sets or queries the clock edge polarity for setup and hold triggering. + This is equivalent to selecting Setup/Hold Setup from the Trig menu and then choosing + the desired Clock Edge. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE {FALL|RISe} + - TRIGger:A:LOGIc:SETHold:CLOCk:EDGE? + + **Info:** + - ``FALL`` specifies polarity as the clock falling edge. + - ``RISe`` specifies polarity as the clock rising edge. + """ + return self._edge + + @property + def level(self) -> TriggerALogicSetholdClockLevel: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel`` command. + + **Description:** + - This command sets or queries the clock voltage level for the setup and hold trigger. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and + setting the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:LEVel? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ``NR3`` is the setup and hold data level in V. + """ + return self._level + + @property + def source(self) -> TriggerALogicSetholdClockSource: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce`` command. + + **Description:** + - This command sets or queries the clock source for the A or B logic trigger setup and + hold input. This is equivalent to selecting Setup/Hold Setup from the Trig menu and + choosing the desired channel from the Clock Source drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce CH + - TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce? + + **Info:** + - ``CH`` specifies the input channel, which ranges from 1 through 4 for four-channel + instruments or 1 through 2 for two channel instruments. + """ + return self._source + + @property + def threshold(self) -> TriggerALogicSetholdClockThreshold: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold`` command. + + **Description:** + - This command sets or queries the clock voltage threshold for the setup and hold + trigger. This command is equivalent to selecting Setup/Hold Setup from the Trig menu + and setting the desired Clock Level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold {ECL|TTL|} + - TRIGger:A:LOGIc:SETHold:CLOCk:THReshold? + + **Info:** + - ``ECL`` specifies a preset ECL high level. + - ``TTL`` specifies a preset TTL high level. + - ```` is the clock level in volts. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerALogicSethold(SCPICmdRead): + """The ``TRIGger:A:LOGIc:SETHold`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input, data voltage threshold and source, and both setup and hold times for setup and hold + violation triggering. This command is equivalent to selecting Setup/Hold Setup from the + Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold? + + Properties: + - ``.clock``: The ``TRIGger:A:LOGIc:SETHold:CLOCk`` command. + - ``.data``: The ``TRIGger:A:LOGIc:SETHold:DATa`` command. + - ``.holdtime``: The ``TRIGger:A:LOGIc:SETHold:HOLDTime`` command. + - ``.qualify``: The ``TRIGger:A:LOGIc:SETHold:QUAlify`` command. + - ``.settime``: The ``TRIGger:A:LOGIc:SETHold:SETTime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = TriggerALogicSetholdClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = TriggerALogicSetholdData(device, f"{self._cmd_syntax}:DATa") + self._holdtime = TriggerALogicSetholdHoldtime(device, f"{self._cmd_syntax}:HOLDTime") + self._qualify = TriggerALogicSetholdQualify(device, f"{self._cmd_syntax}:QUAlify") + self._settime = TriggerALogicSetholdSettime(device, f"{self._cmd_syntax}:SETTime") + + @property + def clock(self) -> TriggerALogicSetholdClock: + """Return the ``TRIGger:A:LOGIc:SETHold:CLOCk`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input for setup and hold triggering. This command is equivalent to selecting + Setup/Hold Setup from the Trig menu and then viewing the current clock setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:CLOCk?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:CLOCk? + + Sub-properties: + - ``.edge``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:EDGE`` command. + - ``.level``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:LEVel`` command. + - ``.source``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:SETHold:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> TriggerALogicSetholdData: + """Return the ``TRIGger:A:LOGIc:SETHold:DATa`` command. + + **Description:** + - This query-only command returns the voltage threshold and data source for the setup + and hold trigger. This command is equivalent to selecting Setup/Hold Setup from the + Trig menu and then viewing the current data setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:DATa? + + Sub-properties: + - ``.level``: The ``TRIGger:A:LOGIc:SETHold:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:A:LOGIc:SETHold:DATa:SOUrce`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:SETHold:DATa:THReshold`` command. + """ + return self._data + + @property + def holdtime(self) -> TriggerALogicSetholdHoldtime: + """Return the ``TRIGger:A:LOGIc:SETHold:HOLDTime`` command. + + **Description:** + - This command sets or queries the hold time for setup and hold violation triggering. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Hold Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:HOLDTime?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:HOLDTime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:HOLDTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:HOLDTime + - TRIGger:A:LOGIc:SETHold:HOLDTime? + + **Info:** + - ```` specifies the hold time setting in seconds. Positive values for hold time + occur after the clock edge. Negative values occur before the clock edge. + """ + return self._holdtime + + @property + def qualify(self) -> TriggerALogicSetholdQualify: + """Return the ``TRIGger:A:LOGIc:SETHold:QUAlify`` command. + + **Description:** + - This command sets or queries the Setup/Hold Trigger qualification. This is equivalent + to selecting Setup/Hold Setup from the Trig menu and selecting Occurs, Logic, or Bus + in the Trigger If Setup/Hold drop-down list box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:QUAlify?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:QUAlify?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:QUAlify value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:QUAlify {OCCurs|LOGIc|BUS} + - TRIGger:A:LOGIc:SETHold:QUAlify? + + **Info:** + - ``OCCurs`` specifies a trigger if any detectable event occurs. + - ``LOGIc`` specifies a trigger if the individual channel qualifications meet the logic + patterns and thresholds set by the. + - ``BUS`` specifies a trigger if the bus input qualifications meet the pattern set by + the ``TRIGGER:QUALIFICATION:BUS:VALUE`` command. + """ + return self._qualify + + @property + def settime(self) -> TriggerALogicSetholdSettime: + """Return the ``TRIGger:A:LOGIc:SETHold:SETTime`` command. + + **Description:** + - This command sets or queries the setup time for setup and hold violation triggering. + This command is equivalent to selecting Setup/Hold Setup from the Trig menu and then + setting the desired Setup Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold:SETTime?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold:SETTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:SETHold:SETTime value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold:SETTime + - TRIGger:A:LOGIc:SETHold:SETTime? + + **Info:** + - ```` specifies the setup time for setup and hold violation triggering. + """ + return self._settime + + +class TriggerALogicPatternWhenMorelimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit`` command. + + **Description:** + - This command sets or queries the minimum time that the selected pattern can be true and + still generate an A or B logic pattern trigger. This command is equivalent to selecting A + or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as the Trigger Type, + selecting More Than for the Pattern in the Trigger When settings, and entering a minimum + value for Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + + +class TriggerALogicPatternWhenLesslimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` command. + + **Description:** + - This command sets or queries the maximum time that the selected pattern can be true and + still generate an A or B logic pattern trigger. This command is equivalent to selecting + the A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as the Trigger + Type, selecting Less Than for the Pattern in the Trigger When settings, and entering a + maximum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + + +class TriggerALogicPatternWhen(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic pattern trigger + with respect to the defined input pattern. This command is equivalent to selecting A or B + Event (Main) Trigger Setup from the Trig menu, selecting Pattern for Trigger Type, and + choosing a trigger condition from the Pattern drop-down list, which is located in the + Trigger When group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:A:LOGIc:PATtern:WHEn? + + **Info:** + - ``TRUe`` sets the instrument to trigger when the pattern becomes true. + - ``FALSe`` sets the instrument to trigger when the pattern becomes false. + - ``LESSThan`` sets the instrument to trigger if the specific pattern is true less than the + time set by the. + - ``MOREThan`` argument sets the instrument to trigger if the specific pattern is true + longer than the specified time set by the. + + Properties: + - ``.lesslimit``: The ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lesslimit = TriggerALogicPatternWhenLesslimit(device, f"{self._cmd_syntax}:LESSLimit") + self._morelimit = TriggerALogicPatternWhenMorelimit(device, f"{self._cmd_syntax}:MORELimit") + + @property + def lesslimit(self) -> TriggerALogicPatternWhenLesslimit: + """Return the ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` command. + + **Description:** + - This command sets or queries the maximum time that the selected pattern can be true + and still generate an A or B logic pattern trigger. This command is equivalent to + selecting the A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern + as the Trigger Type, selecting Less Than for the Pattern in the Trigger When settings, + and entering a maximum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit + - TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + return self._lesslimit + + @property + def morelimit(self) -> TriggerALogicPatternWhenMorelimit: + """Return the ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit`` command. + + **Description:** + - This command sets or queries the minimum time that the selected pattern can be true + and still generate an A or B logic pattern trigger. This command is equivalent to + selecting A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern as + the Trigger Type, selecting More Than for the Pattern in the Trigger When settings, + and entering a minimum value for Time. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit + - TRIGger:A:LOGIc:PATtern:WHEn:MORELimit? + + **Info:** + - ```` specifies the amount of time to hold the pattern true. + """ + return self._morelimit + + +class TriggerALogicPatternInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input for the specified channel. + This command specifies the logic value used when the pattern trigger detects the threshold + level. This command is equivalent to selecting Logic Pattern from the Trig menu and then + choosing the desired logical input from the channel drop-down list, which is located in + the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:PATtern:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + + +class TriggerALogicPatternInput(SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:LOGIc:PATtern:INPut:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALogicPatternInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicPatternInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALogicPatternInputChannel]: + """Return the ``TRIGger:A:LOGIc:PATtern:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input for the specified channel. + This command specifies the logic value used when the pattern trigger detects the + threshold level. This command is equivalent to selecting Logic Pattern from the Trig + menu and then choosing the desired logical input from the channel drop-down list, + which is located in the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut:CH?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:INPut:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:INPut:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:PATtern:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + return self._ch + + +class TriggerALogicPattern(SCPICmdRead): + """The ``TRIGger:A:LOGIc:PATtern`` command. + + **Description:** + - This query-only command returns the conditions used for generating an A logic pattern + trigger, with respect to the defined input pattern, and identifies the maximum and minimum + time that the selected pattern can be true and still generate the trigger. This command is + equivalent to selecting Logic Pattern from the Trig menu and then viewing the current + setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern? + + Properties: + - ``.input``: The ``TRIGger:A:LOGIc:PATtern:INPut`` command tree. + - ``.when``: The ``TRIGger:A:LOGIc:PATtern:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._input = TriggerALogicPatternInput(device, f"{self._cmd_syntax}:INPut") + self._when = TriggerALogicPatternWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def input(self) -> TriggerALogicPatternInput: + """Return the ``TRIGger:A:LOGIc:PATtern:INPut`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:INPut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOGIc:PATtern:INPut:CH`` command. + """ + return self._input + + @property + def when(self) -> TriggerALogicPatternWhen: + """Return the ``TRIGger:A:LOGIc:PATtern:WHEn`` command. + + **Description:** + - This command sets or queries the condition for generating an A or B logic pattern + trigger with respect to the defined input pattern. This command is equivalent to + selecting A or B Event (Main) Trigger Setup from the Trig menu, selecting Pattern for + Trigger Type, and choosing a trigger condition from the Pattern drop-down list, which + is located in the Trigger When group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern:WHEn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:PATtern:WHEn value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern:WHEn {TRUe|FALSe|LESSThan|MOREThan} + - TRIGger:A:LOGIc:PATtern:WHEn? + + **Info:** + - ``TRUe`` sets the instrument to trigger when the pattern becomes true. + - ``FALSe`` sets the instrument to trigger when the pattern becomes false. + - ``LESSThan`` sets the instrument to trigger if the specific pattern is true less than + the time set by the. + - ``MOREThan`` argument sets the instrument to trigger if the specific pattern is true + longer than the specified time set by the. + + Sub-properties: + - ``.lesslimit``: The ``TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:A:LOGIc:PATtern:WHEn:MORELimit`` command. + """ + return self._when + + +class TriggerALogicInputFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:INPut:FORMat`` command. + + **Description:** + - This command sets or queries the A or B logic trigger pattern format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:INPut:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:A:LOGIc:INPut:FORMat? + + **Info:** + - ``HEXadecimal`` specifies hexadecimal pattern format for A or B logic trigger. + - ``BINary`` specifies binary pattern format for A or B logic trigger. + """ + + +class TriggerALogicInputChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logical trigger input for the channel specified by + x. The value of x ranges from 1 through 3. Note that CH4 cannot be set or queried with + this command. For details about setting this channel, see . This command is equivalent to + selecting Event Trigger Setup from the Trig menu and then choosing the desired logical + input from the Ch drop-down list, which is located in the Input Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:CH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:INPut:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + + +class TriggerALogicInputAll(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:INPut:ALL`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input condition for all the + channels. The command is available when the Trigger Type is set to Pattern/State. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:ALL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:ALL?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:INPut:ALL value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:ALL + - TRIGger:A:LOGIc:INPut:ALL? + + **Info:** + - ```` specifies the bit pattern for all the channels. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerALogicInput(SCPICmdRead): + """The ``TRIGger:A:LOGIc:INPut`` command. + + **Description:** + - This query-only command returns the logic trigger input expected for Channel 1, 2, and 3. + Channel 4 is set or queried with the command . This command is equivalent to selecting + Event Trigger Setup and viewing or setting the Input Threshold for the channels. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut? + + Properties: + - ``.all``: The ``TRIGger:A:LOGIc:INPut:ALL`` command. + - ``.ch``: The ``TRIGger:A:LOGIc:INPut:CH`` command. + - ``.format``: The ``TRIGger:A:LOGIc:INPut:FORMat`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._all = TriggerALogicInputAll(device, f"{self._cmd_syntax}:ALL") + self._ch: Dict[int, TriggerALogicInputChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALogicInputChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._format = TriggerALogicInputFormat(device, f"{self._cmd_syntax}:FORMat") + + @property + def all(self) -> TriggerALogicInputAll: + """Return the ``TRIGger:A:LOGIc:INPut:ALL`` command. + + **Description:** + - This command sets or queries the A or B logic trigger input condition for all the + channels. The command is available when the Trigger Type is set to Pattern/State. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:ALL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:ALL?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:INPut:ALL value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:ALL + - TRIGger:A:LOGIc:INPut:ALL? + + **Info:** + - ```` specifies the bit pattern for all the channels. + """ + return self._all + + @property + def ch(self) -> Dict[int, TriggerALogicInputChannel]: + """Return the ``TRIGger:A:LOGIc:INPut:CH`` command. + + **Description:** + - This command sets or queries the A or B logical trigger input for the channel + specified by x. The value of x ranges from 1 through 3. Note that CH4 cannot be set or + queried with this command. For details about setting this channel, see . This command + is equivalent to selecting Event Trigger Setup from the Trig menu and then choosing + the desired logical input from the Ch drop-down list, which is located in the Input + Threshold group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:INPut:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:CH {HIGH|LOW|X} + - TRIGger:A:LOGIc:INPut:CH? + + **Info:** + - ``HIGH`` specifies the logic high. + - ``LOW`` specifies the logic low. + - ``X`` specifies a 'don't care' state. + """ + return self._ch + + @property + def format(self) -> TriggerALogicInputFormat: + """Return the ``TRIGger:A:LOGIc:INPut:FORMat`` command. + + **Description:** + - This command sets or queries the A or B logic trigger pattern format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:LOGIc:INPut:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut:FORMat {HEXadecimal|BINary} + - TRIGger:A:LOGIc:INPut:FORMat? + + **Info:** + - ``HEXadecimal`` specifies hexadecimal pattern format for A or B logic trigger. + - ``BINary`` specifies binary pattern format for A or B logic trigger. + """ + return self._format + + +class TriggerALogicFunction(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:FUNCtion`` command. + + **Description:** + - This command sets or queries the logical combination of the input channels for logic + triggers. This command is equivalent to selecting Logic for the Trigger Type, and setting + or viewing the Define Logic. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:FUNCtion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:FUNCtion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:A:LOGIc:FUNCtion? + + **Info:** + - ``AND`` specifies to trigger if all conditions are true. + - ``NANd`` specifies to trigger if any of the conditions are false. + - ``NOR`` specifies to trigger if all conditions are false. + - ``OR`` specifies to trigger if any of the conditions are true. + """ + + +class TriggerALogicClass(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LOGIc:CLAss`` command. + + **Description:** + - This command sets or queries the class of the Logic Trigger. Used with the command, this + command is equivalent to selecting Logic Pattern, Logic State, or Setup/Hold Setup from + the Trig menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:CLAss value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:A:LOGIc:CLAss? + + **Info:** + - ``PATtern`` sets the instrument to trigger when the specified logical combinations of + Channels 1, 2, 3, and 4 are met. + - ``STATE`` sets the instrument to trigger when the specified conditions of Channels 1, 2, + and 3 are met after the Channel 4 (clock) condition is met. + - ``SETHold`` sets the instrument to trigger on setup and hold violations between a data + source and a clock source. Use one channel input as the clock signal and a second channel + input as the data input. The clocking and data levels are used to determine if a clock or + data transition has occurred. + """ + + +class TriggerALogic(SCPICmdRead): + """The ``TRIGger:A:LOGIc`` command. + + **Description:** + - This query-only command returns all of the logic trigger parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc? + + Properties: + - ``.class``: The ``TRIGger:A:LOGIc:CLAss`` command. + - ``.function``: The ``TRIGger:A:LOGIc:FUNCtion`` command. + - ``.input``: The ``TRIGger:A:LOGIc:INPut`` command. + - ``.pattern``: The ``TRIGger:A:LOGIc:PATtern`` command. + - ``.sethold``: The ``TRIGger:A:LOGIc:SETHold`` command. + - ``.state``: The ``TRIGger:A:LOGIc:STATE`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._class = TriggerALogicClass(device, f"{self._cmd_syntax}:CLAss") + self._function = TriggerALogicFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._input = TriggerALogicInput(device, f"{self._cmd_syntax}:INPut") + self._pattern = TriggerALogicPattern(device, f"{self._cmd_syntax}:PATtern") + self._sethold = TriggerALogicSethold(device, f"{self._cmd_syntax}:SETHold") + self._state = TriggerALogicState(device, f"{self._cmd_syntax}:STATE") + self._threshold = TriggerALogicThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def class_(self) -> TriggerALogicClass: + """Return the ``TRIGger:A:LOGIc:CLAss`` command. + + **Description:** + - This command sets or queries the class of the Logic Trigger. Used with the command, + this command is equivalent to selecting Logic Pattern, Logic State, or Setup/Hold + Setup from the Trig menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:CLAss?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:CLAss?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:CLAss value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:CLAss {PATtern|STATE|SETHold} + - TRIGger:A:LOGIc:CLAss? + + **Info:** + - ``PATtern`` sets the instrument to trigger when the specified logical combinations of + Channels 1, 2, 3, and 4 are met. + - ``STATE`` sets the instrument to trigger when the specified conditions of Channels 1, + 2, and 3 are met after the Channel 4 (clock) condition is met. + - ``SETHold`` sets the instrument to trigger on setup and hold violations between a data + source and a clock source. Use one channel input as the clock signal and a second + channel input as the data input. The clocking and data levels are used to determine if + a clock or data transition has occurred. + """ + return self._class + + @property + def function(self) -> TriggerALogicFunction: + """Return the ``TRIGger:A:LOGIc:FUNCtion`` command. + + **Description:** + - This command sets or queries the logical combination of the input channels for logic + triggers. This command is equivalent to selecting Logic for the Trigger Type, and + setting or viewing the Define Logic. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:FUNCtion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LOGIc:FUNCtion value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - TRIGger:A:LOGIc:FUNCtion? + + **Info:** + - ``AND`` specifies to trigger if all conditions are true. + - ``NANd`` specifies to trigger if any of the conditions are false. + - ``NOR`` specifies to trigger if all conditions are false. + - ``OR`` specifies to trigger if any of the conditions are true. + """ + return self._function + + @property + def input(self) -> TriggerALogicInput: + """Return the ``TRIGger:A:LOGIc:INPut`` command. + + **Description:** + - This query-only command returns the logic trigger input expected for Channel 1, 2, and + 3. Channel 4 is set or queried with the command . This command is equivalent to + selecting Event Trigger Setup and viewing or setting the Input Threshold for the + channels. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:INPut? + + Sub-properties: + - ``.all``: The ``TRIGger:A:LOGIc:INPut:ALL`` command. + - ``.ch``: The ``TRIGger:A:LOGIc:INPut:CH`` command. + - ``.format``: The ``TRIGger:A:LOGIc:INPut:FORMat`` command. + """ + return self._input + + @property + def pattern(self) -> TriggerALogicPattern: + """Return the ``TRIGger:A:LOGIc:PATtern`` command. + + **Description:** + - This query-only command returns the conditions used for generating an A logic pattern + trigger, with respect to the defined input pattern, and identifies the maximum and + minimum time that the selected pattern can be true and still generate the trigger. + This command is equivalent to selecting Logic Pattern from the Trig menu and then + viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:PATtern? + + Sub-properties: + - ``.input``: The ``TRIGger:A:LOGIc:PATtern:INPut`` command tree. + - ``.when``: The ``TRIGger:A:LOGIc:PATtern:WHEn`` command. + """ + return self._pattern + + @property + def sethold(self) -> TriggerALogicSethold: + """Return the ``TRIGger:A:LOGIc:SETHold`` command. + + **Description:** + - This query-only command returns the clock edge polarity, voltage threshold and source + input, data voltage threshold and source, and both setup and hold times for setup and + hold violation triggering. This command is equivalent to selecting Setup/Hold Setup + from the Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:SETHold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:SETHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:SETHold? + + Sub-properties: + - ``.clock``: The ``TRIGger:A:LOGIc:SETHold:CLOCk`` command. + - ``.data``: The ``TRIGger:A:LOGIc:SETHold:DATa`` command. + - ``.holdtime``: The ``TRIGger:A:LOGIc:SETHold:HOLDTime`` command. + - ``.qualify``: The ``TRIGger:A:LOGIc:SETHold:QUAlify`` command. + - ``.settime``: The ``TRIGger:A:LOGIc:SETHold:SETTime`` command. + """ + return self._sethold + + @property + def state(self) -> TriggerALogicState: + """Return the ``TRIGger:A:LOGIc:STATE`` command. + + **Description:** + - This query-only command returns the data input and trigger criteria for the logic + trigger. This command is equivalent to selecting Logic State from the Trig menu and + then viewing the current logic state settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:STATE? + + Sub-properties: + - ``.input``: The ``TRIGger:A:LOGIc:STATE:INPut`` command tree. + - ``.when``: The ``TRIGger:A:LOGIc:STATE:WHEn`` command. + """ + return self._state + + @property + def threshold(self) -> TriggerALogicThreshold: + """Return the ``TRIGger:A:LOGIc:THReshold`` command. + + **Description:** + - This query-only command returns the threshold voltage for all channels in a logic + trigger. This command query is equivalent to selecting Event Trigger Setup from the + Trig menu, choosing a logic trigger type, such as State or Pattern, and viewing the + current Input Threshold voltage settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc:THReshold? + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOGIc:THReshold:CH`` command. + """ + return self._threshold + + +class TriggerALevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LEVel:CH`` command. + + **Description:** + - This command sets or queries the CH trigger level for + ``TRIGGER:LVLSRCPREFERENCE SRCDEPENDENT`` mode. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LEVel:CH {ECL|TTL|} + - TRIGger:A:LEVel:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerALevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LEVel`` command. + + **Description:** + - This command sets or queries the level for the trigger. This command is equivalent to + selecting Holdoff from the Trig menu and then viewing or setting the trigger Level or + selecting B Event (Delayed) Trigger Setup from the Trig menu and setting the B Trig Level + voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LEVel {ECL|TTL|} + - TRIGger:A:LEVel? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + + Properties: + - ``.ch``: The ``TRIGger:A:LEVel:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALevelChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALevelChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALevelChannel]: + """Return the ``TRIGger:A:LEVel:CH`` command. + + **Description:** + - This command sets or queries the CH trigger level for + ``TRIGGER:LVLSRCPREFERENCE SRCDEPENDENT`` mode. The CH range is 1 to 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LEVel:CH {ECL|TTL|} + - TRIGger:A:LEVel:CH? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerAI2cAddressRwinclude(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:I2C:ADDRess:RWINClude`` command. + + **Description:** + - Sets the I2C read/write bit to address type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C:ADDRess:RWINClude?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C:ADDRess:RWINClude?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:I2C:ADDRess:RWINClude value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:I2C:ADDRess:RWINClude {OFF|ON} + - TRIGger:A:I2C:ADDRess:RWINClude? + + **Info:** + - ``ON`` specifies the I2C read/write bit to address type. + - ``OFF`` specifies to stop the I2C read/write bit to address type. + """ + + +class TriggerAI2cAddress(SCPICmdRead): + """The ``TRIGger:A:I2C:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C:ADDRess?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rwinclude``: The ``TRIGger:A:I2C:ADDRess:RWINClude`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rwinclude = TriggerAI2cAddressRwinclude(device, f"{self._cmd_syntax}:RWINClude") + + @property + def rwinclude(self) -> TriggerAI2cAddressRwinclude: + """Return the ``TRIGger:A:I2C:ADDRess:RWINClude`` command. + + **Description:** + - Sets the I2C read/write bit to address type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C:ADDRess:RWINClude?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C:ADDRess:RWINClude?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:I2C:ADDRess:RWINClude value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:I2C:ADDRess:RWINClude {OFF|ON} + - TRIGger:A:I2C:ADDRess:RWINClude? + + **Info:** + - ``ON`` specifies the I2C read/write bit to address type. + - ``OFF`` specifies to stop the I2C read/write bit to address type. + """ + return self._rwinclude + + +class TriggerAI2c(SCPICmdRead): + """The ``TRIGger:A:I2C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``TRIGger:A:I2C:ADDRess`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = TriggerAI2cAddress(device, f"{self._cmd_syntax}:ADDRess") + + @property + def address(self) -> TriggerAI2cAddress: + """Return the ``TRIGger:A:I2C:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C:ADDRess?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rwinclude``: The ``TRIGger:A:I2C:ADDRess:RWINClude`` command. + """ + return self._address + + +class TriggerAHoldoffTime(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:HOLDoff:TIMe`` command. + + **Description:** + - This command sets or queries the A trigger holdoff time. This command is equivalent to + selecting Mode & Holdoff from the Trig menu, selecting Time, and then setting the desired + Holdoff Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:TIMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:HOLDoff:TIMe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:TIMe + - TRIGger:A:HOLDoff:TIMe? + + **Info:** + - ```` specifies the holdoff time in seconds. The range is from 0 seconds through 10 + seconds. + """ + + +class TriggerAHoldoffBy(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:HOLDoff:BY`` command. + + **Description:** + - This command sets or queries the type of holdoff for the A trigger. Holdoff types are + expressed as either user-specified time (TIMe) or by an internally calculated minimum time + value (DEFAult/AUTO). This command is equivalent to selecting Holdoff from the Trig menu + and then setting the Holdoff type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:BY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:BY?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:HOLDoff:BY value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:BY {TIMe|DEFAult|RANDom|AUTO} + - TRIGger:A:HOLDoff:BY? + + **Info:** + - ``TIMe`` enables you to set the holdoff time via the ``TRIGGER:A:HOLDOFF:TIME`` command. + - ``DEFAult`` automatically calculates a holdoff time to use. This time is typically + equivalent to the greater of 1/2 screen (5 divisions) of time or 250 ns. The maximum value + is 12 s. For example, if the instrument is set to 1 ms/division then the default holdoff + will be 1 ms/division x 25 divisions = 25 ms. + - ``RANDom`` + - ``AUTO`` + """ + + +class TriggerAHoldoffActual(SCPICmdRead): + """The ``TRIGger:A:HOLDoff:ACTUal`` command. + + **Description:** + - This query-only command returns the holdoff time actually used (expressed in seconds) by + the A trigger. This command is equivalent to selecting Holdoff from the Trig menu and then + viewing the current Trig Holdoff value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:ACTUal?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:ACTUal?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:ACTUal? + """ + + +class TriggerAHoldoff(SCPICmdRead): + """The ``TRIGger:A:HOLDoff`` command. + + **Description:** + - Returns the A trigger holdoff parameters. These parameters specify the time period during + which the trigger circuitry is not looking to generate a trigger event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff? + + Properties: + - ``.actual``: The ``TRIGger:A:HOLDoff:ACTUal`` command. + - ``.by``: The ``TRIGger:A:HOLDoff:BY`` command. + - ``.time``: The ``TRIGger:A:HOLDoff:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._actual = TriggerAHoldoffActual(device, f"{self._cmd_syntax}:ACTUal") + self._by = TriggerAHoldoffBy(device, f"{self._cmd_syntax}:BY") + self._time = TriggerAHoldoffTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def actual(self) -> TriggerAHoldoffActual: + """Return the ``TRIGger:A:HOLDoff:ACTUal`` command. + + **Description:** + - This query-only command returns the holdoff time actually used (expressed in seconds) + by the A trigger. This command is equivalent to selecting Holdoff from the Trig menu + and then viewing the current Trig Holdoff value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:ACTUal?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:ACTUal?`` query + and raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:ACTUal? + """ + return self._actual + + @property + def by(self) -> TriggerAHoldoffBy: + """Return the ``TRIGger:A:HOLDoff:BY`` command. + + **Description:** + - This command sets or queries the type of holdoff for the A trigger. Holdoff types are + expressed as either user-specified time (TIMe) or by an internally calculated minimum + time value (DEFAult/AUTO). This command is equivalent to selecting Holdoff from the + Trig menu and then setting the Holdoff type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:BY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:BY?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:HOLDoff:BY value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:BY {TIMe|DEFAult|RANDom|AUTO} + - TRIGger:A:HOLDoff:BY? + + **Info:** + - ``TIMe`` enables you to set the holdoff time via the ``TRIGGER:A:HOLDOFF:TIME`` + command. + - ``DEFAult`` automatically calculates a holdoff time to use. This time is typically + equivalent to the greater of 1/2 screen (5 divisions) of time or 250 ns. The maximum + value is 12 s. For example, if the instrument is set to 1 ms/division then the default + holdoff will be 1 ms/division x 25 divisions = 25 ms. + - ``RANDom`` + - ``AUTO`` + """ + return self._by + + @property + def time(self) -> TriggerAHoldoffTime: + """Return the ``TRIGger:A:HOLDoff:TIMe`` command. + + **Description:** + - This command sets or queries the A trigger holdoff time. This command is equivalent to + selecting Mode & Holdoff from the Trig menu, selecting Time, and then setting the + desired Holdoff Time. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff:TIMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:HOLDoff:TIMe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff:TIMe + - TRIGger:A:HOLDoff:TIMe? + + **Info:** + - ```` specifies the holdoff time in seconds. The range is from 0 seconds through + 10 seconds. + """ + return self._time + + +class TriggerAEdgeSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the edge trigger. This command is equivalent + to selecting Event Trigger Setup from the Trig menu and then choosing from the Source + drop-down list. When an UltraSync stack is in use, the mapped channels are used to both + acquire waveform data and to trigger the oscilloscope. In the special case of an UltraSync + stack master, additional channels are available for triggering. These are the unmapped + channels. For an ATI UltraSync Sstack master, CH2, MCH1, and MCH3 can be used for + triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, MCH3, and MCH4 are + available for triggering. The vertical min/max amplitude for these signals must be setup. + See for more details. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:A:EDGE:SOUrce? + + **Info:** + - ``AUXiliary`` specifies an external trigger using the Auxiliary Trigger Input. x can be 1, + 2, 3, or 4. + - ``CH`` specifies one input channel as the edge trigger source. + - ``MCH`` specifies an unmapped channel on an UltraSync stack master. For more details + see. + - ``LINE`` specifies AC line voltage, and is for A Trigger only. + - ``D`` specifies a digital input as the edge trigger source. x can be 0 through 15. + """ + + +class TriggerAEdgeSlope(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:SLOpe`` command. + + **Description:** + - This command sets or queries the slope for the edge trigger. This command is equivalent to + selecting Edge from the Trigger Type drop-down in the Trigger setup context menu, and then + choosing the desired Slope. This command is also equivalent to pressing the front-panel + Slope button. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SLOpe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerAEdgeCouplingChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:COUPling:CH`` command. + + **Description:** + - This command sets or queries the type of coupling for the A or B trigger for the specified + channel. This command is equivalent to selecting A or B Trigger Setup from the Trig menu + and choosing the setting from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling:CH?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:COUPling:CH value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling:CH? + + **Info:** + - ``AC`` selects AC trigger coupling. + - ``DC`` selects DC trigger coupling. + - ``HFRej`` selects high frequency low sensitivity. + - ``LFRej`` selects low frequency low sensitivity. + - ``NOISErej`` selects DC low sensitivity. + """ + + +class TriggerAEdgeCoupling(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:COUPling`` command. + + **Description:** + - This command sets or queries the type of coupling for the edge trigger. This command is + equivalent to selecting Event Trigger Setup from the Trig menu, selecting Edge Trigger, + and choosing from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:COUPling value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:A:EDGE:COUPling? + + **Info:** + - ``AC`` selects AC trigger coupling, which passes the input signals above 60 Hz to the + trigger circuitry. + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + - ``ATRIGger`` this B trigger command sets the B trigger coupling to match the setting on + the A trigger. + + Properties: + - ``.ch``: The ``TRIGger:A:EDGE:COUPling:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerAEdgeCouplingChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerAEdgeCouplingChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerAEdgeCouplingChannel]: + """Return the ``TRIGger:A:EDGE:COUPling:CH`` command. + + **Description:** + - This command sets or queries the type of coupling for the A or B trigger for the + specified channel. This command is equivalent to selecting A or B Trigger Setup from + the Trig menu and choosing the setting from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling:CH?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:EDGE:COUPling:CH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:COUPling:CH {AC|DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling:CH? + + **Info:** + - ``AC`` selects AC trigger coupling. + - ``DC`` selects DC trigger coupling. + - ``HFRej`` selects high frequency low sensitivity. + - ``LFRej`` selects low frequency low sensitivity. + - ``NOISErej`` selects DC low sensitivity. + """ + return self._ch + + +class TriggerAEdge(SCPICmdRead): + """The ``TRIGger:A:EDGE`` command. + + **Description:** + - This query-only command returns the trigger source, coupling, and slope for the specified + edge trigger. This command is equivalent to selecting Edge Setup from the Trig menu and + viewing the current setups, or selecting B Event (Delayed) Trigger Setup from the Trig + menu and viewing the current Source, Slope, and Coupling settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE? + + Properties: + - ``.coupling``: The ``TRIGger:A:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:A:EDGE:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._coupling = TriggerAEdgeCoupling(device, f"{self._cmd_syntax}:COUPling") + self._slope = TriggerAEdgeSlope(device, f"{self._cmd_syntax}:SLOpe") + self._source = TriggerAEdgeSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def coupling(self) -> TriggerAEdgeCoupling: + """Return the ``TRIGger:A:EDGE:COUPling`` command. + + **Description:** + - This command sets or queries the type of coupling for the edge trigger. This command + is equivalent to selecting Event Trigger Setup from the Trig menu, selecting Edge + Trigger, and choosing from the Coupling drop-down list. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:COUPling value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:COUPling {AC|DC|HFRej|LFRej|NOISErej|ATRIGger} + - TRIGger:A:EDGE:COUPling? + + **Info:** + - ``AC`` selects AC trigger coupling, which passes the input signals above 60 Hz to the + trigger circuitry. + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + - ``ATRIGger`` this B trigger command sets the B trigger coupling to match the setting + on the A trigger. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:EDGE:COUPling:CH`` command. + """ + return self._coupling + + @property + def slope(self) -> TriggerAEdgeSlope: + """Return the ``TRIGger:A:EDGE:SLOpe`` command. + + **Description:** + - This command sets or queries the slope for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and then choosing the desired Slope. This command is also equivalent to + pressing the front-panel Slope button. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SLOpe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._slope + + @property + def source(self) -> TriggerAEdgeSource: + """Return the ``TRIGger:A:EDGE:SOUrce`` command. + + **Description:** + - This command sets or queries the source for the edge trigger. This command is + equivalent to selecting Event Trigger Setup from the Trig menu and then choosing from + the Source drop-down list. When an UltraSync stack is in use, the mapped channels are + used to both acquire waveform data and to trigger the oscilloscope. In the special + case of an UltraSync stack master, additional channels are available for triggering. + These are the unmapped channels. For an ATI UltraSync Sstack master, CH2, MCH1, and + MCH3 can be used for triggering. For a 4-Channel UltraSync stack master, CH1, MCH2, + MCH3, and MCH4 are available for triggering. The vertical min/max amplitude for these + signals must be setup. See for more details. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE:SOUrce {AUXiliary|CH|MCH|LINE|D} + - TRIGger:A:EDGE:SOUrce? + + **Info:** + - ``AUXiliary`` specifies an external trigger using the Auxiliary Trigger Input. x can + be 1, 2, 3, or 4. + - ``CH`` specifies one input channel as the edge trigger source. + - ``MCH`` specifies an unmapped channel on an UltraSync stack master. For more + details see. + - ``LINE`` specifies AC line voltage, and is for A Trigger only. + - ``D`` specifies a digital input as the edge trigger source. x can be 0 through 15. + """ + return self._source + + +class TriggerACommunicationStandard(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:STANdard`` command. + + **Description:** + - This command sets or queries the standard that identifies the code and bit rate. The bit + rate is used to compute the Unit Interval, which is the inverse of the bit rate. The Unit + Interval influences time skew in an Eye Diagram, where you perform post processing on AMI + isolated pulses, and pulse width settings if CMI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:STANdard?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:STANdard?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:STANdard value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:STANdard {ATAG|CLOCKCoax| CLOCKSymmetrical|Custom|D|DS0Contra| DS0Double| DS0Single|DS0Timing|DS1|DS1A| DS1C|DS2| DS2RATECoax|DS2RATESymmetrical| DS3|DS4NA|E1|E2|E3|E4|ENET100|ENET1250| ENETXAUI| FC133|FC266|FC531|FC1063|FC2125|FC4250| FST|FW1394BS400B|FW1394BS1600B|HST|INF2_5G| OC1|OC3| OC12|OC48|OC48_FEC|PCIEXPRESS|RATE32Mbit| RATE97Mbit|RIO_500M|RIO_750M| RIO_1G|RIO_2G|RIO_1_5G|RIO_SERIAL_1G| RIO_SERIAL_2G|RIO_SERIAL_3G|SAS1_5|SAS3_?| SFI5_2|SFI5_3|STM0_CMI|STM0_HDBX|STM1E|STS1| STS3| TFI5_2|TFI5_3|VIDEO270|VIDEO292M|VIDEO360|VSROC192} + - TRIGger:A:COMMunication:STANdard? + """ # noqa: E501 + + +class TriggerACommunicationSourceType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:SOUrce:TYPe`` command. + + **Description:** + - This command sets or queries the source type. This command works only when the Eye Diagram + pulseform is selected. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:SOUrce:TYPe?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:SOUrce:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:SOUrce:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:SOUrce:TYPe {DATa|CLOCk|RECOVered} + - TRIGger:A:COMMunication:SOUrce:TYPe? + + **Info:** + - ``DATa`` causes the instrument to trigger and shift five unit intervals to form the + expected eye pattern. + - ``CLOCk`` causes the instrument to trigger but no shift occurs. The clock type causes + random triggers with respect to the data channel, which must be one of the other three + channels. + - ``RECOVered`` causes the instrument to trigger on the recovered clock from the data signal + attached to communication source forming an eye pattern on the source. + """ + + +class TriggerACommunicationSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:SOUrce`` command. + + **Description:** + - This command sets or queries the source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:COMMunication:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:SOUrce {CH} + - TRIGger:A:COMMunication:SOUrce? + + **Info:** + - ``CH1`` argument selects CH 1 as the source channel. + - ``CH2`` argument selects CH 2 as the source channel. + - ``CH3`` argument selects CH 3 as the source channel. + - ``CH4`` argument selects CH 4 as the source channel. + + Properties: + - ``.type``: The ``TRIGger:A:COMMunication:SOUrce:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = TriggerACommunicationSourceType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> TriggerACommunicationSourceType: + """Return the ``TRIGger:A:COMMunication:SOUrce:TYPe`` command. + + **Description:** + - This command sets or queries the source type. This command works only when the Eye + Diagram pulseform is selected. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:SOUrce:TYPe?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:SOUrce:TYPe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:SOUrce:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:SOUrce:TYPe {DATa|CLOCk|RECOVered} + - TRIGger:A:COMMunication:SOUrce:TYPe? + + **Info:** + - ``DATa`` causes the instrument to trigger and shift five unit intervals to form the + expected eye pattern. + - ``CLOCk`` causes the instrument to trigger but no shift occurs. The clock type causes + random triggers with respect to the data channel, which must be one of the other three + channels. + - ``RECOVered`` causes the instrument to trigger on the recovered clock from the data + signal attached to communication source forming an eye pattern on the source. + """ + return self._type + + +class TriggerACommunicationHdb3ThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:HDB3:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:THReshold:LOW + - TRIGger:A:COMMunication:HDB3:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + + +class TriggerACommunicationHdb3ThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + + +class TriggerACommunicationHdb3Threshold(SCPICmdRead): + """The ``TRIGger:A:COMMunication:HDB3:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:HDB3:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:HDB3:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = TriggerACommunicationHdb3ThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerACommunicationHdb3ThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> TriggerACommunicationHdb3ThresholdHigh: + """Return the ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH + - TRIGger:A:COMMunication:HDB3:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + return self._high + + @property + def low(self) -> TriggerACommunicationHdb3ThresholdLow: + """Return the ``TRIGger:A:COMMunication:HDB3:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:THReshold:LOW + - TRIGger:A:COMMunication:HDB3:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + return self._low + + +class TriggerACommunicationHdb3Pulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:HDB3:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The commands + set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:HDB3:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:HDB3:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + + +class TriggerACommunicationHdb3(SCPICmdRead): + """The ``TRIGger:A:COMMunication:HDB3`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:HDB3?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:HDB3?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:HDB3:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:HDB3:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationHdb3Pulseform( + device, f"{self._cmd_syntax}:PULSEForm" + ) + self._threshold = TriggerACommunicationHdb3Threshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def pulseform(self) -> TriggerACommunicationHdb3Pulseform: + """Return the ``TRIGger:A:COMMunication:HDB3:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The + commands set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:PULSEForm?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:HDB3:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:HDB3:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + return self._pulseform + + @property + def threshold(self) -> TriggerACommunicationHdb3Threshold: + """Return the ``TRIGger:A:COMMunication:HDB3:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:HDB3:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``TRIGger:A:COMMunication:HDB3:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:HDB3:THReshold:LOW`` command. + """ + return self._threshold + + +class TriggerACommunicationCode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:CODe`` command. + + **Description:** + - This command sets or queries the signal code that the communications trigger should expect + on the incoming signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CODe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:COMMunication:CODe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CODe {AMI|HDB3|B3ZS|B6ZS|B8ZS|CMI|NRZ|MLT3|MANChester} + - TRIGger:A:COMMunication:CODe? + + **Info:** + - ``AMI`` + - ``HDB3`` + - ``B3ZS`` + - ``B6ZS`` + - ``B8ZS`` + - ``CMI`` + - ``NRZ`` + - ``MLT3`` + - ``MANChester`` + """ + + +class TriggerACommunicationCmiPulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:CMI:PULSEForm`` command. + + **Description:** + - This command sets or queries the CMI pulse form. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CMI:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:CMI:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:CMI:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CMI:PULSEForm {PLUSOne|MINUSOne|ZERO|EYEdiagram} + - TRIGger:A:COMMunication:CMI:PULSEForm? + + **Info:** + - ``PLUSOne`` triggers on a positive mark. + - ``MINUSOne`` triggers on a negative mark. + - ``ZERO`` triggers on the bit representing zero. + - ``EYEdiagram`` positions the trigger point off screen to display the eye. + """ + + +class TriggerACommunicationCmi(SCPICmdRead): + """The ``TRIGger:A:COMMunication:CMI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CMI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CMI?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:CMI:PULSEForm`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationCmiPulseform(device, f"{self._cmd_syntax}:PULSEForm") + + @property + def pulseform(self) -> TriggerACommunicationCmiPulseform: + """Return the ``TRIGger:A:COMMunication:CMI:PULSEForm`` command. + + **Description:** + - This command sets or queries the CMI pulse form. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CMI:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:CMI:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:CMI:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CMI:PULSEForm {PLUSOne|MINUSOne|ZERO|EYEdiagram} + - TRIGger:A:COMMunication:CMI:PULSEForm? + + **Info:** + - ``PLUSOne`` triggers on a positive mark. + - ``MINUSOne`` triggers on a negative mark. + - ``ZERO`` triggers on the bit representing zero. + - ``EYEdiagram`` positions the trigger point off screen to display the eye. + """ + return self._pulseform + + +class TriggerACommunicationClockPolarity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:CLOCk:POLarity`` command. + + **Description:** + - This command sets or queries the communication clock polarity + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CLOCk:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:CLOCk:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:CLOCk:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:COMMunication:CLOCk:POLarity? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerACommunicationClock(SCPICmdRead): + """The ``TRIGger:A:COMMunication:CLOCk`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CLOCk?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.polarity``: The ``TRIGger:A:COMMunication:CLOCk:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = TriggerACommunicationClockPolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> TriggerACommunicationClockPolarity: + """Return the ``TRIGger:A:COMMunication:CLOCk:POLarity`` command. + + **Description:** + - This command sets or queries the communication clock polarity + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:CLOCk:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:CLOCk:POLarity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CLOCk:POLarity {RISe|FALL} + - TRIGger:A:COMMunication:CLOCk:POLarity? + + **Info:** + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._polarity + + +class TriggerACommunicationBitrate(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:BITRate`` command. + + **Description:** + - This command sets or queries the bit rate. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:COMMunication:BITRate value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:BITRate + - TRIGger:A:COMMunication:BITRate? + + **Info:** + - ```` is a non-negative number greater than one and expressed as bits per second. + """ + + +class TriggerACommunicationB8zsThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + + +class TriggerACommunicationB8zsThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + + +class TriggerACommunicationB8zsThreshold(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B8ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B8ZS:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = TriggerACommunicationB8zsThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerACommunicationB8zsThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> TriggerACommunicationB8zsThresholdHigh: + """Return the ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B8ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + return self._high + + @property + def low(self) -> TriggerACommunicationB8zsThresholdLow: + """Return the ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW + - TRIGger:A:COMMunication:B8ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + return self._low + + +class TriggerACommunicationB8zsPulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B8ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The commands + set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B8ZS:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B8ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + + +class TriggerACommunicationB8zs(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B8ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B8ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B8ZS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B8ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B8ZS:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationB8zsPulseform( + device, f"{self._cmd_syntax}:PULSEForm" + ) + self._threshold = TriggerACommunicationB8zsThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def pulseform(self) -> TriggerACommunicationB8zsPulseform: + """Return the ``TRIGger:A:COMMunication:B8ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The + commands set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:PULSEForm?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B8ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B8ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + return self._pulseform + + @property + def threshold(self) -> TriggerACommunicationB8zsThreshold: + """Return the ``TRIGger:A:COMMunication:B8ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B8ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``TRIGger:A:COMMunication:B8ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B8ZS:THReshold:LOW`` command. + """ + return self._threshold + + +class TriggerACommunicationB6zsThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + + +class TriggerACommunicationB6zsThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + + +class TriggerACommunicationB6zsThreshold(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B6ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B6ZS:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = TriggerACommunicationB6zsThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerACommunicationB6zsThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> TriggerACommunicationB6zsThresholdHigh: + """Return the ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B6ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + return self._high + + @property + def low(self) -> TriggerACommunicationB6zsThresholdLow: + """Return the ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW + - TRIGger:A:COMMunication:B6ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + return self._low + + +class TriggerACommunicationB6zsPulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B6ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The commands + set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B6ZS:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B6ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + + +class TriggerACommunicationB6zs(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B6ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B6ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B6ZS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B6ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B6ZS:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationB6zsPulseform( + device, f"{self._cmd_syntax}:PULSEForm" + ) + self._threshold = TriggerACommunicationB6zsThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def pulseform(self) -> TriggerACommunicationB6zsPulseform: + """Return the ``TRIGger:A:COMMunication:B6ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The + commands set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:PULSEForm?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B6ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B6ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + return self._pulseform + + @property + def threshold(self) -> TriggerACommunicationB6zsThreshold: + """Return the ``TRIGger:A:COMMunication:B6ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B6ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``TRIGger:A:COMMunication:B6ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B6ZS:THReshold:LOW`` command. + """ + return self._threshold + + +class TriggerACommunicationB3zsThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + + +class TriggerACommunicationB3zsThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + + +class TriggerACommunicationB3zsThreshold(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B3ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B3ZS:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = TriggerACommunicationB3zsThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerACommunicationB3zsThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> TriggerACommunicationB3zsThresholdHigh: + """Return the ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH + - TRIGger:A:COMMunication:B3ZS:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + return self._high + + @property + def low(self) -> TriggerACommunicationB3zsThresholdLow: + """Return the ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW + - TRIGger:A:COMMunication:B3ZS:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + return self._low + + +class TriggerACommunicationB3zsPulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:B3ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The commands + set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B3ZS:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B3ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + + +class TriggerACommunicationB3zs(SCPICmdRead): + """The ``TRIGger:A:COMMunication:B3ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B3ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B3ZS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B3ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B3ZS:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationB3zsPulseform( + device, f"{self._cmd_syntax}:PULSEForm" + ) + self._threshold = TriggerACommunicationB3zsThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def pulseform(self) -> TriggerACommunicationB3zsPulseform: + """Return the ``TRIGger:A:COMMunication:B3ZS:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The + commands set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:PULSEForm?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:B3ZS:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:B3ZS:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + return self._pulseform + + @property + def threshold(self) -> TriggerACommunicationB3zsThreshold: + """Return the ``TRIGger:A:COMMunication:B3ZS:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:B3ZS:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``TRIGger:A:COMMunication:B3ZS:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:B3ZS:THReshold:LOW`` command. + """ + return self._threshold + + +class TriggerACommunicationAmiThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:AMI:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI:THReshold:LOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:LOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:THReshold:LOW + - TRIGger:A:COMMunication:AMI:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + + +class TriggerACommunicationAmiThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:AMI:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This command + sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:THReshold:HIGH + - TRIGger:A:COMMunication:AMI:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + + +class TriggerACommunicationAmiThreshold(SCPICmdRead): + """The ``TRIGger:A:COMMunication:AMI:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``TRIGger:A:COMMunication:AMI:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:AMI:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = TriggerACommunicationAmiThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = TriggerACommunicationAmiThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> TriggerACommunicationAmiThresholdHigh: + """Return the ``TRIGger:A:COMMunication:AMI:THReshold:HIGH`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold high level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:HIGH value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:THReshold:HIGH + - TRIGger:A:COMMunication:AMI:THReshold:HIGH? + + **Info:** + - ```` is the high threshold parameter expressed in volts. + """ + return self._high + + @property + def low(self) -> TriggerACommunicationAmiThresholdLow: + """Return the ``TRIGger:A:COMMunication:AMI:THReshold:LOW`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. This + command sets or queries the threshold low level. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold:LOW value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:THReshold:LOW + - TRIGger:A:COMMunication:AMI:THReshold:LOW? + + **Info:** + - ```` specifies the high threshold parameter, expressed in volts. + """ + return self._low + + +class TriggerACommunicationAmiPulseform(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:COMMunication:AMI:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The commands + set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:AMI:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + + +class TriggerACommunicationAmi(SCPICmdRead): + """The ``TRIGger:A:COMMunication:AMI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:AMI?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:AMI:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:AMI:THReshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pulseform = TriggerACommunicationAmiPulseform(device, f"{self._cmd_syntax}:PULSEForm") + self._threshold = TriggerACommunicationAmiThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def pulseform(self) -> TriggerACommunicationAmiPulseform: + """Return the ``TRIGger:A:COMMunication:AMI:PULSEForm`` command. + + **Description:** + - This entry covers five separate commands, one each for AMI and AMI subtypes. The + commands set or query the AMI pulse form to one of three possibilities. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI:PULSEForm?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:PULSEForm?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:PULSEForm value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:AMI:PULSEForm {PLUSOne|MINUSOne| EYEdiagram} + - TRIGger:A:COMMunication:AMI:PULSEForm? + + **Info:** + - ``PLUSOne`` corresponds to the Isolated +1 on the front panel menu. + - ``MINUSOne`` corresponds to the Isolated -1 on the front panel menu. + """ + return self._pulseform + + @property + def threshold(self) -> TriggerACommunicationAmiThreshold: + """Return the ``TRIGger:A:COMMunication:AMI:THReshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:AMI:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``TRIGger:A:COMMunication:AMI:THReshold:HIGH`` command. + - ``.low``: The ``TRIGger:A:COMMunication:AMI:THReshold:LOW`` command. + """ + return self._threshold + + +# pylint: disable=too-many-instance-attributes +class TriggerACommunication(SCPICmdRead): + """The ``TRIGger:A:COMMunication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bitrate``: The ``TRIGger:A:COMMunication:BITRate`` command. + - ``.clock``: The ``TRIGger:A:COMMunication:CLOCk`` command tree. + - ``.cmi``: The ``TRIGger:A:COMMunication:CMI`` command tree. + - ``.code``: The ``TRIGger:A:COMMunication:CODe`` command. + - ``.source``: The ``TRIGger:A:COMMunication:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:COMMunication:STANdard`` command. + - ``.ami``: The ``TRIGger:A:COMMunication:AMI`` command tree. + - ``.hdb3``: The ``TRIGger:A:COMMunication:HDB3`` command tree. + - ``.b3zs``: The ``TRIGger:A:COMMunication:B3ZS`` command tree. + - ``.b6zs``: The ``TRIGger:A:COMMunication:B6ZS`` command tree. + - ``.b8zs``: The ``TRIGger:A:COMMunication:B8ZS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = TriggerACommunicationBitrate(device, f"{self._cmd_syntax}:BITRate") + self._clock = TriggerACommunicationClock(device, f"{self._cmd_syntax}:CLOCk") + self._cmi = TriggerACommunicationCmi(device, f"{self._cmd_syntax}:CMI") + self._code = TriggerACommunicationCode(device, f"{self._cmd_syntax}:CODe") + self._source = TriggerACommunicationSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = TriggerACommunicationStandard(device, f"{self._cmd_syntax}:STANdard") + self._ami = TriggerACommunicationAmi(device, f"{self._cmd_syntax}:AMI") + self._hdb3 = TriggerACommunicationHdb3(device, f"{self._cmd_syntax}:HDB3") + self._b3zs = TriggerACommunicationB3zs(device, f"{self._cmd_syntax}:B3ZS") + self._b6zs = TriggerACommunicationB6zs(device, f"{self._cmd_syntax}:B6ZS") + self._b8zs = TriggerACommunicationB8zs(device, f"{self._cmd_syntax}:B8ZS") + + @property + def bitrate(self) -> TriggerACommunicationBitrate: + """Return the ``TRIGger:A:COMMunication:BITRate`` command. + + **Description:** + - This command sets or queries the bit rate. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:BITRate?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:BITRate value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:BITRate + - TRIGger:A:COMMunication:BITRate? + + **Info:** + - ```` is a non-negative number greater than one and expressed as bits per second. + """ + return self._bitrate + + @property + def clock(self) -> TriggerACommunicationClock: + """Return the ``TRIGger:A:COMMunication:CLOCk`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CLOCk?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.polarity``: The ``TRIGger:A:COMMunication:CLOCk:POLarity`` command. + """ + return self._clock + + @property + def cmi(self) -> TriggerACommunicationCmi: + """Return the ``TRIGger:A:COMMunication:CMI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CMI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CMI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:CMI:PULSEForm`` command. + """ + return self._cmi + + @property + def code(self) -> TriggerACommunicationCode: + """Return the ``TRIGger:A:COMMunication:CODe`` command. + + **Description:** + - This command sets or queries the signal code that the communications trigger should + expect on the incoming signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:CODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:CODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:CODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:CODe {AMI|HDB3|B3ZS|B6ZS|B8ZS|CMI|NRZ|MLT3|MANChester} + - TRIGger:A:COMMunication:CODe? + + **Info:** + - ``AMI`` + - ``HDB3`` + - ``B3ZS`` + - ``B6ZS`` + - ``B8ZS`` + - ``CMI`` + - ``NRZ`` + - ``MLT3`` + - ``MANChester`` + """ + return self._code + + @property + def source(self) -> TriggerACommunicationSource: + """Return the ``TRIGger:A:COMMunication:SOUrce`` command. + + **Description:** + - This command sets or queries the source channel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:SOUrce {CH} + - TRIGger:A:COMMunication:SOUrce? + + **Info:** + - ``CH1`` argument selects CH 1 as the source channel. + - ``CH2`` argument selects CH 2 as the source channel. + - ``CH3`` argument selects CH 3 as the source channel. + - ``CH4`` argument selects CH 4 as the source channel. + + Sub-properties: + - ``.type``: The ``TRIGger:A:COMMunication:SOUrce:TYPe`` command. + """ + return self._source + + @property + def standard(self) -> TriggerACommunicationStandard: + """Return the ``TRIGger:A:COMMunication:STANdard`` command. + + **Description:** + - This command sets or queries the standard that identifies the code and bit rate. The + bit rate is used to compute the Unit Interval, which is the inverse of the bit rate. + The Unit Interval influences time skew in an Eye Diagram, where you perform post + processing on AMI isolated pulses, and pulse width settings if CMI. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:STANdard?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:COMMunication:STANdard?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:COMMunication:STANdard value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:COMMunication:STANdard {ATAG|CLOCKCoax| CLOCKSymmetrical|Custom|D|DS0Contra| DS0Double| DS0Single|DS0Timing|DS1|DS1A| DS1C|DS2| DS2RATECoax|DS2RATESymmetrical| DS3|DS4NA|E1|E2|E3|E4|ENET100|ENET1250| ENETXAUI| FC133|FC266|FC531|FC1063|FC2125|FC4250| FST|FW1394BS400B|FW1394BS1600B|HST|INF2_5G| OC1|OC3| OC12|OC48|OC48_FEC|PCIEXPRESS|RATE32Mbit| RATE97Mbit|RIO_500M|RIO_750M| RIO_1G|RIO_2G|RIO_1_5G|RIO_SERIAL_1G| RIO_SERIAL_2G|RIO_SERIAL_3G|SAS1_5|SAS3_?| SFI5_2|SFI5_3|STM0_CMI|STM0_HDBX|STM1E|STS1| STS3| TFI5_2|TFI5_3|VIDEO270|VIDEO292M|VIDEO360|VSROC192} + - TRIGger:A:COMMunication:STANdard? + """ # noqa: E501 + return self._standard + + @property + def ami(self) -> TriggerACommunicationAmi: + """Return the ``TRIGger:A:COMMunication:AMI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:AMI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:AMI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:AMI:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:AMI:THReshold`` command tree. + """ + return self._ami + + @property + def hdb3(self) -> TriggerACommunicationHdb3: + """Return the ``TRIGger:A:COMMunication:HDB3`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:HDB3?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:HDB3?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:HDB3:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:HDB3:THReshold`` command tree. + """ + return self._hdb3 + + @property + def b3zs(self) -> TriggerACommunicationB3zs: + """Return the ``TRIGger:A:COMMunication:B3ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B3ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B3ZS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B3ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B3ZS:THReshold`` command tree. + """ + return self._b3zs + + @property + def b6zs(self) -> TriggerACommunicationB6zs: + """Return the ``TRIGger:A:COMMunication:B6ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B6ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B6ZS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B6ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B6ZS:THReshold`` command tree. + """ + return self._b6zs + + @property + def b8zs(self) -> TriggerACommunicationB8zs: + """Return the ``TRIGger:A:COMMunication:B8ZS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication:B8ZS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication:B8ZS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulseform``: The ``TRIGger:A:COMMunication:B8ZS:PULSEForm`` command. + - ``.threshold``: The ``TRIGger:A:COMMunication:B8ZS:THReshold`` command tree. + """ + return self._b8zs + + +class TriggerACanSpeed(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:SPEed`` command. + + **Description:** + - CAN option only: This command sets or queries the bit rate of the CAN system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:SPEed?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:SPEed?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:SPEed value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:SPEed + - TRIGger:A:CAN:SPEed? + + **Info:** + - ```` specifies the bit rate of the CAN system. Possible values are 1M, 800K, 500K, + 250K, 125K, 100K, 83.3K, 62,5K, 50K, 33K, 20K, and 10K. + """ + + +class TriggerACanProbe(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:PROBE`` command. + + **Description:** + - CAN option only: This command sets or queries the probing method used to probe the CAN + signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:PROBE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:PROBE?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:PROBE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:PROBE {CANL|CANH|DIFFerential|TX|RX} + - TRIGger:A:CAN:PROBE? + + **Info:** + - ``CANL`` specifies that the probing method is CANL. + - ``CANH`` specifies that the probing method is CANH. + - ``DIFFerential`` specifies that the probing method used is differential. + - ``TX`` specifies that the probing method is TX. + - ``RX`` specifies that the probing method is RX. + """ + + +class TriggerACanIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:IDENTifier:VALue`` command. + + **Description:** + - CAN option only: This command sets or queries the binary address string used for the CAN + trigger if the trigger condition is ID or IDANDDATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:IDENTifier:VALue + - TRIGger:A:CAN:IDENTifier:VALue? + + **Info:** + - ```` is up to 29 bits specifying the CAN identifier value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerACanIdentifierMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:IDENTifier:MODe`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:MODe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:MODe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:IDENTifier:MODe {STANdard|EXTENded} + - TRIGger:A:CAN:IDENTifier:MODe? + + **Info:** + - ``STANdard`` sets the CAN trigger identifier mode to standard mode. + - ``EXTENded`` sets the CAN trigger identifier mode to extended mode. + """ + + +class TriggerACanIdentifier(SCPICmdRead): + """The ``TRIGger:A:CAN:IDENTifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.mode``: The ``TRIGger:A:CAN:IDENTifier:MODe`` command. + - ``.value``: The ``TRIGger:A:CAN:IDENTifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = TriggerACanIdentifierMode(device, f"{self._cmd_syntax}:MODe") + self._value = TriggerACanIdentifierValue(device, f"{self._cmd_syntax}:VALue") + + @property + def mode(self) -> TriggerACanIdentifierMode: + """Return the ``TRIGger:A:CAN:IDENTifier:MODe`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:CAN:IDENTifier:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:IDENTifier:MODe {STANdard|EXTENded} + - TRIGger:A:CAN:IDENTifier:MODe? + + **Info:** + - ``STANdard`` sets the CAN trigger identifier mode to standard mode. + - ``EXTENded`` sets the CAN trigger identifier mode to extended mode. + """ + return self._mode + + @property + def value(self) -> TriggerACanIdentifierValue: + """Return the ``TRIGger:A:CAN:IDENTifier:VALue`` command. + + **Description:** + - CAN option only: This command sets or queries the binary address string used for the + CAN trigger if the trigger condition is ID or IDANDDATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:CAN:IDENTifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:IDENTifier:VALue + - TRIGger:A:CAN:IDENTifier:VALue? + + **Info:** + - ```` is up to 29 bits specifying the CAN identifier value. + """ + return self._value + + +class TriggerACanFrametype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:FRAMEtype`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:FRAMEtype?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:FRAMEtype value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:FRAMEtype {DATA|REMote|ERROR|OVERLOAD} + - TRIGger:A:CAN:FRAMEtype? + + **Info:** + - ``DATA`` specifies a data frame type. + - ``REMote`` specifies a remote frame type. + - ``ERROR`` specifies an error frame type. + - ``OVERLOAD`` specifies an overload frame type. + """ + + +class TriggerACanFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:FORMat`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:FORMat {BINary|HEX} + - TRIGger:A:CAN:FORMat? + + **Info:** + - ``BINary`` specifies binary as the CAN data format. + - ``HEX`` specifies hexadecimal as the CAN data format. + """ + + +class TriggerACanDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:DATa:VALue`` command. + + **Description:** + - CAN option only: This command sets or quires the binary data string used for CAN Trigger + if the trigger condition is ID or IDANDDATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:VALue + - TRIGger:A:CAN:DATa:VALue? + + **Info:** + - ```` is up to 32 bits specifying the CAN data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerACanDataSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:DATa:SOUrce`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:SOUrce CH + - TRIGger:A:CAN:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the source for the CAN trigger. x can be 1, 2, 3, or 4. + """ + + +class TriggerACanDataLevel(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:DATa:LEVel`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN Trigger threshold for the CAN data + source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:LEVel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:LEVel + - TRIGger:A:CAN:DATa:LEVel? + + **Info:** + - ```` specifies the CAN trigger data level. The level can be ±12.0 divisions. + """ + + +class TriggerACanDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:DATa:DIRection`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger condition to be valid on a + READ, WRITE, or either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:DIRection?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:DIRection value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - TRIGger:A:CAN:DATa:DIRection? + + **Info:** + - ``READ`` sets the CAN data direction to Read. + - ``WRITE`` sets the CAN data direction to Write. + - ``NOCARE`` sets the CAN data direction to either. + """ + + +class TriggerACanData(SCPICmdRead): + """The ``TRIGger:A:CAN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.direction``: The ``TRIGger:A:CAN:DATa:DIRection`` command. + - ``.level``: The ``TRIGger:A:CAN:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:A:CAN:DATa:SOUrce`` command. + - ``.value``: The ``TRIGger:A:CAN:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = TriggerACanDataDirection(device, f"{self._cmd_syntax}:DIRection") + self._level = TriggerACanDataLevel(device, f"{self._cmd_syntax}:LEVel") + self._source = TriggerACanDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._value = TriggerACanDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> TriggerACanDataDirection: + """Return the ``TRIGger:A:CAN:DATa:DIRection`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger condition to be valid on + a READ, WRITE, or either. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:CAN:DATa:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - TRIGger:A:CAN:DATa:DIRection? + + **Info:** + - ``READ`` sets the CAN data direction to Read. + - ``WRITE`` sets the CAN data direction to Write. + - ``NOCARE`` sets the CAN data direction to either. + """ + return self._direction + + @property + def level(self) -> TriggerACanDataLevel: + """Return the ``TRIGger:A:CAN:DATa:LEVel`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN Trigger threshold for the CAN + data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:LEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:LEVel value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:LEVel + - TRIGger:A:CAN:DATa:LEVel? + + **Info:** + - ```` specifies the CAN trigger data level. The level can be ±12.0 divisions. + """ + return self._level + + @property + def source(self) -> TriggerACanDataSource: + """Return the ``TRIGger:A:CAN:DATa:SOUrce`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN data source. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:SOUrce CH + - TRIGger:A:CAN:DATa:SOUrce? + + **Info:** + - ``CH`` specifies the source for the CAN trigger. x can be 1, 2, 3, or 4. + """ + return self._source + + @property + def value(self) -> TriggerACanDataValue: + """Return the ``TRIGger:A:CAN:DATa:VALue`` command. + + **Description:** + - CAN option only: This command sets or quires the binary data string used for CAN + Trigger if the trigger condition is ID or IDANDDATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:DATa:VALue + - TRIGger:A:CAN:DATa:VALue? + + **Info:** + - ```` is up to 32 bits specifying the CAN data value. + """ + return self._value + + +class TriggerACanCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:CAN:CONDition`` command. + + **Description:** + - CAN option only: This command sets or returns the CAN condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:CONDition?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:CONDition {SOF|FRAMEtype|IDENTifier|DATA|IDANDDATA|EOF|ACKMISS} + - TRIGger:A:CAN:CONDition? + + **Info:** + - ``SOF`` enables triggering on the start of frame. + - ``FRAMEtype`` enables triggering on the type of frame. + - ``IDENTifier`` enables triggering on a matching identifier. + - ``DATA`` enables triggering on matching data. + - ``IDANDDATA`` enables triggering on a matching identifier and matching data. + - ``EOF`` enables triggering on the end of frame. + - ``ACKMISS`` enables triggering on a missing acknowledge. + - ``ERROR`` enables triggering on an error within a frame. + """ + + +class TriggerACan(SCPICmdRead): + """The ``TRIGger:A:CAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:CAN:CONDition`` command. + - ``.data``: The ``TRIGger:A:CAN:DATa`` command tree. + - ``.format``: The ``TRIGger:A:CAN:FORMat`` command. + - ``.frametype``: The ``TRIGger:A:CAN:FRAMEtype`` command. + - ``.identifier``: The ``TRIGger:A:CAN:IDENTifier`` command tree. + - ``.probe``: The ``TRIGger:A:CAN:PROBE`` command. + - ``.speed``: The ``TRIGger:A:CAN:SPEed`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerACanCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerACanData(device, f"{self._cmd_syntax}:DATa") + self._format = TriggerACanFormat(device, f"{self._cmd_syntax}:FORMat") + self._frametype = TriggerACanFrametype(device, f"{self._cmd_syntax}:FRAMEtype") + self._identifier = TriggerACanIdentifier(device, f"{self._cmd_syntax}:IDENTifier") + self._probe = TriggerACanProbe(device, f"{self._cmd_syntax}:PROBE") + self._speed = TriggerACanSpeed(device, f"{self._cmd_syntax}:SPEed") + + @property + def condition(self) -> TriggerACanCondition: + """Return the ``TRIGger:A:CAN:CONDition`` command. + + **Description:** + - CAN option only: This command sets or returns the CAN condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:CONDition {SOF|FRAMEtype|IDENTifier|DATA|IDANDDATA|EOF|ACKMISS} + - TRIGger:A:CAN:CONDition? + + **Info:** + - ``SOF`` enables triggering on the start of frame. + - ``FRAMEtype`` enables triggering on the type of frame. + - ``IDENTifier`` enables triggering on a matching identifier. + - ``DATA`` enables triggering on matching data. + - ``IDANDDATA`` enables triggering on a matching identifier and matching data. + - ``EOF`` enables triggering on the end of frame. + - ``ACKMISS`` enables triggering on a missing acknowledge. + - ``ERROR`` enables triggering on an error within a frame. + """ + return self._condition + + @property + def data(self) -> TriggerACanData: + """Return the ``TRIGger:A:CAN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``TRIGger:A:CAN:DATa:DIRection`` command. + - ``.level``: The ``TRIGger:A:CAN:DATa:LEVel`` command. + - ``.source``: The ``TRIGger:A:CAN:DATa:SOUrce`` command. + - ``.value``: The ``TRIGger:A:CAN:DATa:VALue`` command. + """ + return self._data + + @property + def format(self) -> TriggerACanFormat: + """Return the ``TRIGger:A:CAN:FORMat`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:FORMat {BINary|HEX} + - TRIGger:A:CAN:FORMat? + + **Info:** + - ``BINary`` specifies binary as the CAN data format. + - ``HEX`` specifies hexadecimal as the CAN data format. + """ + return self._format + + @property + def frametype(self) -> TriggerACanFrametype: + """Return the ``TRIGger:A:CAN:FRAMEtype`` command. + + **Description:** + - CAN option only: This command sets or queries the CAN trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:FRAMEtype?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:FRAMEtype value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:FRAMEtype {DATA|REMote|ERROR|OVERLOAD} + - TRIGger:A:CAN:FRAMEtype? + + **Info:** + - ``DATA`` specifies a data frame type. + - ``REMote`` specifies a remote frame type. + - ``ERROR`` specifies an error frame type. + - ``OVERLOAD`` specifies an overload frame type. + """ + return self._frametype + + @property + def identifier(self) -> TriggerACanIdentifier: + """Return the ``TRIGger:A:CAN:IDENTifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:IDENTifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:IDENTifier?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``TRIGger:A:CAN:IDENTifier:MODe`` command. + - ``.value``: The ``TRIGger:A:CAN:IDENTifier:VALue`` command. + """ + return self._identifier + + @property + def probe(self) -> TriggerACanProbe: + """Return the ``TRIGger:A:CAN:PROBE`` command. + + **Description:** + - CAN option only: This command sets or queries the probing method used to probe the CAN + signal. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:PROBE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:PROBE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:PROBE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:PROBE {CANL|CANH|DIFFerential|TX|RX} + - TRIGger:A:CAN:PROBE? + + **Info:** + - ``CANL`` specifies that the probing method is CANL. + - ``CANH`` specifies that the probing method is CANH. + - ``DIFFerential`` specifies that the probing method used is differential. + - ``TX`` specifies that the probing method is TX. + - ``RX`` specifies that the probing method is RX. + """ + return self._probe + + @property + def speed(self) -> TriggerACanSpeed: + """Return the ``TRIGger:A:CAN:SPEed`` command. + + **Description:** + - CAN option only: This command sets or queries the bit rate of the CAN system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN:SPEed?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN:SPEed?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:CAN:SPEed value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:CAN:SPEed + - TRIGger:A:CAN:SPEed? + + **Info:** + - ```` specifies the bit rate of the CAN system. Possible values are 1M, 800K, + 500K, 250K, 125K, 100K, 83.3K, 62,5K, 50K, 33K, 20K, and 10K. + """ + return self._speed + + +class TriggerABusUsbTokentype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:TOKENType`` command. + + **Description:** + - This command sets or queries the Token Type when USB Trigger condition is set to Token + (Address) Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:TOKENType?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:TOKENType value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SOF|SETUP} + - TRIGger:A:BUS:USB:TOKENType? + + **Info:** + - ``ANY`` specifies ANY (XX01) token type. + - ``IN`` specifies IN (1001) token type. + - ``OUT`` specifies OUT (0001) token type. + - ``SOF`` specifies SOF (0101) token type. + - ``SETUP`` specifies SETUP (1101) token type. + """ + + +class TriggerABusUsbSplitSeValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + + **Description:** + - This command sets or queries the Start/End value for the USB bus trigger on split token + field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set to Special + Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SE:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:SE:VALue {DONTCare|FULLSPeed|LOWSPeed|ISOMID|ISOEND|ISOSTART|ISOALL} + - TRIGger:A:BUS:USB:SPLIT:SE:VALue? + + **Info:** + - ``DONTCARE`` specifies the Start/End bit value as don't care (X). + - ``FULLSPeed`` specifies the Start/End bit value as Control/Bulk/Interrupt Full Speed + device (0X). + - ``LOWSPeed`` specifies the Start/End bit value as Control/Bulk/Interrupt Low Speed device + (1X). + - ``ISOMID`` specifies the Start/End bit value as Isochronous Data is Middle (00). + - ``ISOEND`` specifies the Start/End bit value as Isochronous Data is End (01). + - ``ISOSTART`` specifies the Start/End bit value as Isochronous Data is Start (10). + - ``ISOALL`` specifies the Start/End bit value as Isochronous Data is All (11). + """ # noqa: E501 + + +class TriggerABusUsbSplitSe(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = TriggerABusUsbSplitSeValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> TriggerABusUsbSplitSeValue: + """Return the ``TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + + **Description:** + - This command sets or queries the Start/End value for the USB bus trigger on split + token field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set + to Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SE:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:SE:VALue {DONTCare|FULLSPeed|LOWSPeed|ISOMID|ISOEND|ISOSTART|ISOALL} + - TRIGger:A:BUS:USB:SPLIT:SE:VALue? + + **Info:** + - ``DONTCARE`` specifies the Start/End bit value as don't care (X). + - ``FULLSPeed`` specifies the Start/End bit value as Control/Bulk/Interrupt Full Speed + device (0X). + - ``LOWSPeed`` specifies the Start/End bit value as Control/Bulk/Interrupt Low Speed + device (1X). + - ``ISOMID`` specifies the Start/End bit value as Isochronous Data is Middle (00). + - ``ISOEND`` specifies the Start/End bit value as Isochronous Data is End (01). + - ``ISOSTART`` specifies the Start/End bit value as Isochronous Data is Start (10). + - ``ISOALL`` specifies the Start/End bit value as Isochronous Data is All (11). + """ # noqa: E501 + return self._value + + +class TriggerABusUsbSplitScValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + + **Description:** + - This command sets or queries the Start/Complete value for the USB bus trigger on split + token field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set to + Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SC:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|SSPLIT|DONTcare} + - TRIGger:A:BUS:USB:SPLIT:SC:VALue? + + **Info:** + - ``DONTcare`` specifies the Start/Complete value as don't care (X). + - ``SSPLIT`` specifies the Start/Complete value as Start (SSPLIT) (0). + - ``CSPLIT`` specifies the Start/Complete value as Complete (CSPLIT)(1). + """ + + +class TriggerABusUsbSplitSc(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = TriggerABusUsbSplitScValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> TriggerABusUsbSplitScValue: + """Return the ``TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + + **Description:** + - This command sets or queries the Start/Complete value for the USB bus trigger on split + token field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set + to Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:SC:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|SSPLIT|DONTcare} + - TRIGger:A:BUS:USB:SPLIT:SC:VALue? + + **Info:** + - ``DONTcare`` specifies the Start/Complete value as don't care (X). + - ``SSPLIT`` specifies the Start/Complete value as Start (SSPLIT) (0). + - ``CSPLIT`` specifies the Start/Complete value as Complete (CSPLIT)(1). + """ + return self._value + + +class TriggerABusUsbSplitPortValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + + **Description:** + - This command sets or queries the port address for the USB bus trigger on split token + field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set to Special + Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + + **Info:** + - ```` specifies the port address in the specified valid format. + """ + + +class TriggerABusUsbSplitPortFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat`` command. + + **Description:** + - This command sets the port address format for the USB bus trigger on split token field. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat? + + **Info:** + - ``BINary`` sets the port address format to Binary. + - ``HEXadecimal`` sets the port address format to Hexadecimal. + """ + + +class TriggerABusUsbSplitPort(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbSplitPortFormat(device, f"{self._cmd_syntax}:FORMat") + self._value = TriggerABusUsbSplitPortValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusUsbSplitPortFormat: + """Return the ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat`` command. + + **Description:** + - This command sets the port address format for the USB bus trigger on split token + field. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:PORT:FORMat? + + **Info:** + - ``BINary`` sets the port address format to Binary. + - ``HEXadecimal`` sets the port address format to Hexadecimal. + """ + return self._format + + @property + def value(self) -> TriggerABusUsbSplitPortValue: + """Return the ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + + **Description:** + - This command sets or queries the port address for the USB bus trigger on split token + field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set to + Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + + **Info:** + - ```` specifies the port address in the specified valid format. + """ + return self._value + + +class TriggerABusUsbSplitHubValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + + **Description:** + - This command sets or queries the hub address of the USB bus trigger on split token field. + The USB Speed is set to High (480 Mbps) and the Trigger condition is set to Special + Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + + **Info:** + - ```` specifies the hub address in the specified valid format. + """ + + +class TriggerABusUsbSplitHubFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat`` command. + + **Description:** + - This command sets or queries the format for the hub address of the USB bus trigger on + split token field. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat? + + **Info:** + - ``BINary`` specifies hub address format as Binary. + - ``HEXadecimal`` specifies hub address format as Hexadecimal. + """ + + +class TriggerABusUsbSplitHub(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbSplitHubFormat(device, f"{self._cmd_syntax}:FORMat") + self._value = TriggerABusUsbSplitHubValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusUsbSplitHubFormat: + """Return the ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat`` command. + + **Description:** + - This command sets or queries the format for the hub address of the USB bus trigger on + split token field. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:SPLIT:HUB:FORMat? + + **Info:** + - ``BINary`` specifies hub address format as Binary. + - ``HEXadecimal`` specifies hub address format as Hexadecimal. + """ + return self._format + + @property + def value(self) -> TriggerABusUsbSplitHubValue: + """Return the ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + + **Description:** + - This command sets or queries the hub address of the USB bus trigger on split token + field. The USB Speed is set to High (480 Mbps) and the Trigger condition is set to + Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + + **Info:** + - ```` specifies the hub address in the specified valid format. + """ + return self._value + + +class TriggerABusUsbSplitEtValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + + **Description:** + - This command sets or queries the Endpoint Type value for SPLIT token. The USB Speed is set + to High (480 Mbps) and the Trigger condition is set to Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:ET:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:ET:VALue {DONTcare|CONTRol|ISOchronous|BULK|INTERRUPT} + - TRIGger:A:BUS:USB:SPLIT:ET:VALue? + + **Info:** + - ``DONTCare`` specifies the End Point Type value as don't care (XX). + - ``CONTRol`` specifies the End Point Type value as Control (00). + - ``ISOchronous`` specifies the End Point Type value as Isochronous (01). + - ``BULK`` specifies the End Point Type value as Bulk (10). + - ``INTERRUPT`` specifies the End Point Type value as Interrupt (11). + """ + + +class TriggerABusUsbSplitEt(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = TriggerABusUsbSplitEtValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> TriggerABusUsbSplitEtValue: + """Return the ``TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + + **Description:** + - This command sets or queries the Endpoint Type value for SPLIT token. The USB Speed is + set to High (480 Mbps) and the Trigger condition is set to Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPLIT:ET:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPLIT:ET:VALue {DONTcare|CONTRol|ISOchronous|BULK|INTERRUPT} + - TRIGger:A:BUS:USB:SPLIT:ET:VALue? + + **Info:** + - ``DONTCare`` specifies the End Point Type value as don't care (XX). + - ``CONTRol`` specifies the End Point Type value as Control (00). + - ``ISOchronous`` specifies the End Point Type value as Isochronous (01). + - ``BULK`` specifies the End Point Type value as Bulk (10). + - ``INTERRUPT`` specifies the End Point Type value as Interrupt (11). + """ + return self._value + + +class TriggerABusUsbSplit(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPLIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.et``: The ``TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + - ``.hub``: The ``TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + - ``.port``: The ``TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + - ``.sc``: The ``TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + - ``.se``: The ``TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._et = TriggerABusUsbSplitEt(device, f"{self._cmd_syntax}:ET") + self._hub = TriggerABusUsbSplitHub(device, f"{self._cmd_syntax}:HUB") + self._port = TriggerABusUsbSplitPort(device, f"{self._cmd_syntax}:PORT") + self._sc = TriggerABusUsbSplitSc(device, f"{self._cmd_syntax}:SC") + self._se = TriggerABusUsbSplitSe(device, f"{self._cmd_syntax}:SE") + + @property + def et(self) -> TriggerABusUsbSplitEt: + """Return the ``TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:ET?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + """ + return self._et + + @property + def hub(self) -> TriggerABusUsbSplitHub: + """Return the ``TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:HUB?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SPLIT:HUB:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + """ + return self._hub + + @property + def port(self) -> TriggerABusUsbSplitPort: + """Return the ``TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:PORT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SPLIT:PORT:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + """ + return self._port + + @property + def sc(self) -> TriggerABusUsbSplitSc: + """Return the ``TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SC?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + """ + return self._sc + + @property + def se(self) -> TriggerABusUsbSplitSe: + """Return the ``TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT:SE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + """ + return self._se + + +class TriggerABusUsbSpecialtype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SPECIALType`` command. + + **Description:** + - This command sets or queries the PID value when USB bus Trigger on condition is set to + Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPECIALType?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:SPECIALType value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPECIALType {ANY|ERR|PING|PRE|RESERVED|SPLIT} + - TRIGger:A:BUS:USB:SPECIALType? + + **Info:** + - ``ANY`` specifies Any (XX00) PID value. + - ``ERR`` specifies ERR (1100) PID value. + - ``PING`` specifies PING (0100) PID value. + - ``PRE`` specifies PRE (1100) PID value. + - ``RESERVED`` specifies Reserved (0000) PID value. + - ``SPLIT`` specifies Split (1000) PID value. + """ + + +class TriggerABusUsbSofFramenumber(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SOF:FRAMENUMber`` command. + + **Description:** + - This command sets frame number for the USB bus trigger when the condition is Start of + Frame (SOF). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF:FRAMENUMber?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SOF:FRAMENUMber?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SOF:FRAMENUMber value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SOF:FRAMENUMber + - TRIGger:A:BUS:USB:SOF:FRAMENUMber? + + **Info:** + - ```` specifies the frame number for the SOF in the specified valid format. + """ + + +class TriggerABusUsbSofFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SOF:FORMat`` command. + + **Description:** + - This command sets or queries the format for the Start of Frame frame number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SOF:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:SOF:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SOF:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:SOF:FORMat? + + **Info:** + - ``BINary`` specifies the Start of Frame frame number format as Binary. + - ``HEXadecimal`` specifies the Start of Frame frame number format as Hexadecimal. + - ``SYMBolic`` specifies the Start of Frame frame number format as Symbolic. + """ + + +class TriggerABusUsbSof(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:SOF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SOF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SOF:FORMat`` command. + - ``.framenumber``: The ``TRIGger:A:BUS:USB:SOF:FRAMENUMber`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbSofFormat(device, f"{self._cmd_syntax}:FORMat") + self._framenumber = TriggerABusUsbSofFramenumber(device, f"{self._cmd_syntax}:FRAMENUMber") + + @property + def format(self) -> TriggerABusUsbSofFormat: + """Return the ``TRIGger:A:BUS:USB:SOF:FORMat`` command. + + **Description:** + - This command sets or queries the format for the Start of Frame frame number. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SOF:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SOF:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SOF:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:SOF:FORMat? + + **Info:** + - ``BINary`` specifies the Start of Frame frame number format as Binary. + - ``HEXadecimal`` specifies the Start of Frame frame number format as Hexadecimal. + - ``SYMBolic`` specifies the Start of Frame frame number format as Symbolic. + """ + return self._format + + @property + def framenumber(self) -> TriggerABusUsbSofFramenumber: + """Return the ``TRIGger:A:BUS:USB:SOF:FRAMENUMber`` command. + + **Description:** + - This command sets frame number for the USB bus trigger when the condition is Start of + Frame (SOF). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF:FRAMENUMber?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:SOF:FRAMENUMber?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SOF:FRAMENUMber value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SOF:FRAMENUMber + - TRIGger:A:BUS:USB:SOF:FRAMENUMber? + + **Info:** + - ```` specifies the frame number for the SOF in the specified valid format. + """ + return self._framenumber + + +class TriggerABusUsbQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:QUAlifier`` command. + + **Description:** + - This command sets or queries the USB bus trigger qualifier for address, endpoint, and + data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:QUAlifier?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:QUAlifier value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:QUAlifier {EQUal|INrange|LESSEQual|MOREEQual|OUTrange|UNEQual| LESSThan|MOREThan} + - TRIGger:A:BUS:USB:QUAlifier? + + **Info:** + - ``EQUal`` specifies = trigger qualifier. + - ``INrange`` specifies Inside Range trigger qualifier. + - ``LESSEQual`` specifies <= trigger qualifier. + - ``MOREEQual`` specifies >= trigger qualifier. + - ``OUTrange`` specifies = trigger qualifier. + - ``UNEQual`` specifies != trigger qualifier. + - ``LESSThan`` specifies < trigger qualifier. + - ``MOREThan`` specifies > trigger qualifier. + """ # noqa: E501 + + +class TriggerABusUsbPatternSymbolPlusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the specified character bit pattern (positive disparity) when the Trigger + Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS? + + **Info:** + - ```` is the specified character bit pattern. + """ + + +class TriggerABusUsbPatternSymbolMinusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the specified character bit pattern (negative disparity) when the Trigger + Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus? + + **Info:** + - ```` is the specified character bit pattern. + """ + + +class TriggerABusUsbPatternSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:SYMbol?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:PATtern:SYMbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus: Dict[int, TriggerABusUsbPatternSymbolMinusItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusUsbPatternSymbolMinusItem(device, f"{self._cmd_syntax}:MINus{x}") + ) + self._plus: Dict[int, TriggerABusUsbPatternSymbolPlusItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusUsbPatternSymbolPlusItem(device, f"{self._cmd_syntax}:PLUS{x}") + ) + + @property + def minus(self) -> Dict[int, TriggerABusUsbPatternSymbolMinusItem]: + """Return the ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the specified character bit pattern (negative disparity) when the + Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus + - TRIGger:A:BUS:USB:PATtern:SYMbol:MINus? + + **Info:** + - ```` is the specified character bit pattern. + """ + return self._minus + + @property + def plus(self) -> Dict[int, TriggerABusUsbPatternSymbolPlusItem]: + """Return the ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the specified character bit pattern (positive disparity) when the + Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS? + + **Info:** + - ```` is the specified character bit pattern. + """ + return self._plus + + +class TriggerABusUsbPatternOrderedset(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:ORDERedset`` command. + + **Description:** + - This command sets or queries the state of triggering on an ordered set. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:ORDERedset?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:ORDERedset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:ORDERedset value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:ORDERedset {OFF|ON|0|1} + - TRIGger:A:BUS:USB:PATtern:ORDERedset? + + **Info:** + - ``OFF`` disables triggering on an ordered set. + - ``ON`` enables triggering on an ordered set. + - ``0`` disables triggering on an ordered set. + - ``1`` enables triggering on an ordered set. + """ + + +class TriggerABusUsbPatternNumsymbols(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:NUMSymbols`` command. + + **Description:** + - Sets or queries the number of symbols to trigger on when USB trigger type is in pattern + mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:NUMSymbols?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:NUMSymbols?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:NUMSymbols value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:NUMSymbols + - TRIGger:A:BUS:USB:PATtern:NUMSymbols? + """ + + +class TriggerABusUsbPatternCharItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern:CHAR`` command. + + **Description:** + - Sets or queries the specified character when the Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:CHAR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:PATtern:CHAR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:CHAR + - TRIGger:A:BUS:USB:PATtern:CHAR? + + **Info:** + - ```` is the specified character. + """ + + +class TriggerABusUsbPattern(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:PATtern?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:USB:PATtern:CHAR`` command. + - ``.numsymbols``: The ``TRIGger:A:BUS:USB:PATtern:NUMSymbols`` command. + - ``.orderedset``: The ``TRIGger:A:BUS:USB:PATtern:ORDERedset`` command. + - ``.symbol``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char: Dict[int, TriggerABusUsbPatternCharItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusUsbPatternCharItem(device, f"{self._cmd_syntax}:CHAR{x}") + ) + self._numsymbols = TriggerABusUsbPatternNumsymbols(device, f"{self._cmd_syntax}:NUMSymbols") + self._orderedset = TriggerABusUsbPatternOrderedset(device, f"{self._cmd_syntax}:ORDERedset") + self._symbol = TriggerABusUsbPatternSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> Dict[int, TriggerABusUsbPatternCharItem]: + """Return the ``TRIGger:A:BUS:USB:PATtern:CHAR`` command. + + **Description:** + - Sets or queries the specified character when the Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:CHAR + - TRIGger:A:BUS:USB:PATtern:CHAR? + + **Info:** + - ```` is the specified character. + """ + return self._char + + @property + def numsymbols(self) -> TriggerABusUsbPatternNumsymbols: + """Return the ``TRIGger:A:BUS:USB:PATtern:NUMSymbols`` command. + + **Description:** + - Sets or queries the number of symbols to trigger on when USB trigger type is in + pattern mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:NUMSymbols?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:NUMSymbols?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:NUMSymbols value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:NUMSymbols + - TRIGger:A:BUS:USB:PATtern:NUMSymbols? + """ + return self._numsymbols + + @property + def orderedset(self) -> TriggerABusUsbPatternOrderedset: + """Return the ``TRIGger:A:BUS:USB:PATtern:ORDERedset`` command. + + **Description:** + - This command sets or queries the state of triggering on an ordered set. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:ORDERedset?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:ORDERedset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:ORDERedset value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:PATtern:ORDERedset {OFF|ON|0|1} + - TRIGger:A:BUS:USB:PATtern:ORDERedset? + + **Info:** + - ``OFF`` disables triggering on an ordered set. + - ``ON`` enables triggering on an ordered set. + - ``0`` disables triggering on an ordered set. + - ``1`` enables triggering on an ordered set. + """ + return self._orderedset + + @property + def symbol(self) -> TriggerABusUsbPatternSymbol: + """Return the ``TRIGger:A:BUS:USB:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:PATtern:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusUsbHandshaketype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:HANDShaketype`` command. + + **Description:** + - This command sets or queries the handshake type when USB bus trigger on condition is set + to Handshake Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:HANDShaketype?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:HANDShaketype?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:HANDShaketype value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:HANDShaketype {ACK|ANY|NAK|NYET|STALL} + - TRIGger:A:BUS:USB:HANDShaketype? + + **Info:** + - ``ACK`` specifies the handshake type as Acknowledge (XX10). + - ``ANY`` specifies the handshake type as Any (0010). + - ``NAK`` specifies the handshake type as Negative Acknowledge (1010). + - ``NYET`` specifies the handshake type as No response Yet (0110). + - ``STALL`` specifies the handshake type as Stall (1110). + """ + + +class TriggerABusUsbFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:FORMat`` command. + + **Description:** + - Sets or queries the pattern editing format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:USB:FORMat? + + **Info:** + - ``CHAR`` indicates that the pattern editing format is set to character. + - ``SYMBOL`` indicates that the pattern editing format is set to symbol. + """ + + +class TriggerABusUsbErrtype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ERRTYPE`` command. + + **Description:** + - This command sets or queries the error type when USB bus trigger on condition is set to + Error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - TRIGger:A:BUS:USB:ERRTYPE? + + **Info:** + - ``BITSTUFFing`` specifies the error type Bit Stuffing . + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + + +class TriggerABusUsbError(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ERROR`` command. + + **Description:** + - Sets or queries whether the oscilloscope will trigger on a character error or a disparity + error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ERROR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:USB:ERROR? + + **Info:** + - ``CHARACTER`` sets the oscilloscope to trigger on a character error. + - ``DISPARITY`` sets the oscilloscope to trigger on a disparity error. + """ + + +class TriggerABusUsbEndpointValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + + **Description:** + - This command sets or queries the endpoint value for normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:VALue + - TRIGger:A:BUS:USB:ENDPoint:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + symbolic). + """ + + +class TriggerABusUsbEndpointHivalue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ENDPoint:HIVALue`` command. + + **Description:** + - This command sets or queries the endpoint value for data token to be used with in range + and out of range qualifiers. The VALue and HIVALue set a range that the INrange and + OUTrange qualifiers used to decide when to trigger. For example, if the QUALIFIER is set + to INrange, and the address is within the range set by VALue and HIVALue, then a trigger + can be generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:HIVALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:HIVALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:HIVALue + - TRIGger:A:BUS:USB:ENDPoint:HIVALue? + + **Info:** + - ```` specifies the endpoint value in the specified valid format (binary, hex, or + symbolic). + """ + + +class TriggerABusUsbEndpointFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ENDPoint:FORMat`` command. + + **Description:** + - This command sets or queries the endpoint format for data token to be used with in range + and out of range qualifiers. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:ENDPoint:FORMat? + + **Info:** + - ``BINary`` specifies the endpoint format for data token as Binary. + - ``HEXadecimal`` specifies the endpoint format for data token as Hexadecimal. + """ + + +class TriggerABusUsbEndpoint(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ENDPoint`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ENDPoint?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:ENDPoint:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:ENDPoint:HIVALue`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbEndpointFormat(device, f"{self._cmd_syntax}:FORMat") + self._hivalue = TriggerABusUsbEndpointHivalue(device, f"{self._cmd_syntax}:HIVALue") + self._value = TriggerABusUsbEndpointValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusUsbEndpointFormat: + """Return the ``TRIGger:A:BUS:USB:ENDPoint:FORMat`` command. + + **Description:** + - This command sets or queries the endpoint format for data token to be used with in + range and out of range qualifiers. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:ENDPoint:FORMat? + + **Info:** + - ``BINary`` specifies the endpoint format for data token as Binary. + - ``HEXadecimal`` specifies the endpoint format for data token as Hexadecimal. + """ + return self._format + + @property + def hivalue(self) -> TriggerABusUsbEndpointHivalue: + """Return the ``TRIGger:A:BUS:USB:ENDPoint:HIVALue`` command. + + **Description:** + - This command sets or queries the endpoint value for data token to be used with in + range and out of range qualifiers. The VALue and HIVALue set a range that the INrange + and OUTrange qualifiers used to decide when to trigger. For example, if the QUALIFIER + is set to INrange, and the address is within the range set by VALue and HIVALue, then + a trigger can be generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:HIVALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:HIVALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:HIVALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:HIVALue + - TRIGger:A:BUS:USB:ENDPoint:HIVALue? + + **Info:** + - ```` specifies the endpoint value in the specified valid format (binary, hex, + or symbolic). + """ + return self._hivalue + + @property + def value(self) -> TriggerABusUsbEndpointValue: + """Return the ``TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + + **Description:** + - This command sets or queries the endpoint value for normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ENDPoint:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ENDPoint:VALue + - TRIGger:A:BUS:USB:ENDPoint:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + symbolic). + """ + return self._value + + +class TriggerABusUsbDisparity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DISParity`` command. + + **Description:** + - Sets or queries the type of disparity that the bus will trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DISParity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DISParity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:USB:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + + +class TriggerABusUsbDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:VALue`` command. + + **Description:** + - This command sets or queries the USB bus trigger data value for data token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:VALue + - TRIGger:A:BUS:USB:DATa:VALue? + + **Info:** + - ```` specifies the data value. The valid characters are 0, 1, or X representing a + binary number. + """ + + +class TriggerABusUsbDataType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:TYPe`` command. + + **Description:** + - This command sets or queries the data packet type when USB bus trigger condition is Data + Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - TRIGger:A:BUS:USB:DATa:TYPe? + + **Info:** + - ``ANY`` specifies the data packet type to ANY. + - ``DATA0`` specifies the data packet type to DATA0. + - ``DATA1`` specifies the data packet type to DATA1. + - ``DATA2`` specifies the data packet type to DATA2. + - ``MDATA`` specifies the data packet type to MDATA. + """ + + +class TriggerABusUsbDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the number of contiguous data bytes to USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:SIZe + - TRIGger:A:BUS:USB:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + + +class TriggerABusUsbDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:OFFSet`` command. + + **Description:** + - This command sets or queries data offset for the USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:OFFSet?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:OFFSet value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:OFFSet {|DONTCare} + - TRIGger:A:BUS:USB:DATa:OFFSet? + + **Info:** + - ```` specifies the data offset in bytes. + - ``DONTCare`` specifies the data offset as Don't Care. + """ + + +class TriggerABusUsbDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:HIVALue`` command. + + **Description:** + - This command sets or queries data value for data token to be used with In Range and Out of + Range qualifiers. The Trigger on Condition is set to Data Packet. The VALue and HIVALue + set a range that the INrange and OUTrange qualifiers used to decide when to trigger. For + example, if the QUALIFER is set to INrange, and the address is within the range set by + VALue and HIVALue, then a trigger can be generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:HIVALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:HIVALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:HIVALue + - TRIGger:A:BUS:USB:DATa:HIVALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + decimal). + """ + + +class TriggerABusUsbDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the data format for the USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format for the USB bus trigger as Binary. + - ``HEXadecimal`` specifies the data format for the USB bus trigger as Hexadecimal. + """ + + +class TriggerABusUsbData(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:DATa:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:DATa:HIVALue`` command. + - ``.offset``: The ``TRIGger:A:BUS:USB:DATa:OFFSet`` command. + - ``.size``: The ``TRIGger:A:BUS:USB:DATa:SIZe`` command. + - ``.type``: The ``TRIGger:A:BUS:USB:DATa:TYPe`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._hivalue = TriggerABusUsbDataHivalue(device, f"{self._cmd_syntax}:HIVALue") + self._offset = TriggerABusUsbDataOffset(device, f"{self._cmd_syntax}:OFFSet") + self._size = TriggerABusUsbDataSize(device, f"{self._cmd_syntax}:SIZe") + self._type = TriggerABusUsbDataType(device, f"{self._cmd_syntax}:TYPe") + self._value = TriggerABusUsbDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusUsbDataFormat: + """Return the ``TRIGger:A:BUS:USB:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the data format for the USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:USB:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format for the USB bus trigger as Binary. + - ``HEXadecimal`` specifies the data format for the USB bus trigger as Hexadecimal. + """ + return self._format + + @property + def hivalue(self) -> TriggerABusUsbDataHivalue: + """Return the ``TRIGger:A:BUS:USB:DATa:HIVALue`` command. + + **Description:** + - This command sets or queries data value for data token to be used with In Range and + Out of Range qualifiers. The Trigger on Condition is set to Data Packet. The VALue and + HIVALue set a range that the INrange and OUTrange qualifiers used to decide when to + trigger. For example, if the QUALIFER is set to INrange, and the address is within the + range set by VALue and HIVALue, then a trigger can be generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:HIVALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:DATa:HIVALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:HIVALue + - TRIGger:A:BUS:USB:DATa:HIVALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + decimal). + """ + return self._hivalue + + @property + def offset(self) -> TriggerABusUsbDataOffset: + """Return the ``TRIGger:A:BUS:USB:DATa:OFFSet`` command. + + **Description:** + - This command sets or queries data offset for the USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:OFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:DATa:OFFSet value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:OFFSet {|DONTCare} + - TRIGger:A:BUS:USB:DATa:OFFSet? + + **Info:** + - ```` specifies the data offset in bytes. + - ``DONTCare`` specifies the data offset as Don't Care. + """ + return self._offset + + @property + def size(self) -> TriggerABusUsbDataSize: + """Return the ``TRIGger:A:BUS:USB:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the number of contiguous data bytes to USB bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:SIZe + - TRIGger:A:BUS:USB:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def type(self) -> TriggerABusUsbDataType: + """Return the ``TRIGger:A:BUS:USB:DATa:TYPe`` command. + + **Description:** + - This command sets or queries the data packet type when USB bus trigger condition is + Data Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - TRIGger:A:BUS:USB:DATa:TYPe? + + **Info:** + - ``ANY`` specifies the data packet type to ANY. + - ``DATA0`` specifies the data packet type to DATA0. + - ``DATA1`` specifies the data packet type to DATA1. + - ``DATA2`` specifies the data packet type to DATA2. + - ``MDATA`` specifies the data packet type to MDATA. + """ + return self._type + + @property + def value(self) -> TriggerABusUsbDataValue: + """Return the ``TRIGger:A:BUS:USB:DATa:VALue`` command. + + **Description:** + - This command sets or queries the USB bus trigger data value for data token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DATa:VALue + - TRIGger:A:BUS:USB:DATa:VALue? + + **Info:** + - ```` specifies the data value. The valid characters are 0, 1, or X + representing a binary number. + """ + return self._value + + +class TriggerABusUsbCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CONDition`` command. + + **Description:** + - This command sets or returns the condition for a USB trigger, where x is the Trigger on + condition.. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERROR|HANDSHAKEPacket|RESET|RESUME| SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - TRIGger:A:BUS:USB:CONDition? + + **Info:** + - ``DATAPacket`` sets the Trigger on condition to Data Packet. + - ``EOP`` sets the Trigger on condition to End of Packet. + - ``ERROR`` sets the Trigger on condition to Error. + - ``HANDSHAKEPacket`` sets the Trigger on condition to Handshake Packet. + - ``RESET`` sets the Trigger on condition to Reset. + - ``RESUME`` sets the Trigger on condition to Resume. + - ``SPECIALPacket`` sets the Trigger on condition to Special Packet. + - ``SUSPEND`` sets the Trigger on condition to Suspend. + - ``SYNC`` sets the Trigger on condition to Sync. + - ``TOKENPacket`` sets the Trigger on condition to Token (Address) Packet. + """ # noqa: E501 + + +class TriggerABusUsbCharacterSymbolPlus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the Character bit pattern (positive disparity view) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` is the character bit pattern. + """ + + +class TriggerABusUsbCharacterSymbolMinus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the character bit pattern (negative disparity) when the Trigger Condition + is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus? + """ + + +class TriggerABusUsbCharacterSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:SYMbol?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CHARacter:SYMbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus = TriggerABusUsbCharacterSymbolMinus(device, f"{self._cmd_syntax}:MINus") + self._plus = TriggerABusUsbCharacterSymbolPlus(device, f"{self._cmd_syntax}:PLUS") + + @property + def minus(self) -> TriggerABusUsbCharacterSymbolMinus: + """Return the ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the character bit pattern (negative disparity) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus? + """ + return self._minus + + @property + def plus(self) -> TriggerABusUsbCharacterSymbolPlus: + """Return the ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the Character bit pattern (positive disparity view) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` is the character bit pattern. + """ + return self._plus + + +class TriggerABusUsbCharacterChar(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CHARacter:CHAR`` command. + + **Description:** + - Sets or queries the USB character when the Trigger Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:CHAR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CHARacter:CHAR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:CHAR + - TRIGger:A:BUS:USB:CHARacter:CHAR? + """ + + +class TriggerABusUsbCharacter(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CHARacter?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:USB:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char = TriggerABusUsbCharacterChar(device, f"{self._cmd_syntax}:CHAR") + self._symbol = TriggerABusUsbCharacterSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> TriggerABusUsbCharacterChar: + """Return the ``TRIGger:A:BUS:USB:CHARacter:CHAR`` command. + + **Description:** + - Sets or queries the USB character when the Trigger Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CHARacter:CHAR + - TRIGger:A:BUS:USB:CHARacter:CHAR? + """ + return self._char + + @property + def symbol(self) -> TriggerABusUsbCharacterSymbol: + """Return the ``TRIGger:A:BUS:USB:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:CHARacter:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusUsbAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ADDress:VALue`` command. + + **Description:** + - This command sets or queries the address value for normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:VALue + - TRIGger:A:BUS:USB:ADDress:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + symbolic). + """ + + +class TriggerABusUsbAddressHivalue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + + **Description:** + - This command sets or queries the address value for normal token to be used with In Range + and Out of Range qualifiers. The Trigger on Condition is set to Token (Address) Packet. + The VALue and HIVALue set a range that the INrange and OUTrange qualifiers used to decide + when to trigger. For example, if the QUALIFER is set to INrange, and the address is within + the range set by VALue and HIVALue, then a trigger can be generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress:HIVALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:HIVALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:HIVALue + - TRIGger:A:BUS:USB:ADDress:HIVALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + decimal). + """ + + +class TriggerABusUsbAddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ADDress:FORMat`` command. + + **Description:** + - This command sets or queries the address format for the USB bus trigger normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:ADDress:FORMat? + + **Info:** + - ``BINary`` specifies the address format for the normal token as Binary. + - ``HEXadecimal`` specifies the address format for the normal token as Hexadecimal. + - ``SYMBolic`` specifies the address format for the normal token as Symbolic. + """ + + +class TriggerABusUsbAddress(SCPICmdRead): + """The ``TRIGger:A:BUS:USB:ADDress`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:USB:ADDress:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusUsbAddressFormat(device, f"{self._cmd_syntax}:FORMat") + self._hivalue = TriggerABusUsbAddressHivalue(device, f"{self._cmd_syntax}:HIVALue") + self._value = TriggerABusUsbAddressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusUsbAddressFormat: + """Return the ``TRIGger:A:BUS:USB:ADDress:FORMat`` command. + + **Description:** + - This command sets or queries the address format for the USB bus trigger normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:USB:ADDress:FORMat? + + **Info:** + - ``BINary`` specifies the address format for the normal token as Binary. + - ``HEXadecimal`` specifies the address format for the normal token as Hexadecimal. + - ``SYMBolic`` specifies the address format for the normal token as Symbolic. + """ + return self._format + + @property + def hivalue(self) -> TriggerABusUsbAddressHivalue: + """Return the ``TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + + **Description:** + - This command sets or queries the address value for normal token to be used with In + Range and Out of Range qualifiers. The Trigger on Condition is set to Token (Address) + Packet. The VALue and HIVALue set a range that the INrange and OUTrange qualifiers + used to decide when to trigger. For example, if the QUALIFER is set to INrange, and + the address is within the range set by VALue and HIVALue, then a trigger can be + generated. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:HIVALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:HIVALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:HIVALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:HIVALue + - TRIGger:A:BUS:USB:ADDress:HIVALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + decimal). + """ + return self._hivalue + + @property + def value(self) -> TriggerABusUsbAddressValue: + """Return the ``TRIGger:A:BUS:USB:ADDress:VALue`` command. + + **Description:** + - This command sets or queries the address value for normal token. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress:VALue?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:ADDress:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ADDress:VALue + - TRIGger:A:BUS:USB:ADDress:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format (binary, hex, or + symbolic). + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class TriggerABusUsb(SCPICmdRead): + """The ``TRIGger:A:BUS:USB`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``TRIGger:A:BUS:USB:ADDress`` command tree. + - ``.character``: The ``TRIGger:A:BUS:USB:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:USB:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:USB:DATa`` command tree. + - ``.disparity``: The ``TRIGger:A:BUS:USB:DISParity`` command. + - ``.endpoint``: The ``TRIGger:A:BUS:USB:ENDPoint`` command tree. + - ``.error``: The ``TRIGger:A:BUS:USB:ERROR`` command. + - ``.errtype``: The ``TRIGger:A:BUS:USB:ERRTYPE`` command. + - ``.format``: The ``TRIGger:A:BUS:USB:FORMat`` command. + - ``.handshaketype``: The ``TRIGger:A:BUS:USB:HANDShaketype`` command. + - ``.pattern``: The ``TRIGger:A:BUS:USB:PATtern`` command tree. + - ``.qualifier``: The ``TRIGger:A:BUS:USB:QUAlifier`` command. + - ``.sof``: The ``TRIGger:A:BUS:USB:SOF`` command tree. + - ``.specialtype``: The ``TRIGger:A:BUS:USB:SPECIALType`` command. + - ``.split``: The ``TRIGger:A:BUS:USB:SPLIT`` command tree. + - ``.tokentype``: The ``TRIGger:A:BUS:USB:TOKENType`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = TriggerABusUsbAddress(device, f"{self._cmd_syntax}:ADDress") + self._character = TriggerABusUsbCharacter(device, f"{self._cmd_syntax}:CHARacter") + self._condition = TriggerABusUsbCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusUsbData(device, f"{self._cmd_syntax}:DATa") + self._disparity = TriggerABusUsbDisparity(device, f"{self._cmd_syntax}:DISParity") + self._endpoint = TriggerABusUsbEndpoint(device, f"{self._cmd_syntax}:ENDPoint") + self._error = TriggerABusUsbError(device, f"{self._cmd_syntax}:ERROR") + self._errtype = TriggerABusUsbErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._format = TriggerABusUsbFormat(device, f"{self._cmd_syntax}:FORMat") + self._handshaketype = TriggerABusUsbHandshaketype( + device, f"{self._cmd_syntax}:HANDShaketype" + ) + self._pattern = TriggerABusUsbPattern(device, f"{self._cmd_syntax}:PATtern") + self._qualifier = TriggerABusUsbQualifier(device, f"{self._cmd_syntax}:QUAlifier") + self._sof = TriggerABusUsbSof(device, f"{self._cmd_syntax}:SOF") + self._specialtype = TriggerABusUsbSpecialtype(device, f"{self._cmd_syntax}:SPECIALType") + self._split = TriggerABusUsbSplit(device, f"{self._cmd_syntax}:SPLIT") + self._tokentype = TriggerABusUsbTokentype(device, f"{self._cmd_syntax}:TOKENType") + + @property + def address(self) -> TriggerABusUsbAddress: + """Return the ``TRIGger:A:BUS:USB:ADDress`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ADDress?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:ADDress:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:ADDress:VALue`` command. + """ + return self._address + + @property + def character(self) -> TriggerABusUsbCharacter: + """Return the ``TRIGger:A:BUS:USB:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CHARacter?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:USB:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:USB:CHARacter:SYMbol`` command tree. + """ + return self._character + + @property + def condition(self) -> TriggerABusUsbCondition: + """Return the ``TRIGger:A:BUS:USB:CONDition`` command. + + **Description:** + - This command sets or returns the condition for a USB trigger, where x is the Trigger + on condition.. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERROR|HANDSHAKEPacket|RESET|RESUME| SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - TRIGger:A:BUS:USB:CONDition? + + **Info:** + - ``DATAPacket`` sets the Trigger on condition to Data Packet. + - ``EOP`` sets the Trigger on condition to End of Packet. + - ``ERROR`` sets the Trigger on condition to Error. + - ``HANDSHAKEPacket`` sets the Trigger on condition to Handshake Packet. + - ``RESET`` sets the Trigger on condition to Reset. + - ``RESUME`` sets the Trigger on condition to Resume. + - ``SPECIALPacket`` sets the Trigger on condition to Special Packet. + - ``SUSPEND`` sets the Trigger on condition to Suspend. + - ``SYNC`` sets the Trigger on condition to Sync. + - ``TOKENPacket`` sets the Trigger on condition to Token (Address) Packet. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> TriggerABusUsbData: + """Return the ``TRIGger:A:BUS:USB:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:DATa:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:DATa:HIVALue`` command. + - ``.offset``: The ``TRIGger:A:BUS:USB:DATa:OFFSet`` command. + - ``.size``: The ``TRIGger:A:BUS:USB:DATa:SIZe`` command. + - ``.type``: The ``TRIGger:A:BUS:USB:DATa:TYPe`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:DATa:VALue`` command. + """ + return self._data + + @property + def disparity(self) -> TriggerABusUsbDisparity: + """Return the ``TRIGger:A:BUS:USB:DISParity`` command. + + **Description:** + - Sets or queries the type of disparity that the bus will trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:DISParity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:USB:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + return self._disparity + + @property + def endpoint(self) -> TriggerABusUsbEndpoint: + """Return the ``TRIGger:A:BUS:USB:ENDPoint`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ENDPoint?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:ENDPoint:FORMat`` command. + - ``.hivalue``: The ``TRIGger:A:BUS:USB:ENDPoint:HIVALue`` command. + - ``.value``: The ``TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + """ + return self._endpoint + + @property + def error(self) -> TriggerABusUsbError: + """Return the ``TRIGger:A:BUS:USB:ERROR`` command. + + **Description:** + - Sets or queries whether the oscilloscope will trigger on a character error or a + disparity error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ERROR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:USB:ERROR? + + **Info:** + - ``CHARACTER`` sets the oscilloscope to trigger on a character error. + - ``DISPARITY`` sets the oscilloscope to trigger on a disparity error. + """ + return self._error + + @property + def errtype(self) -> TriggerABusUsbErrtype: + """Return the ``TRIGger:A:BUS:USB:ERRTYPE`` command. + + **Description:** + - This command sets or queries the error type when USB bus trigger on condition is set + to Error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - TRIGger:A:BUS:USB:ERRTYPE? + + **Info:** + - ``BITSTUFFing`` specifies the error type Bit Stuffing . + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + return self._errtype + + @property + def format(self) -> TriggerABusUsbFormat: + """Return the ``TRIGger:A:BUS:USB:FORMat`` command. + + **Description:** + - Sets or queries the pattern editing format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:USB:FORMat? + + **Info:** + - ``CHAR`` indicates that the pattern editing format is set to character. + - ``SYMBOL`` indicates that the pattern editing format is set to symbol. + """ + return self._format + + @property + def handshaketype(self) -> TriggerABusUsbHandshaketype: + """Return the ``TRIGger:A:BUS:USB:HANDShaketype`` command. + + **Description:** + - This command sets or queries the handshake type when USB bus trigger on condition is + set to Handshake Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:HANDShaketype?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:HANDShaketype?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:HANDShaketype value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:HANDShaketype {ACK|ANY|NAK|NYET|STALL} + - TRIGger:A:BUS:USB:HANDShaketype? + + **Info:** + - ``ACK`` specifies the handshake type as Acknowledge (XX10). + - ``ANY`` specifies the handshake type as Any (0010). + - ``NAK`` specifies the handshake type as Negative Acknowledge (1010). + - ``NYET`` specifies the handshake type as No response Yet (0110). + - ``STALL`` specifies the handshake type as Stall (1110). + """ + return self._handshaketype + + @property + def pattern(self) -> TriggerABusUsbPattern: + """Return the ``TRIGger:A:BUS:USB:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:USB:PATtern:CHAR`` command. + - ``.numsymbols``: The ``TRIGger:A:BUS:USB:PATtern:NUMSymbols`` command. + - ``.orderedset``: The ``TRIGger:A:BUS:USB:PATtern:ORDERedset`` command. + - ``.symbol``: The ``TRIGger:A:BUS:USB:PATtern:SYMbol`` command tree. + """ + return self._pattern + + @property + def qualifier(self) -> TriggerABusUsbQualifier: + """Return the ``TRIGger:A:BUS:USB:QUAlifier`` command. + + **Description:** + - This command sets or queries the USB bus trigger qualifier for address, endpoint, and + data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:QUAlifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:QUAlifier value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:QUAlifier {EQUal|INrange|LESSEQual|MOREEQual|OUTrange|UNEQual| LESSThan|MOREThan} + - TRIGger:A:BUS:USB:QUAlifier? + + **Info:** + - ``EQUal`` specifies = trigger qualifier. + - ``INrange`` specifies Inside Range trigger qualifier. + - ``LESSEQual`` specifies <= trigger qualifier. + - ``MOREEQual`` specifies >= trigger qualifier. + - ``OUTrange`` specifies = trigger qualifier. + - ``UNEQual`` specifies != trigger qualifier. + - ``LESSThan`` specifies < trigger qualifier. + - ``MOREThan`` specifies > trigger qualifier. + """ # noqa: E501 + return self._qualifier + + @property + def sof(self) -> TriggerABusUsbSof: + """Return the ``TRIGger:A:BUS:USB:SOF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SOF?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SOF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:USB:SOF:FORMat`` command. + - ``.framenumber``: The ``TRIGger:A:BUS:USB:SOF:FRAMENUMber`` command. + """ + return self._sof + + @property + def specialtype(self) -> TriggerABusUsbSpecialtype: + """Return the ``TRIGger:A:BUS:USB:SPECIALType`` command. + + **Description:** + - This command sets or queries the PID value when USB bus Trigger on condition is set to + Special Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPECIALType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:USB:SPECIALType value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:SPECIALType {ANY|ERR|PING|PRE|RESERVED|SPLIT} + - TRIGger:A:BUS:USB:SPECIALType? + + **Info:** + - ``ANY`` specifies Any (XX00) PID value. + - ``ERR`` specifies ERR (1100) PID value. + - ``PING`` specifies PING (0100) PID value. + - ``PRE`` specifies PRE (1100) PID value. + - ``RESERVED`` specifies Reserved (0000) PID value. + - ``SPLIT`` specifies Split (1000) PID value. + """ + return self._specialtype + + @property + def split(self) -> TriggerABusUsbSplit: + """Return the ``TRIGger:A:BUS:USB:SPLIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:SPLIT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:SPLIT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.et``: The ``TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + - ``.hub``: The ``TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + - ``.port``: The ``TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + - ``.sc``: The ``TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + - ``.se``: The ``TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + """ + return self._split + + @property + def tokentype(self) -> TriggerABusUsbTokentype: + """Return the ``TRIGger:A:BUS:USB:TOKENType`` command. + + **Description:** + - This command sets or queries the Token Type when USB Trigger condition is set to Token + (Address) Packet. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB:TOKENType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:USB:TOKENType value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SOF|SETUP} + - TRIGger:A:BUS:USB:TOKENType? + + **Info:** + - ``ANY`` specifies ANY (XX01) token type. + - ``IN`` specifies IN (1001) token type. + - ``OUT`` specifies OUT (0001) token type. + - ``SOF`` specifies SOF (0101) token type. + - ``SETUP`` specifies SETUP (1101) token type. + """ + return self._tokentype + + +class TriggerABusSpiDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:SPI:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data value of the data token for an SPI trigger when the + trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:VALue + - TRIGger:A:BUS:SPI:DATa:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format. The valid characters + are 0-9, A-F, and X for hexadecimal format; and 0, 1, and X for a binary number. + """ + + +class TriggerABusSpiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:SPI:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an SPI + trigger when the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:SIZe + - TRIGger:A:BUS:SPI:DATa:SIZe? + + **Info:** + - ```` specifies the number of contiguous data bytes to trigger on. + """ + + +class TriggerABusSpiDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:SPI:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the format of the data to be used for an SPI trigger when the + trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:SPI:DATa:FORMat? + + **Info:** + - ``BINary`` specifies binary as the data format for the SPI bus. + - ``HEXadecimal`` specifies hexadecimal as the data format for the SPI bus. + """ + + +class TriggerABusSpiData(SCPICmdRead): + """The ``TRIGger:A:BUS:SPI:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:SPI:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:SPI:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:SPI:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusSpiDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._size = TriggerABusSpiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusSpiDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusSpiDataFormat: + """Return the ``TRIGger:A:BUS:SPI:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the format of the data to be used for an SPI trigger when + the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:SPI:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:SPI:DATa:FORMat? + + **Info:** + - ``BINary`` specifies binary as the data format for the SPI bus. + - ``HEXadecimal`` specifies hexadecimal as the data format for the SPI bus. + """ + return self._format + + @property + def size(self) -> TriggerABusSpiDataSize: + """Return the ``TRIGger:A:BUS:SPI:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an + SPI trigger when the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:SIZe + - TRIGger:A:BUS:SPI:DATa:SIZe? + + **Info:** + - ```` specifies the number of contiguous data bytes to trigger on. + """ + return self._size + + @property + def value(self) -> TriggerABusSpiDataValue: + """Return the ``TRIGger:A:BUS:SPI:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data value of the data token for an SPI trigger when + the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:SPI:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:DATa:VALue + - TRIGger:A:BUS:SPI:DATa:VALue? + + **Info:** + - ```` specifies the data value in the specified valid format. The valid + characters are 0-9, A-F, and X for hexadecimal format; and 0, 1, and X for a binary + number. + """ + return self._value + + +class TriggerABusSpiCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:SPI:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for the SPI bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:CONDition {DATA|SS} + - TRIGger:A:BUS:SPI:CONDition? + + **Info:** + - ``DATA`` sets the trigger condition to Master-In Slave-Out and Master-Out Slave-In. + - ``SS`` sets the trigger condition to Slave selection. + """ + + +class TriggerABusSpi(SCPICmdRead): + """The ``TRIGger:A:BUS:SPI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:BUS:SPI:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:SPI:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerABusSpiCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusSpiData(device, f"{self._cmd_syntax}:DATa") + + @property + def condition(self) -> TriggerABusSpiCondition: + """Return the ``TRIGger:A:BUS:SPI:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for the SPI bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SPI:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SPI:CONDition {DATA|SS} + - TRIGger:A:BUS:SPI:CONDition? + + **Info:** + - ``DATA`` sets the trigger condition to Master-In Slave-Out and Master-Out Slave-In. + - ``SS`` sets the trigger condition to Slave selection. + """ + return self._condition + + @property + def data(self) -> TriggerABusSpiData: + """Return the ``TRIGger:A:BUS:SPI:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:SPI:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:SPI:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:SPI:DATa:VALue`` command. + """ + return self._data + + +class TriggerABusSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:SOUrce`` command. + + **Description:** + - This command sets or returns the source for a bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SOUrce value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SOUrce {B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12| B13|B14|B15|B16} + - TRIGger:A:BUS:SOUrce? + + **Info:** + - ``B`` sets the selected source to the bus. x has a minimum of 1 and a maximum of 16. + """ + + +class TriggerABusS8b10bPatternSymbolPlusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the specified 8B10B character bit pattern (positive disparity) when the + Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS? + + **Info:** + - ```` is the character bit pattern. + """ + + +class TriggerABusS8b10bPatternSymbolMinusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the specified 8B10B character bit pattern (negative disparity) when the + Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus? + + **Info:** + - ```` is the character bit pattern. + """ + + +class TriggerABusS8b10bPatternSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus: Dict[ + int, TriggerABusS8b10bPatternSymbolMinusItem + ] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusS8b10bPatternSymbolMinusItem( + device, f"{self._cmd_syntax}:MINus{x}" + ) + ) + self._plus: Dict[int, TriggerABusS8b10bPatternSymbolPlusItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusS8b10bPatternSymbolPlusItem(device, f"{self._cmd_syntax}:PLUS{x}") + ) + + @property + def minus(self) -> Dict[int, TriggerABusS8b10bPatternSymbolMinusItem]: + """Return the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the specified 8B10B character bit pattern (negative disparity) when + the Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus? + + **Info:** + - ```` is the character bit pattern. + """ + return self._minus + + @property + def plus(self) -> Dict[int, TriggerABusS8b10bPatternSymbolPlusItem]: + """Return the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the specified 8B10B character bit pattern (positive disparity) when + the Trigger Condition is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS? + + **Info:** + - ```` is the character bit pattern. + """ + return self._plus + + +class TriggerABusS8b10bPatternCharItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:PATtern:CHAR`` command. + + **Description:** + - Sets or queries the specified 8B10B character when the Trigger Condition is set to + Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:CHAR + - TRIGger:A:BUS:S8B10B:PATtern:CHAR? + + **Info:** + - ```` is the character. + """ + + +class TriggerABusS8b10bPattern(SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:S8B10B:PATtern:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char: Dict[int, TriggerABusS8b10bPatternCharItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusS8b10bPatternCharItem(device, f"{self._cmd_syntax}:CHAR{x}") + ) + self._symbol = TriggerABusS8b10bPatternSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> Dict[int, TriggerABusS8b10bPatternCharItem]: + """Return the ``TRIGger:A:BUS:S8B10B:PATtern:CHAR`` command. + + **Description:** + - Sets or queries the specified 8B10B character when the Trigger Condition is set to + Pattern. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:PATtern:CHAR + - TRIGger:A:BUS:S8B10B:PATtern:CHAR? + + **Info:** + - ```` is the character. + """ + return self._char + + @property + def symbol(self) -> TriggerABusS8b10bPatternSymbol: + """Return the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusS8b10bFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:FORMat`` command. + + **Description:** + - Sets or queries the pattern editing format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:S8B10B:FORMat? + + **Info:** + - ``CHAR`` indicates that the pattern editing format is set to character. + - ``SYMBOL`` indicates that the pattern editing format is set to symbol. + """ + + +class TriggerABusS8b10bError(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:ERROR`` command. + + **Description:** + - Sets or queries whether the oscilloscope will trigger on a character error or a disparity + error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:S8B10B:ERROR? + + **Info:** + - ``CHARACTER`` sets the oscilloscope to trigger on a character error. + - ``DISPARITY`` sets the oscilloscope to trigger on a disparity error. + """ + + +class TriggerABusS8b10bDisparity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:DISParity`` command. + + **Description:** + - Sets or queries the type of disparity that the 8B10B bus will trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:DISParity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:S8B10B:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + + +class TriggerABusS8b10bCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CONDition`` command. + + **Description:** + - Sets or queries the trigger condition for the 8B10B bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:S8B10B:CONDition? + + **Info:** + - ``ANYControl`` + - ``CHARacter`` + - ``ERROR`` + - ``PATtern`` + """ + + +class TriggerABusS8b10bCharacterSymbolPlus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the Character bit pattern (positive disparity view) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` is the 8B10B character bit pattern. + """ + + +class TriggerABusS8b10bCharacterSymbolMinus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the 8B10B character bit pattern (negative disparity) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus? + + **Info:** + - ```` is the 8B10B character bit pattern. + """ + + +class TriggerABusS8b10bCharacterSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus = TriggerABusS8b10bCharacterSymbolMinus(device, f"{self._cmd_syntax}:MINus") + self._plus = TriggerABusS8b10bCharacterSymbolPlus(device, f"{self._cmd_syntax}:PLUS") + + @property + def minus(self) -> TriggerABusS8b10bCharacterSymbolMinus: + """Return the ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus`` command. + + **Description:** + - Sets or queries the 8B10B character bit pattern (negative disparity) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus? + + **Info:** + - ```` is the 8B10B character bit pattern. + """ + return self._minus + + @property + def plus(self) -> TriggerABusS8b10bCharacterSymbolPlus: + """Return the ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - Sets or queries the Character bit pattern (positive disparity view) when the Trigger + Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` is the 8B10B character bit pattern. + """ + return self._plus + + +class TriggerABusS8b10bCharacterChar(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR`` command. + + **Description:** + - Sets or queries the 8B10B character when the Trigger Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR? + + **Info:** + - ```` is the 8B10B character. + """ + + +class TriggerABusS8b10bCharacter(SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char = TriggerABusS8b10bCharacterChar(device, f"{self._cmd_syntax}:CHAR") + self._symbol = TriggerABusS8b10bCharacterSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> TriggerABusS8b10bCharacterChar: + """Return the ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR`` command. + + **Description:** + - Sets or queries the 8B10B character when the Trigger Condition is set to Character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR + - TRIGger:A:BUS:S8B10B:CHARacter:CHAR? + + **Info:** + - ```` is the 8B10B character. + """ + return self._char + + @property + def symbol(self) -> TriggerABusS8b10bCharacterSymbol: + """Return the ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusS8b10b(SCPICmdRead): + """The ``TRIGger:A:BUS:S8B10B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.character``: The ``TRIGger:A:BUS:S8B10B:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:S8B10B:CONDition`` command. + - ``.disparity``: The ``TRIGger:A:BUS:S8B10B:DISParity`` command. + - ``.error``: The ``TRIGger:A:BUS:S8B10B:ERROR`` command. + - ``.format``: The ``TRIGger:A:BUS:S8B10B:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:BUS:S8B10B:PATtern`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._character = TriggerABusS8b10bCharacter(device, f"{self._cmd_syntax}:CHARacter") + self._condition = TriggerABusS8b10bCondition(device, f"{self._cmd_syntax}:CONDition") + self._disparity = TriggerABusS8b10bDisparity(device, f"{self._cmd_syntax}:DISParity") + self._error = TriggerABusS8b10bError(device, f"{self._cmd_syntax}:ERROR") + self._format = TriggerABusS8b10bFormat(device, f"{self._cmd_syntax}:FORMat") + self._pattern = TriggerABusS8b10bPattern(device, f"{self._cmd_syntax}:PATtern") + + @property + def character(self) -> TriggerABusS8b10bCharacter: + """Return the ``TRIGger:A:BUS:S8B10B:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CHARacter?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:S8B10B:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:S8B10B:CHARacter:SYMbol`` command tree. + """ + return self._character + + @property + def condition(self) -> TriggerABusS8b10bCondition: + """Return the ``TRIGger:A:BUS:S8B10B:CONDition`` command. + + **Description:** + - Sets or queries the trigger condition for the 8B10B bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:S8B10B:CONDition? + + **Info:** + - ``ANYControl`` + - ``CHARacter`` + - ``ERROR`` + - ``PATtern`` + """ + return self._condition + + @property + def disparity(self) -> TriggerABusS8b10bDisparity: + """Return the ``TRIGger:A:BUS:S8B10B:DISParity`` command. + + **Description:** + - Sets or queries the type of disparity that the 8B10B bus will trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S8B10B:DISParity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:DISParity {NEGAtive|POSITIVe|EITher} + - TRIGger:A:BUS:S8B10B:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + return self._disparity + + @property + def error(self) -> TriggerABusS8b10bError: + """Return the ``TRIGger:A:BUS:S8B10B:ERROR`` command. + + **Description:** + - Sets or queries whether the oscilloscope will trigger on a character error or a + disparity error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:S8B10B:ERROR? + + **Info:** + - ``CHARACTER`` sets the oscilloscope to trigger on a character error. + - ``DISPARITY`` sets the oscilloscope to trigger on a disparity error. + """ + return self._error + + @property + def format(self) -> TriggerABusS8b10bFormat: + """Return the ``TRIGger:A:BUS:S8B10B:FORMat`` command. + + **Description:** + - Sets or queries the pattern editing format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S8B10B:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S8B10B:FORMat {CHAR|SYMbol} + - TRIGger:A:BUS:S8B10B:FORMat? + + **Info:** + - ``CHAR`` indicates that the pattern editing format is set to character. + - ``SYMBOL`` indicates that the pattern editing format is set to symbol. + """ + return self._format + + @property + def pattern(self) -> TriggerABusS8b10bPattern: + """Return the ``TRIGger:A:BUS:S8B10B:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B:PATtern?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:S8B10B:PATtern:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:S8B10B:PATtern:SYMbol`` command tree. + """ + return self._pattern + + +class TriggerABusS64b66bCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:CONDition`` command. + + **Description:** + - Set or query the S64S66B block trigger is set to 'Block' (single block) or 'Block1Then2' + (block1 pattern followed by a block2 pattern). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S64B66B:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:CONDition { BLOCK | BLOCK1THEN2 } + - TRIGger:A:BUS:S64B66B:CONDition? + + **Info:** + - ``BLOCK`` sets a single block trigger. + - ``BLOCK1THEN2`` sets the block1 pattern followed by the block2 pattern. + """ + + +class TriggerABusS64b66bBlockonethentwoPatterntwoValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue`` command. + + **Description:** + - Set or query the pattern format for the block2 pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + + +class TriggerABusS64b66bBlockonethentwoPatterntwoSync(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC`` command. + + **Description:** + - Set or query the sync value of block2. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC? + + **Info:** + - ```` is two bits wide. + """ + + +class TriggerABusS64b66bBlockonethentwoPatterntwo(SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sync = TriggerABusS64b66bBlockonethentwoPatterntwoSync( + device, f"{self._cmd_syntax}:SYNC" + ) + self._value = TriggerABusS64b66bBlockonethentwoPatterntwoValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def sync(self) -> TriggerABusS64b66bBlockonethentwoPatterntwoSync: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC`` command. + + **Description:** + - Set or query the sync value of block2. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC? + + **Info:** + - ```` is two bits wide. + """ + return self._sync + + @property + def value(self) -> TriggerABusS64b66bBlockonethentwoPatterntwoValue: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue`` command. + + **Description:** + - Set or query the pattern format for the block2 pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + return self._value + + +class TriggerABusS64b66bBlockonethentwoPatternoneValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue`` command. + + **Description:** + - Set or query the pattern format for the block1 pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + + +class TriggerABusS64b66bBlockonethentwoPatternoneSync(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC`` command. + + **Description:** + - Set or query the sync value of block1. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC? + + **Info:** + - ```` is two bits wide. + """ + + +class TriggerABusS64b66bBlockonethentwoPatternone(SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sync = TriggerABusS64b66bBlockonethentwoPatternoneSync( + device, f"{self._cmd_syntax}:SYNC" + ) + self._value = TriggerABusS64b66bBlockonethentwoPatternoneValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def sync(self) -> TriggerABusS64b66bBlockonethentwoPatternoneSync: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC`` command. + + **Description:** + - Set or query the sync value of block1. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC? + + **Info:** + - ```` is two bits wide. + """ + return self._sync + + @property + def value(self) -> TriggerABusS64b66bBlockonethentwoPatternoneValue: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue`` command. + + **Description:** + - Set or query the pattern format for the block1 pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + return self._value + + +class TriggerABusS64b66bBlockonethentwoFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat`` command. + + **Description:** + - Set or query the pattern format of Block1Then2 (block1 pattern followed by block2 + pattern). + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat? + + **Info:** + - ``Binary`` indicates the binary pattern format. + - ``HEX`` indicates the hex pattern format. + """ + + +class TriggerABusS64b66bBlockonethentwo(SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat`` command. + - ``.patternone``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne`` command tree. + - ``.patterntwo``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusS64b66bBlockonethentwoFormat(device, f"{self._cmd_syntax}:FORMat") + self._patternone = TriggerABusS64b66bBlockonethentwoPatternone( + device, f"{self._cmd_syntax}:PATTERNOne" + ) + self._patterntwo = TriggerABusS64b66bBlockonethentwoPatterntwo( + device, f"{self._cmd_syntax}:PATTERNTwo" + ) + + @property + def format(self) -> TriggerABusS64b66bBlockonethentwoFormat: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat`` command. + + **Description:** + - Set or query the pattern format of Block1Then2 (block1 pattern followed by block2 + pattern). + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat? + + **Info:** + - ``Binary`` indicates the binary pattern format. + - ``HEX`` indicates the hex pattern format. + """ + return self._format + + @property + def patternone(self) -> TriggerABusS64b66bBlockonethentwoPatternone: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne:VALue`` command. + """ + return self._patternone + + @property + def patterntwo(self) -> TriggerABusS64b66bBlockonethentwoPatterntwo: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo:VALue`` command. + """ + return self._patterntwo + + +class TriggerABusS64b66bBlockonePatternValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue`` command. + + **Description:** + - Set or query the pattern when trigger on block is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + + +class TriggerABusS64b66bBlockonePatternSync(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC`` command. + + **Description:** + - Set or query the sync value of the block. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC? + + **Info:** + - ```` is two bits wide. + """ + + +class TriggerABusS64b66bBlockonePatternFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat`` command. + + **Description:** + - Set or query the pattern format when trigger on block is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat? + + **Info:** + - ``Binary`` indicates the binary pattern format. + - ``HEX`` indicates the hex pattern format. + """ + + +class TriggerABusS64b66bBlockonePattern(SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat`` command. + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusS64b66bBlockonePatternFormat(device, f"{self._cmd_syntax}:FORMat") + self._sync = TriggerABusS64b66bBlockonePatternSync(device, f"{self._cmd_syntax}:SYNC") + self._value = TriggerABusS64b66bBlockonePatternValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusS64b66bBlockonePatternFormat: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat`` command. + + **Description:** + - Set or query the pattern format when trigger on block is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat { Binary | HEX } + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat? + + **Info:** + - ``Binary`` indicates the binary pattern format. + - ``HEX`` indicates the hex pattern format. + """ + return self._format + + @property + def sync(self) -> TriggerABusS64b66bBlockonePatternSync: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC`` command. + + **Description:** + - Set or query the sync value of the block. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC? + + **Info:** + - ```` is two bits wide. + """ + return self._sync + + @property + def value(self) -> TriggerABusS64b66bBlockonePatternValue: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue`` command. + + **Description:** + - Set or query the pattern when trigger on block is set to Pattern. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue + - TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue? + + **Info:** + - ```` is 64 bits wide. + """ + return self._value + + +class TriggerABusS64b66bBlockoneBlocktype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType`` command. + + **Description:** + - Set or query the control block type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType { NONe | X1E | X2D | X33 | X66 | X55 | X78 | X4B | X87 | X99 | XB4 | XCC | XD2 | XE1 | XFF } + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType? + + **Info:** + - ``NONe`` + - ``X1E`` + - ``X2D`` + - ``X33`` + - ``X66`` + - ``X55`` + - ``X78`` + - ``X4B`` + - ``X87`` + - ``X99`` + - ``XB4`` + - ``XCC`` + - ``XD2`` + - ``XE1`` + - ``XFF`` + """ # noqa: E501 + + +class TriggerABusS64b66bBlockone(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B:BLOCKONE`` command. + + **Description:** + - Set or query the S64B66B block trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE { SYNC | INVSYNC | BLOCKtype | PATtern } + - TRIGger:A:BUS:S64B66B:BLOCKONE? + + **Info:** + - ``SYNC`` + - ``INVSYNC`` + - ``BLOCKtype`` + - ``PATtern`` + + Properties: + - ``.blocktype``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType`` command. + - ``.pattern``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blocktype = TriggerABusS64b66bBlockoneBlocktype( + device, f"{self._cmd_syntax}:BLOCKType" + ) + self._pattern = TriggerABusS64b66bBlockonePattern(device, f"{self._cmd_syntax}:PATtern") + + @property + def blocktype(self) -> TriggerABusS64b66bBlockoneBlocktype: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType`` command. + + **Description:** + - Set or query the control block type. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType { NONe | X1E | X2D | X33 | X66 | X55 | X78 | X4B | X87 | X99 | XB4 | XCC | XD2 | XE1 | XFF } + - TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType? + + **Info:** + - ``NONe`` + - ``X1E`` + - ``X2D`` + - ``X33`` + - ``X66`` + - ``X55`` + - ``X78`` + - ``X4B`` + - ``X87`` + - ``X99`` + - ``XB4`` + - ``XCC`` + - ``XD2`` + - ``XE1`` + - ``XFF`` + """ # noqa: E501 + return self._blocktype + + @property + def pattern(self) -> TriggerABusS64b66bBlockonePattern: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:FORMat`` command. + - ``.sync``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:SYNC`` command. + - ``.value``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern:VALue`` command. + """ + return self._pattern + + +class TriggerABusS64b66b(SCPICmdRead): + """The ``TRIGger:A:BUS:S64B66B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.blockone``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE`` command. + - ``.blockonethentwo``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:S64B66B:CONDition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blockone = TriggerABusS64b66bBlockone(device, f"{self._cmd_syntax}:BLOCKONE") + self._blockonethentwo = TriggerABusS64b66bBlockonethentwo( + device, f"{self._cmd_syntax}:BLOCKONETHENTWO" + ) + self._condition = TriggerABusS64b66bCondition(device, f"{self._cmd_syntax}:CONDition") + + @property + def blockone(self) -> TriggerABusS64b66bBlockone: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONE`` command. + + **Description:** + - Set or query the S64B66B block trigger settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:BLOCKONE { SYNC | INVSYNC | BLOCKtype | PATtern } + - TRIGger:A:BUS:S64B66B:BLOCKONE? + + **Info:** + - ``SYNC`` + - ``INVSYNC`` + - ``BLOCKtype`` + - ``PATtern`` + + Sub-properties: + - ``.blocktype``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:BLOCKType`` command. + - ``.pattern``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE:PATtern`` command tree. + """ + return self._blockone + + @property + def blockonethentwo(self) -> TriggerABusS64b66bBlockonethentwo: + """Return the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:FORMat`` command. + - ``.patternone``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNOne`` command + tree. + - ``.patterntwo``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO:PATTERNTwo`` command + tree. + """ + return self._blockonethentwo + + @property + def condition(self) -> TriggerABusS64b66bCondition: + """Return the ``TRIGger:A:BUS:S64B66B:CONDition`` command. + + **Description:** + - Set or query the S64S66B block trigger is set to 'Block' (single block) or + 'Block1Then2' (block1 pattern followed by a block2 pattern). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B:CONDition?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:S64B66B:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:S64B66B:CONDition { BLOCK | BLOCK1THEN2 } + - TRIGger:A:BUS:S64B66B:CONDition? + + **Info:** + - ``BLOCK`` sets a single block trigger. + - ``BLOCK1THEN2`` sets the block1 pattern followed by the block2 pattern. + """ + return self._condition + + +class TriggerABusRs232cDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data address string used for the RS-232 bus trigger when + the trigger condition is set to Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:VALue + - TRIGger:A:BUS:RS232C:DATa:VALue? + + **Info:** + - ```` specifies the address value. The argument is a string of 0, 1, or X + representing a binary number. + """ + + +class TriggerABusRs232cDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an + RS-232C trigger when the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:SIZe + - TRIGger:A:BUS:RS232C:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + + +class TriggerABusRs232cDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the data format for the RS232C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:RS232C:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:RS232C:DATa:FORMat? + + **Info:** + - ``BINary`` specifies that the data format for the RS232C bus trigger is Binary. + - ``HEXadecimal`` specifies that the data format for the RS232C bus trigger is Hexadecimal. + """ + + +class TriggerABusRs232cData(SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:RS232C:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:RS232C:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusRs232cDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._size = TriggerABusRs232cDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusRs232cDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusRs232cDataFormat: + """Return the ``TRIGger:A:BUS:RS232C:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the data format for the RS232C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:RS232C:DATa:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:RS232C:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:RS232C:DATa:FORMat? + + **Info:** + - ``BINary`` specifies that the data format for the RS232C bus trigger is Binary. + - ``HEXadecimal`` specifies that the data format for the RS232C bus trigger is + Hexadecimal. + """ + return self._format + + @property + def size(self) -> TriggerABusRs232cDataSize: + """Return the ``TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an + RS-232C trigger when the trigger condition is Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:RS232C:DATa:SIZe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:SIZe + - TRIGger:A:BUS:RS232C:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def value(self) -> TriggerABusRs232cDataValue: + """Return the ``TRIGger:A:BUS:RS232C:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data address string used for the RS-232 bus trigger + when the trigger condition is set to Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa:VALue?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:RS232C:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:DATa:VALue + - TRIGger:A:BUS:RS232C:DATa:VALue? + + **Info:** + - ```` specifies the address value. The argument is a string of 0, 1, or X + representing a binary number. + """ + return self._value + + +class TriggerABusRs232cCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C:CONDition`` command. + + **Description:** + - This command sets or queries the condition for an RS-232C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:RS232C:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - TRIGger:A:BUS:RS232C:CONDition? + + **Info:** + - ``DATa`` sets the Trigger on condition to Data. + - ``EOp`` sets the Trigger on condition to End of Packet. + - ``PARItyerror`` sets the Trigger on condition to Parity Error. + - ``STARt`` sets the Trigger on condition to Start. + """ + + +class TriggerABusRs232c(SCPICmdRead): + """The ``TRIGger:A:BUS:RS232C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:BUS:RS232C:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:RS232C:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerABusRs232cCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusRs232cData(device, f"{self._cmd_syntax}:DATa") + + @property + def condition(self) -> TriggerABusRs232cCondition: + """Return the ``TRIGger:A:BUS:RS232C:CONDition`` command. + + **Description:** + - This command sets or queries the condition for an RS-232C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:RS232C:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - TRIGger:A:BUS:RS232C:CONDition? + + **Info:** + - ``DATa`` sets the Trigger on condition to Data. + - ``EOp`` sets the Trigger on condition to End of Packet. + - ``PARItyerror`` sets the Trigger on condition to Parity Error. + - ``STARt`` sets the Trigger on condition to Start. + """ + return self._condition + + @property + def data(self) -> TriggerABusRs232cData: + """Return the ``TRIGger:A:BUS:RS232C:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:RS232C:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:RS232C:DATa:VALue`` command. + """ + return self._data + + +class TriggerABusPciePatternSymbolPlusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern plus symbol (positive + disparity). The x specifies the plus character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS? + + **Info:** + - ```` specifies the pattern symbol plus. + """ + + +class TriggerABusPciePatternSymbolMinusItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern symbol minus (negative + disparity). The x specifies the minus character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus? + + **Info:** + - ```` specifies the trigger pattern minus symbol. + """ + + +class TriggerABusPciePatternSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus: Dict[int, TriggerABusPciePatternSymbolMinusItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusPciePatternSymbolMinusItem(device, f"{self._cmd_syntax}:MINus{x}") + ) + self._plus: Dict[int, TriggerABusPciePatternSymbolPlusItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusPciePatternSymbolPlusItem(device, f"{self._cmd_syntax}:PLUS{x}") + ) + + @property + def minus(self) -> Dict[int, TriggerABusPciePatternSymbolMinusItem]: + """Return the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern symbol minus (negative + disparity). The x specifies the minus character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus? + + **Info:** + - ```` specifies the trigger pattern minus symbol. + """ + return self._minus + + @property + def plus(self) -> Dict[int, TriggerABusPciePatternSymbolPlusItem]: + """Return the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern plus symbol (positive + disparity). The x specifies the plus character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS? + + **Info:** + - ```` specifies the pattern symbol plus. + """ + return self._plus + + +class TriggerABusPciePatternOrderedset(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern ordered set. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset {EI|FTS|SKP} + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset? + + **Info:** + - ``INVALID`` is an additional argument that can be returned by a query. + """ + + +class TriggerABusPciePatternCharItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern:CHAR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern character. The x specifies the + character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:CHAR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:CHAR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:CHAR + - TRIGger:A:BUS:PCIE:PATtern:CHAR? + + **Info:** + - ```` specifies the trigger pattern character. Valid characters are any valid + PCIe/8b10b character (KCodes, DCodes, and KCode mnemonics like COM and SKP) or X, the + don't care character. + """ + + +class TriggerABusPciePattern(SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:PATtern?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:PCIE:PATtern:CHAR`` command. + - ``.orderedset``: The ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset`` command. + - ``.symbol``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char: Dict[int, TriggerABusPciePatternCharItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerABusPciePatternCharItem(device, f"{self._cmd_syntax}:CHAR{x}") + ) + self._orderedset = TriggerABusPciePatternOrderedset( + device, f"{self._cmd_syntax}:ORDERedset" + ) + self._symbol = TriggerABusPciePatternSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> Dict[int, TriggerABusPciePatternCharItem]: + """Return the ``TRIGger:A:BUS:PCIE:PATtern:CHAR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern character. The x specifies + the character and can be 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:CHAR + - TRIGger:A:BUS:PCIE:PATtern:CHAR? + + **Info:** + - ```` specifies the trigger pattern character. Valid characters are any valid + PCIe/8b10b character (KCodes, DCodes, and KCode mnemonics like COM and SKP) or X, the + don't care character. + """ + return self._char + + @property + def orderedset(self) -> TriggerABusPciePatternOrderedset: + """Return the ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger pattern ordered set. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset {EI|FTS|SKP} + - TRIGger:A:BUS:PCIE:PATtern:ORDERedset? + + **Info:** + - ``INVALID`` is an additional argument that can be returned by a query. + """ + return self._orderedset + + @property + def symbol(self) -> TriggerABusPciePatternSymbol: + """Return the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:PATtern:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusPcieFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:FORMat`` command. + + **Description:** + - This command sets or queries the PCIe bus trigger format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:FORMat {ORDERedset|SYMbol|CHAR} + - TRIGger:A:BUS:PCIE:FORMat? + """ + + +class TriggerABusPcieError(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:ERROR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:ERROR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:PCIE:ERROR? + + **Info:** + - ``CHARACTER`` sets the instrument to trigger on a character error. + - ``DISPARITY`` sets the instrument to trigger on a disparity error. + """ + + +class TriggerABusPcieDisparity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:DISParity`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger disparity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:DISParity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:DISParity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:DISParity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:BUS:PCIE:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + + +class TriggerABusPcieCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CONDition`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:PCIE:CONDition? + """ + + +class TriggerABusPcieCharacterSymbolPlus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - This command sets or queries PCIE bus trigger character symbol plus (positive disparity). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` specifies the character symbol plus. + """ + + +class TriggerABusPcieCharacterSymbolMinus(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger character symbol minus (negative + disparity). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus? + + **Info:** + - ```` specifies the minus character symbol. + """ + + +class TriggerABusPcieCharacterSymbol(SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.minus``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._minus = TriggerABusPcieCharacterSymbolMinus(device, f"{self._cmd_syntax}:MINus") + self._plus = TriggerABusPcieCharacterSymbolPlus(device, f"{self._cmd_syntax}:PLUS") + + @property + def minus(self) -> TriggerABusPcieCharacterSymbolMinus: + """Return the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger character symbol minus (negative + disparity). + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus? + + **Info:** + - ```` specifies the minus character symbol. + """ + return self._minus + + @property + def plus(self) -> TriggerABusPcieCharacterSymbolPlus: + """Return the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS`` command. + + **Description:** + - This command sets or queries PCIE bus trigger character symbol plus (positive + disparity). + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS + - TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS? + + **Info:** + - ```` specifies the character symbol plus. + """ + return self._plus + + +class TriggerABusPcieCharacterChar(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CHARacter:CHAR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:CHAR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:CHAR?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:CHAR + - TRIGger:A:BUS:PCIE:CHARacter:CHAR? + + **Info:** + - ```` specifies the trigger character. + """ + + +class TriggerABusPcieCharacter(SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.char``: The ``TRIGger:A:BUS:PCIE:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._char = TriggerABusPcieCharacterChar(device, f"{self._cmd_syntax}:CHAR") + self._symbol = TriggerABusPcieCharacterSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def char(self) -> TriggerABusPcieCharacterChar: + """Return the ``TRIGger:A:BUS:PCIE:CHARacter:CHAR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger character. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:CHAR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:CHAR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:CHAR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CHARacter:CHAR + - TRIGger:A:BUS:PCIE:CHARacter:CHAR? + + **Info:** + - ```` specifies the trigger character. + """ + return self._char + + @property + def symbol(self) -> TriggerABusPcieCharacterSymbol: + """Return the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.minus``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:MINus`` command. + - ``.plus``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol:PLUS`` command. + """ + return self._symbol + + +class TriggerABusPcie(SCPICmdRead): + """The ``TRIGger:A:BUS:PCIE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.character``: The ``TRIGger:A:BUS:PCIE:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:PCIE:CONDition`` command. + - ``.disparity``: The ``TRIGger:A:BUS:PCIE:DISParity`` command. + - ``.error``: The ``TRIGger:A:BUS:PCIE:ERROR`` command. + - ``.format``: The ``TRIGger:A:BUS:PCIE:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:BUS:PCIE:PATtern`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._character = TriggerABusPcieCharacter(device, f"{self._cmd_syntax}:CHARacter") + self._condition = TriggerABusPcieCondition(device, f"{self._cmd_syntax}:CONDition") + self._disparity = TriggerABusPcieDisparity(device, f"{self._cmd_syntax}:DISParity") + self._error = TriggerABusPcieError(device, f"{self._cmd_syntax}:ERROR") + self._format = TriggerABusPcieFormat(device, f"{self._cmd_syntax}:FORMat") + self._pattern = TriggerABusPciePattern(device, f"{self._cmd_syntax}:PATtern") + + @property + def character(self) -> TriggerABusPcieCharacter: + """Return the ``TRIGger:A:BUS:PCIE:CHARacter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CHARacter?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:PCIE:CHARacter:CHAR`` command. + - ``.symbol``: The ``TRIGger:A:BUS:PCIE:CHARacter:SYMbol`` command tree. + """ + return self._character + + @property + def condition(self) -> TriggerABusPcieCondition: + """Return the ``TRIGger:A:BUS:PCIE:CONDition`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:CONDition {ANYControl|CHARacter|ERROR|PATtern} + - TRIGger:A:BUS:PCIE:CONDition? + """ + return self._condition + + @property + def disparity(self) -> TriggerABusPcieDisparity: + """Return the ``TRIGger:A:BUS:PCIE:DISParity`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger disparity. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:DISParity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:DISParity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:PCIE:DISParity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:DISParity {EITher|NEGAtive|POSITIVe} + - TRIGger:A:BUS:PCIE:DISParity? + + **Info:** + - ``NEGative`` specifies negative disparity. + - ``POSITIVe`` specifies positive disparity. + - ``EITher`` specifies either disparity. + """ + return self._disparity + + @property + def error(self) -> TriggerABusPcieError: + """Return the ``TRIGger:A:BUS:PCIE:ERROR`` command. + + **Description:** + - This command sets or queries the PCIE bus trigger error. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:ERROR?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:ERROR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:ERROR value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:ERROR {CHARacter|DISParity} + - TRIGger:A:BUS:PCIE:ERROR? + + **Info:** + - ``CHARACTER`` sets the instrument to trigger on a character error. + - ``DISPARITY`` sets the instrument to trigger on a disparity error. + """ + return self._error + + @property + def format(self) -> TriggerABusPcieFormat: + """Return the ``TRIGger:A:BUS:PCIE:FORMat`` command. + + **Description:** + - This command sets or queries the PCIe bus trigger format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:PCIE:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:PCIE:FORMat {ORDERedset|SYMbol|CHAR} + - TRIGger:A:BUS:PCIE:FORMat? + """ + return self._format + + @property + def pattern(self) -> TriggerABusPciePattern: + """Return the ``TRIGger:A:BUS:PCIE:PATtern`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE:PATtern?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE:PATtern?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.char``: The ``TRIGger:A:BUS:PCIE:PATtern:CHAR`` command. + - ``.orderedset``: The ``TRIGger:A:BUS:PCIE:PATtern:ORDERedset`` command. + - ``.symbol``: The ``TRIGger:A:BUS:PCIE:PATtern:SYMbol`` command tree. + """ + return self._pattern + + +class TriggerABusMil1553bTimeQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on either the remote terminal + response time (RT) or the inter-message gap (IMG). The instrument will trigger when it + finds an RT or IMG that meets the specified conditions. The trigger condition must be set + to TIMe, + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier {LESSthan|MOREthan|INrange|OUTrange} + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier? + + **Info:** + - ``LESSthan`` sets the time qualifier to less than minimum. + - ``MOREthan`` sets the time qualifier to greater than maximum. + - ``INrange`` sets the time qualifier to inside range. + - ``OUTrange`` sets the time qualifier to out of range. + """ + + +class TriggerABusMil1553bTimeMorelimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit`` command. + + **Description:** + - This command specifies either the maximum remote terminal response time (RT) limit, in + seconds, for the amount of time the terminal has to transmit or the maximum inter-message + gap (IMG). The instrument will trigger when it finds an RT or IMG that meets the specified + conditions. The trigger condition must be set to TIMe, + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit? + + **Info:** + - ```` is a floating point number that specifies either the maximum remote terminal + response time (RT) or the maximum inter-message gap (IMG) in seconds. + """ + + +class TriggerABusMil1553bTimeLesslimit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit`` command. + + **Description:** + - This command specifies either the minimum remote terminal response time (RT) limit, in + seconds, for the amount of time the terminal has to transmit or the minimum inter-message + gap (IMG). The instrument will trigger when it finds an RT or IMG that meets the specified + conditions. The trigger condition must be set to TIMe. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit? + + **Info:** + - ```` is a floating point number that specifies either the minimum remote terminal + response time (RT) or the inter-message gap (IMG) in seconds. + """ + + +class TriggerABusMil1553bTime(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:TIME`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.lesslimit``: The ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lesslimit = TriggerABusMil1553bTimeLesslimit(device, f"{self._cmd_syntax}:LESSLimit") + self._morelimit = TriggerABusMil1553bTimeMorelimit(device, f"{self._cmd_syntax}:MORELimit") + self._qualifier = TriggerABusMil1553bTimeQualifier(device, f"{self._cmd_syntax}:QUALifier") + + @property + def lesslimit(self) -> TriggerABusMil1553bTimeLesslimit: + """Return the ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit`` command. + + **Description:** + - This command specifies either the minimum remote terminal response time (RT) limit, in + seconds, for the amount of time the terminal has to transmit or the minimum + inter-message gap (IMG). The instrument will trigger when it finds an RT or IMG that + meets the specified conditions. The trigger condition must be set to TIMe. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit + - TRIGger:A:BUS:MIL1553B:TIME:LESSLimit? + + **Info:** + - ```` is a floating point number that specifies either the minimum remote terminal + response time (RT) or the inter-message gap (IMG) in seconds. + """ + return self._lesslimit + + @property + def morelimit(self) -> TriggerABusMil1553bTimeMorelimit: + """Return the ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit`` command. + + **Description:** + - This command specifies either the maximum remote terminal response time (RT) limit, in + seconds, for the amount of time the terminal has to transmit or the maximum + inter-message gap (IMG). The instrument will trigger when it finds an RT or IMG that + meets the specified conditions. The trigger condition must be set to TIMe, + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit + - TRIGger:A:BUS:MIL1553B:TIME:MORELimit? + + **Info:** + - ```` is a floating point number that specifies either the maximum remote terminal + response time (RT) or the maximum inter-message gap (IMG) in seconds. + """ + return self._morelimit + + @property + def qualifier(self) -> TriggerABusMil1553bTimeQualifier: + """Return the ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on either the remote + terminal response time (RT) or the inter-message gap (IMG). The instrument will + trigger when it finds an RT or IMG that meets the specified conditions. The trigger + condition must be set to TIMe, + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier {LESSthan|MOREthan|INrange|OUTrange} + - TRIGger:A:BUS:MIL1553B:TIME:QUALifier? + + **Info:** + - ``LESSthan`` sets the time qualifier to less than minimum. + - ``MOREthan`` sets the time qualifier to greater than maximum. + - ``INrange`` sets the time qualifier to inside range. + - ``OUTrange`` sets the time qualifier to out of range. + """ + return self._qualifier + + +class TriggerABusMil1553bStatusBitTf(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF`` command. + + **Description:** + - This command specifies the status word terminal flag bit value (bit 19) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). The + trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitSubsf(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF`` command. + + **Description:** + - This command specifies the status word subsystem flag bit value (bit 17) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). The + trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitSrq(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ`` command. + + **Description:** + - This command specifies the status word service request (SRQ) bit value (bit 11) to use + when triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitParity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity`` command. + + **Description:** + - This command specifies the parity to use when triggering on the MIL-STD-1553 status bit + field. The default is all X's (don't care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|ON|OFF} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitMe(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME`` command. + + **Description:** + - This command specifies the status word message error bit value (bit 9) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). The + trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitInstr(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR`` command. + + **Description:** + - This command specifies the status word instrumentation bit value (bit 10) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). The + trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitDbca(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA`` command. + + **Description:** + - This command specifies the status word dynamic bus control acceptance (DBCA) bit value + (bit 18) to use when triggering on the MIL-STD-1553 status bit field. The default is all + X's (don't care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitBusy(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY`` command. + + **Description:** + - This command specifies the status word busy bit value (bit 16) to use when triggering on + the MIL-STD-1553 status bit field. The default is all X's (don't care). The trigger + condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bStatusBitBcr(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR`` command. + + **Description:** + - This command specifies the status word broadcast command received (BCR) bit value (bit 15) + to use when triggering on the MIL-STD-1553 status bit field. The default is all X's (don't + care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +# pylint: disable=too-many-instance-attributes +class TriggerABusMil1553bStatusBit(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bcr``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR`` command. + - ``.busy``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY`` command. + - ``.dbca``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA`` command. + - ``.instr``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR`` command. + - ``.me``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity`` command. + - ``.srq``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ`` command. + - ``.subsf``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF`` command. + - ``.tf``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bcr = TriggerABusMil1553bStatusBitBcr(device, f"{self._cmd_syntax}:BCR") + self._busy = TriggerABusMil1553bStatusBitBusy(device, f"{self._cmd_syntax}:BUSY") + self._dbca = TriggerABusMil1553bStatusBitDbca(device, f"{self._cmd_syntax}:DBCA") + self._instr = TriggerABusMil1553bStatusBitInstr(device, f"{self._cmd_syntax}:INSTR") + self._me = TriggerABusMil1553bStatusBitMe(device, f"{self._cmd_syntax}:ME") + self._parity = TriggerABusMil1553bStatusBitParity(device, f"{self._cmd_syntax}:PARity") + self._srq = TriggerABusMil1553bStatusBitSrq(device, f"{self._cmd_syntax}:SRQ") + self._subsf = TriggerABusMil1553bStatusBitSubsf(device, f"{self._cmd_syntax}:SUBSF") + self._tf = TriggerABusMil1553bStatusBitTf(device, f"{self._cmd_syntax}:TF") + + @property + def bcr(self) -> TriggerABusMil1553bStatusBitBcr: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR`` command. + + **Description:** + - This command specifies the status word broadcast command received (BCR) bit value (bit + 15) to use when triggering on the MIL-STD-1553 status bit field. The default is all + X's (don't care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._bcr + + @property + def busy(self) -> TriggerABusMil1553bStatusBitBusy: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY`` command. + + **Description:** + - This command specifies the status word busy bit value (bit 16) to use when triggering + on the MIL-STD-1553 status bit field. The default is all X's (don't care). The trigger + condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._busy + + @property + def dbca(self) -> TriggerABusMil1553bStatusBitDbca: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA`` command. + + **Description:** + - This command specifies the status word dynamic bus control acceptance (DBCA) bit value + (bit 18) to use when triggering on the MIL-STD-1553 status bit field. The default is + all X's (don't care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._dbca + + @property + def instr(self) -> TriggerABusMil1553bStatusBitInstr: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR`` command. + + **Description:** + - This command specifies the status word instrumentation bit value (bit 10) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._instr + + @property + def me(self) -> TriggerABusMil1553bStatusBitMe: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME`` command. + + **Description:** + - This command specifies the status word message error bit value (bit 9) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._me + + @property + def parity(self) -> TriggerABusMil1553bStatusBitParity: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity`` command. + + **Description:** + - This command specifies the parity to use when triggering on the MIL-STD-1553 status + bit field. The default is all X's (don't care). The trigger condition must be set to + STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|ON|OFF} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._parity + + @property + def srq(self) -> TriggerABusMil1553bStatusBitSrq: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ`` command. + + **Description:** + - This command specifies the status word service request (SRQ) bit value (bit 11) to use + when triggering on the MIL-STD-1553 status bit field. The default is all X's (don't + care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._srq + + @property + def subsf(self) -> TriggerABusMil1553bStatusBitSubsf: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF`` command. + + **Description:** + - This command specifies the status word subsystem flag bit value (bit 17) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._subsf + + @property + def tf(self) -> TriggerABusMil1553bStatusBitTf: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF`` command. + + **Description:** + - This command specifies the status word terminal flag bit value (bit 19) to use when + triggering on the MIL-STD-1553 status bit field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE, DONTCare`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._tf + + +class TriggerABusMil1553bStatusAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue`` command. + + **Description:** + - This command specifies the value of the 5-bit remote terminal address to use when + triggering on the MIL-STD-1553 status address field. The default is all X's (don't care). + The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue? + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerABusMil1553bStatusAddressQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on the MIL-STD-1553 status + address field. The default is EQUAL. The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier? + + **Info:** + - ``LESSthan`` sets the Status Address qualifier to less than. + - ``MOREthan`` sets the Status Address qualifier to greater than. + - ``EQual`` sets the Status Address qualifier to equal. + - ``UNEQual`` sets the Status Address qualifier to not equal. + - ``LESSEQual`` sets the Status Address qualifier to less than or equal. + - ``MOREEQual`` sets the Status Address qualifier to greater than or equal. + """ # noqa: E501 + + +class TriggerABusMil1553bStatusAddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat`` command. + + **Description:** + - This command specifies the format (binary or hex) of the bit pattern to use when + triggering on the MIL-STD-1553 status address field. The trigger condition needs to be set + to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusMil1553bStatusAddress(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusMil1553bStatusAddressFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusMil1553bStatusAddressQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = TriggerABusMil1553bStatusAddressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusMil1553bStatusAddressFormat: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat`` command. + + **Description:** + - This command specifies the format (binary or hex) of the bit pattern to use when + triggering on the MIL-STD-1553 status address field. The trigger condition needs to be + set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusMil1553bStatusAddressQualifier: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on the MIL-STD-1553 status + address field. The default is EQUAL. The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier? + + **Info:** + - ``LESSthan`` sets the Status Address qualifier to less than. + - ``MOREthan`` sets the Status Address qualifier to greater than. + - ``EQual`` sets the Status Address qualifier to equal. + - ``UNEQual`` sets the Status Address qualifier to not equal. + - ``LESSEQual`` sets the Status Address qualifier to less than or equal. + - ``MOREEQual`` sets the Status Address qualifier to greater than or equal. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> TriggerABusMil1553bStatusAddressValue: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue`` command. + + **Description:** + - This command specifies the value of the 5-bit remote terminal address to use when + triggering on the MIL-STD-1553 status address field. The default is all X's (don't + care). The trigger condition must be set to STATUS. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue? + """ + return self._value + + +class TriggerABusMil1553bStatus(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:STATUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess`` command tree. + - ``.bit``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = TriggerABusMil1553bStatusAddress(device, f"{self._cmd_syntax}:ADDRess") + self._bit = TriggerABusMil1553bStatusBit(device, f"{self._cmd_syntax}:BIT") + + @property + def address(self) -> TriggerABusMil1553bStatusAddress: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess:VALue`` command. + """ + return self._address + + @property + def bit(self) -> TriggerABusMil1553bStatusBit: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS:BIT?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:STATUS:BIT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.bcr``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BCR`` command. + - ``.busy``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:BUSY`` command. + - ``.dbca``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:DBCA`` command. + - ``.instr``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:INSTR`` command. + - ``.me``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:ME`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:PARity`` command. + - ``.srq``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SRQ`` command. + - ``.subsf``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:SUBSF`` command. + - ``.tf``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT:TF`` command. + """ + return self._bit + + +class TriggerABusMil1553bErrtype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:ERRTYPE`` command. + + **Description:** + - This command specifies the signaling error type to use for a MIL-STD-1553 bus data word + trigger: Parity, Sync, Manchester, or Data. The trigger condition must be set to ERRor. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:ERRTYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:ERRTYPE {PARity|SYNC|MANCHester|DATA} + - TRIGger:A:BUS:MIL1553B:ERRTYPE? + + **Info:** + - ``PARity`` - a failed parity check. + - ``SYNc`` - the high to low, or low to high transition doesn't happen in the middle of the + sync time as it should. + - ``MANCHester`` - no transition in a bit time. + - ``DATA`` - a non-contiguous data error. + """ + + +class TriggerABusMil1553bDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:DATA:VALue`` command. + + **Description:** + - This command specifies the value to use for a MIL-STD-1553 bus data word trigger. This is + a 16-bit field. The default is all X's (don't care). The trigger condition must be set to + DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:VALue + - TRIGger:A:BUS:MIL1553B:DATA:VALue? + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerABusMil1553bDataParity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:DATA:PARity`` command. + + **Description:** + - This command specifies the parity to use when triggering on a MIL-STD-1553 bus data word + parity bit. The trigger condition must be set to DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:PARity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:PARity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:DATA:PARity? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:DATA:FORMat`` command. + + **Description:** + - This command specifies the format (binary or hex) of the bit pattern to use for a + MIL-STD-1553 bus data word trigger. The trigger condition needs to be set to DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:DATA:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusMil1553bData(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:DATA`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:DATA:FORMat`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:DATA:PARity`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:DATA:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusMil1553bDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._parity = TriggerABusMil1553bDataParity(device, f"{self._cmd_syntax}:PARity") + self._value = TriggerABusMil1553bDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusMil1553bDataFormat: + """Return the ``TRIGger:A:BUS:MIL1553B:DATA:FORMat`` command. + + **Description:** + - This command specifies the format (binary or hex) of the bit pattern to use for a + MIL-STD-1553 bus data word trigger. The trigger condition needs to be set to DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:DATA:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def parity(self) -> TriggerABusMil1553bDataParity: + """Return the ``TRIGger:A:BUS:MIL1553B:DATA:PARity`` command. + + **Description:** + - This command specifies the parity to use when triggering on a MIL-STD-1553 bus data + word parity bit. The trigger condition must be set to DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:PARity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:PARity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:PARity {0|1|X|ZERo|ONE|NOCARE|DONTCare|OFF|ON} + - TRIGger:A:BUS:MIL1553B:DATA:PARity? + + **Info:** + - ``0, ZERO`` sets the value to 0. + - ``1, ONE`` sets the value to 1. + - ``X, NOCARE`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._parity + + @property + def value(self) -> TriggerABusMil1553bDataValue: + """Return the ``TRIGger:A:BUS:MIL1553B:DATA:VALue`` command. + + **Description:** + - This command specifies the value to use for a MIL-STD-1553 bus data word trigger. This + is a 16-bit field. The default is all X's (don't care). The trigger condition must be + set to DATA. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:DATA:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:DATA:VALue + - TRIGger:A:BUS:MIL1553B:DATA:VALue? + """ + return self._value + + +class TriggerABusMil1553bCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:CONDition`` command. + + **Description:** + - This command specifies which word type or condition within a MIL-STD-1553 bus word to + trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATUS|DATA|TIMe|ERRor} + - TRIGger:A:BUS:MIL1553B:CONDition? + + **Info:** + - ``SYNC`` refers to the 3-bit sync pulse that precedes each word. + - ``COMMAND`` is one of 3 16-bit word types. + - ``STATUS`` is one of 3 16-bit word types. + - ``DATA`` is one of 3 16-bit word types. + - ``TIMe`` specifies a trigger on either the RT (remote terminal response time), or the IMG + (Inter-message Gap). Use the commands ``TRIGGER:A:BUS:MIL1553B:TIME:QUALIFIER``, + ``TRIGGER:A:BUS:MIL1553B:TIME:LESSLIMIT``, and ``TRIGGER:A:BUS:MIL1553B:TIME:MORELIMIT`` + to specify the time parameters. + - ``ERRor`` specifies to trigger upon a signaling error. (You can specify which type of + error - Parity, Sync, Manchester or Non-contiguous Data - by using the + ``TRIGGER:A:BUS:MIL1553B:ERRTYPE`` command.). + """ + + +class TriggerABusMil1553bCommandTrbit(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + + **Description:** + - This command specifies a trigger on either a 'transmit' or a 'receive' signal for the + transmit/receive bit (bit 9) for a MIL-STD-1553 bus command word trigger. The trigger + condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + + **Info:** + - ``TX`` (logic 1) directs the instrument to trigger on a TX or 'transmit' from a remote + terminal . + - ``RX`` (logic 0) directs the instrument to trigger on an RX or 'receive' from a remote + terminal. + - ``X, DONTCare`` indicates 'don't care'. + """ + + +class TriggerABusMil1553bCommandSubaddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat`` command. + + **Description:** + - This command specifies the data format (binary or hex) of the sub-address field bit + pattern to use in a MIL-STD-1553 bus command word sub-address trigger. The trigger + condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusMil1553bCommandSubaddress(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + + **Description:** + - This command specifies the 5 bit sub-address to use in a MIL-STD-1553 bus command word + sub-address trigger. When the sub-address value is set to 00000 or 11111 binary, it + specifies that the command is a 'Mode Code' command. Any other value specifies that it is + a 'Word Count' command. The default is all X's (don't care). The trigger condition needs + to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + + Properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusMil1553bCommandSubaddressFormat( + device, f"{self._cmd_syntax}:FORMat" + ) + + @property + def format(self) -> TriggerABusMil1553bCommandSubaddressFormat: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat`` command. + + **Description:** + - This command specifies the data format (binary or hex) of the sub-address field bit + pattern to use in a MIL-STD-1553 bus command word sub-address trigger. The trigger + condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + +class TriggerABusMil1553bCommandParity(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + + **Description:** + - This command specifies the parity to use in a MIL-STD-1553 bus command word trigger. The + trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity {0|1|X|ZERo|ONE|NOCARE|OFF|ON|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + + **Info:** + - ``0`` + - ``1`` + - ``X`` sets the value to X ('don't care'), which is the default. + - ``ZERO`` sets the value to 0. + - ``ONE`` sets the value to 1. + - ``NOCARE`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + + +class TriggerABusMil1553bCommandCountFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat`` command. + + **Description:** + - This command specifies the data format (binary or hex) of the bit pattern for the 5-bit + Word Count/Mode Code field to use in a MIL-STD-1553 bus command word trigger. The trigger + condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusMil1553bCommandCount(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + + **Description:** + - This command specifies the bit pattern for the 5-bit Word Count/Mode Code sub-address + field to use in a MIL-STD-1553 bus command word trigger. (Use the command + ``TRIGGER:A:BUS:MIL1553B:COMMAND:SUBADDRESS`` to specify Word Count or Mode Code.) In Word + Count mode, this field defines the number of data words to be transmitted or received, + depending on the T/R bit setting. (Use the command + ``TRIGGER:A:BUS:MIL1553B:COMMAND:TRBIT`` to set the T/R bit.) A word count value of 0 + actually indicates a transfer of 32 data words. The trigger condition needs to be set to + COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + + **Info:** + - ``QString`` is a quoted string of up to 5 characters, where the allowable characters are + 0, 1 and X. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusMil1553bCommandCountFormat(device, f"{self._cmd_syntax}:FORMat") + + @property + def format(self) -> TriggerABusMil1553bCommandCountFormat: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat`` command. + + **Description:** + - This command specifies the data format (binary or hex) of the bit pattern for the + 5-bit Word Count/Mode Code field to use in a MIL-STD-1553 bus command word trigger. + The trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + +class TriggerABusMil1553bCommandAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + + **Description:** + - This command specifies the value of the 5-bit remote terminal address to use in a + MIL-STD-1553 bus command word trigger. The trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerABusMil1553bCommandAddressQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on a MIL-STD-1553 bus command + word remote terminal address field. The trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + + **Info:** + - ``LESSthan`` sets the Command Address qualifier to less than. + - ``MOREthan`` sets the Command Address qualifier to greater than. + - ``EQual`` sets the Command Address qualifier to equal. + - ``UNEQual`` sets the Command Address qualifier to not equal. + - ``LESSEQual`` sets the Command Address qualifier to less than or equal. + - ``MOREEQual`` sets the Command Address qualifier to greater than or equal. + """ # noqa: E501 + + +class TriggerABusMil1553bCommandAddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat`` command. + + **Description:** + - This command sets the data format of the address (either binary or hex) to use in a + MIL-STD-1553 bus command word trigger. The trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusMil1553bCommandAddress(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusMil1553bCommandAddressFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusMil1553bCommandAddressQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = TriggerABusMil1553bCommandAddressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusMil1553bCommandAddressFormat: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat`` command. + + **Description:** + - This command sets the data format of the address (either binary or hex) to use in a + MIL-STD-1553 bus command word trigger. The trigger condition needs to be set to + COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusMil1553bCommandAddressQualifier: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + + **Description:** + - This command specifies the qualifier to use when triggering on a MIL-STD-1553 bus + command word remote terminal address field. The trigger condition needs to be set to + COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual} + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + + **Info:** + - ``LESSthan`` sets the Command Address qualifier to less than. + - ``MOREthan`` sets the Command Address qualifier to greater than. + - ``EQual`` sets the Command Address qualifier to equal. + - ``UNEQual`` sets the Command Address qualifier to not equal. + - ``LESSEQual`` sets the Command Address qualifier to less than or equal. + - ``MOREEQual`` sets the Command Address qualifier to greater than or equal. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> TriggerABusMil1553bCommandAddressValue: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + + **Description:** + - This command specifies the value of the 5-bit remote terminal address to use in a + MIL-STD-1553 bus command word trigger. The trigger condition needs to be set to + COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + """ + return self._value + + +class TriggerABusMil1553bCommand(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + - ``.count``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + - ``.subaddress``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + - ``.trbit``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = TriggerABusMil1553bCommandAddress(device, f"{self._cmd_syntax}:ADDRess") + self._count = TriggerABusMil1553bCommandCount(device, f"{self._cmd_syntax}:COUNt") + self._parity = TriggerABusMil1553bCommandParity(device, f"{self._cmd_syntax}:PARity") + self._subaddress = TriggerABusMil1553bCommandSubaddress( + device, f"{self._cmd_syntax}:SUBADdress" + ) + self._trbit = TriggerABusMil1553bCommandTrbit(device, f"{self._cmd_syntax}:TRBit") + + @property + def address(self) -> TriggerABusMil1553bCommandAddress: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + """ + return self._address + + @property + def count(self) -> TriggerABusMil1553bCommandCount: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + + **Description:** + - This command specifies the bit pattern for the 5-bit Word Count/Mode Code sub-address + field to use in a MIL-STD-1553 bus command word trigger. (Use the command + ``TRIGGER:A:BUS:MIL1553B:COMMAND:SUBADDRESS`` to specify Word Count or Mode Code.) In + Word Count mode, this field defines the number of data words to be transmitted or + received, depending on the T/R bit setting. (Use the command + ``TRIGGER:A:BUS:MIL1553B:COMMAND:TRBIT`` to set the T/R bit.) A word count value of 0 + actually indicates a transfer of 32 data words. The trigger condition needs to be set + to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + + **Info:** + - ``QString`` is a quoted string of up to 5 characters, where the allowable characters + are 0, 1 and X. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt:FORMat`` command. + """ + return self._count + + @property + def parity(self) -> TriggerABusMil1553bCommandParity: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + + **Description:** + - This command specifies the parity to use in a MIL-STD-1553 bus command word trigger. + The trigger condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity {0|1|X|ZERo|ONE|NOCARE|OFF|ON|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + + **Info:** + - ``0`` + - ``1`` + - ``X`` sets the value to X ('don't care'), which is the default. + - ``ZERO`` sets the value to 0. + - ``ONE`` sets the value to 1. + - ``NOCARE`` sets the value to X ('don't care'), which is the default. + - ``OFF`` sets the value to 0. + - ``ON`` sets the value to 1. + """ + return self._parity + + @property + def subaddress(self) -> TriggerABusMil1553bCommandSubaddress: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + + **Description:** + - This command specifies the 5 bit sub-address to use in a MIL-STD-1553 bus command word + sub-address trigger. When the sub-address value is set to 00000 or 11111 binary, it + specifies that the command is a 'Mode Code' command. Any other value specifies that it + is a 'Word Count' command. The default is all X's (don't care). The trigger condition + needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress:FORMat`` command. + """ + return self._subaddress + + @property + def trbit(self) -> TriggerABusMil1553bCommandTrbit: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + + **Description:** + - This command specifies a trigger on either a 'transmit' or a 'receive' signal for the + transmit/receive bit (bit 9) for a MIL-STD-1553 bus command word trigger. The trigger + condition needs to be set to COMMAND. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X|DONTCare} + - TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + + **Info:** + - ``TX`` (logic 1) directs the instrument to trigger on a TX or 'transmit' from a remote + terminal . + - ``RX`` (logic 0) directs the instrument to trigger on an RX or 'receive' from a remote + terminal. + - ``X, DONTCare`` indicates 'don't care'. + """ + return self._trbit + + +class TriggerABusMil1553b(SCPICmdRead): + """The ``TRIGger:A:BUS:MIL1553B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.command``: The ``TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:MIL1553B:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:MIL1553B:DATA`` command tree. + - ``.errtype``: The ``TRIGger:A:BUS:MIL1553B:ERRTYPE`` command. + - ``.status``: The ``TRIGger:A:BUS:MIL1553B:STATUS`` command tree. + - ``.time``: The ``TRIGger:A:BUS:MIL1553B:TIME`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = TriggerABusMil1553bCommand(device, f"{self._cmd_syntax}:COMMAND") + self._condition = TriggerABusMil1553bCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusMil1553bData(device, f"{self._cmd_syntax}:DATA") + self._errtype = TriggerABusMil1553bErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._status = TriggerABusMil1553bStatus(device, f"{self._cmd_syntax}:STATUS") + self._time = TriggerABusMil1553bTime(device, f"{self._cmd_syntax}:TIME") + + @property + def command(self) -> TriggerABusMil1553bCommand: + """Return the ``TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:COMMAND?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + - ``.count``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + - ``.subaddress``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + - ``.trbit``: The ``TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + """ + return self._command + + @property + def condition(self) -> TriggerABusMil1553bCondition: + """Return the ``TRIGger:A:BUS:MIL1553B:CONDition`` command. + + **Description:** + - This command specifies which word type or condition within a MIL-STD-1553 bus word to + trigger on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:CONDition?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATUS|DATA|TIMe|ERRor} + - TRIGger:A:BUS:MIL1553B:CONDition? + + **Info:** + - ``SYNC`` refers to the 3-bit sync pulse that precedes each word. + - ``COMMAND`` is one of 3 16-bit word types. + - ``STATUS`` is one of 3 16-bit word types. + - ``DATA`` is one of 3 16-bit word types. + - ``TIMe`` specifies a trigger on either the RT (remote terminal response time), or the + IMG (Inter-message Gap). Use the commands ``TRIGGER:A:BUS:MIL1553B:TIME:QUALIFIER``, + ``TRIGGER:A:BUS:MIL1553B:TIME:LESSLIMIT``, and + ``TRIGGER:A:BUS:MIL1553B:TIME:MORELIMIT`` to specify the time parameters. + - ``ERRor`` specifies to trigger upon a signaling error. (You can specify which type of + error - Parity, Sync, Manchester or Non-contiguous Data - by using the + ``TRIGGER:A:BUS:MIL1553B:ERRTYPE`` command.). + """ + return self._condition + + @property + def data(self) -> TriggerABusMil1553bData: + """Return the ``TRIGger:A:BUS:MIL1553B:DATA`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:DATA?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:MIL1553B:DATA:FORMat`` command. + - ``.parity``: The ``TRIGger:A:BUS:MIL1553B:DATA:PARity`` command. + - ``.value``: The ``TRIGger:A:BUS:MIL1553B:DATA:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> TriggerABusMil1553bErrtype: + """Return the ``TRIGger:A:BUS:MIL1553B:ERRTYPE`` command. + + **Description:** + - This command specifies the signaling error type to use for a MIL-STD-1553 bus data + word trigger: Parity, Sync, Manchester, or Data. The trigger condition must be set to + ERRor. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:ERRTYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:MIL1553B:ERRTYPE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:MIL1553B:ERRTYPE {PARity|SYNC|MANCHester|DATA} + - TRIGger:A:BUS:MIL1553B:ERRTYPE? + + **Info:** + - ``PARity`` - a failed parity check. + - ``SYNc`` - the high to low, or low to high transition doesn't happen in the middle of + the sync time as it should. + - ``MANCHester`` - no transition in a bit time. + - ``DATA`` - a non-contiguous data error. + """ + return self._errtype + + @property + def status(self) -> TriggerABusMil1553bStatus: + """Return the ``TRIGger:A:BUS:MIL1553B:STATUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``TRIGger:A:BUS:MIL1553B:STATUS:ADDRess`` command tree. + - ``.bit``: The ``TRIGger:A:BUS:MIL1553B:STATUS:BIT`` command tree. + """ + return self._status + + @property + def time(self) -> TriggerABusMil1553bTime: + """Return the ``TRIGger:A:BUS:MIL1553B:TIME`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B:TIME?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.lesslimit``: The ``TRIGger:A:BUS:MIL1553B:TIME:LESSLimit`` command. + - ``.morelimit``: The ``TRIGger:A:BUS:MIL1553B:TIME:MORELimit`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:MIL1553B:TIME:QUALifier`` command. + """ + return self._time + + +class TriggerABusLinIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the LIN trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:IDentifier:VALue + - TRIGger:A:BUS:LIN:IDentifier:VALue? + + **Info:** + - ```` specifies the identifier value. + """ + + +class TriggerABusLinIdentifierFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the LIN bus trigger identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + + +class TriggerABusLinIdentifier(SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:IDentifier?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:LIN:IDentifier:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusLinIdentifierFormat(device, f"{self._cmd_syntax}:FORMat") + self._value = TriggerABusLinIdentifierValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusLinIdentifierFormat: + """Return the ``TRIGger:A:BUS:LIN:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the LIN bus trigger identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + return self._format + + @property + def value(self) -> TriggerABusLinIdentifierValue: + """Return the ``TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the LIN trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:IDentifier:VALue + - TRIGger:A:BUS:LIN:IDentifier:VALue? + + **Info:** + - ```` specifies the identifier value. + """ + return self._value + + +class TriggerABusLinErrtype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:ERRTYPE`` command. + + **Description:** + - This command sets or queries the LIN bus trigger error type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - TRIGger:A:BUS:LIN:ERRTYPE? + + **Info:** + - ``CHecksum`` specifies the error type is checksum. + - ``PARity`` specifies the error type is parity. + - ``SYNC`` specifies the error type is sync. + """ + + +class TriggerABusLinDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:DATa:VALue`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:VALue + - TRIGger:A:BUS:LIN:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + + +class TriggerABusLinDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data size (the number of contiguous CAN + data bytes to trigger on). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:SIZe + - TRIGger:A:BUS:LIN:DATa:SIZe? + """ + + +class TriggerABusLinDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:QUALifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:LIN:DATa:QUALifier? + """ + + +class TriggerABusLinDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusLinData(SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:LIN:DATa:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:LIN:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:LIN:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusLinDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusLinDataQualifier(device, f"{self._cmd_syntax}:QUALifier") + self._size = TriggerABusLinDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusLinDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusLinDataFormat: + """Return the ``TRIGger:A:BUS:LIN:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:LIN:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusLinDataQualifier: + """Return the ``TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:LIN:DATa:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:LIN:DATa:QUALifier? + """ + return self._qualifier + + @property + def size(self) -> TriggerABusLinDataSize: + """Return the ``TRIGger:A:BUS:LIN:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data size (the number of contiguous + CAN data bytes to trigger on). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:SIZe + - TRIGger:A:BUS:LIN:DATa:SIZe? + """ + return self._size + + @property + def value(self) -> TriggerABusLinDataValue: + """Return the ``TRIGger:A:BUS:LIN:DATa:VALue`` command. + + **Description:** + - This command sets or queries the LIN bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:LIN:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:DATa:VALue + - TRIGger:A:BUS:LIN:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + return self._value + + +class TriggerABusLinCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:LIN:CONDition`` command. + + **Description:** + - This command sets or queries the LIN bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNC|WAKEup} + - TRIGger:A:BUS:LIN:CONDition? + """ + + +class TriggerABusLin(SCPICmdRead): + """The ``TRIGger:A:BUS:LIN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:BUS:LIN:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:LIN:DATa`` command tree. + - ``.errtype``: The ``TRIGger:A:BUS:LIN:ERRTYPE`` command. + - ``.identifier``: The ``TRIGger:A:BUS:LIN:IDentifier`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerABusLinCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusLinData(device, f"{self._cmd_syntax}:DATa") + self._errtype = TriggerABusLinErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._identifier = TriggerABusLinIdentifier(device, f"{self._cmd_syntax}:IDentifier") + + @property + def condition(self) -> TriggerABusLinCondition: + """Return the ``TRIGger:A:BUS:LIN:CONDition`` command. + + **Description:** + - This command sets or queries the LIN bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNC|WAKEup} + - TRIGger:A:BUS:LIN:CONDition? + """ + return self._condition + + @property + def data(self) -> TriggerABusLinData: + """Return the ``TRIGger:A:BUS:LIN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:LIN:DATa:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:LIN:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:LIN:DATa:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> TriggerABusLinErrtype: + """Return the ``TRIGger:A:BUS:LIN:ERRTYPE`` command. + + **Description:** + - This command sets or queries the LIN bus trigger error type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:LIN:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - TRIGger:A:BUS:LIN:ERRTYPE? + + **Info:** + - ``CHecksum`` specifies the error type is checksum. + - ``PARity`` specifies the error type is parity. + - ``SYNC`` specifies the error type is sync. + """ + return self._errtype + + @property + def identifier(self) -> TriggerABusLinIdentifier: + """Return the ``TRIGger:A:BUS:LIN:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN:IDentifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:LIN:IDentifier:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + """ + return self._identifier + + +class TriggerABusI2cDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data value of the data token for an I2C trigger when the + trigger condition is Data or Addr + Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:VALue + - TRIGger:A:BUS:I2C:DATa:VALue? + + **Info:** + - ```` specifies the data value. The valid characters are 0, 1, or X representing a + binary number. + """ + + +class TriggerABusI2cDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an I2C + bus trigger when the trigger condition is Data or Addr + Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:SIZe + - TRIGger:A:BUS:I2C:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + + +class TriggerABusI2cDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the trigger data format for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format for the I2C bus trigger as Binary. + - ``HEXadecimal`` specifies the data format for the I2C bus trigger as Hexadecimal. + """ + + +class TriggerABusI2cDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:DATa:DIRection`` command. + + **Description:** + - This command sets or queries the data direction for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:DATa:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:I2C:DATa:DIRection? + + **Info:** + - ``DONTCare`` sets the data direction for the I2C bus to Don't Care. + - ``READ`` sets the data direction for the I2C bus to Read. + - ``WRITE`` sets the data direction for the I2C bus to Write. + """ + + +class TriggerABusI2cData(SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.direction``: The ``TRIGger:A:BUS:I2C:DATa:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:I2C:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:I2C:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:I2C:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = TriggerABusI2cDataDirection(device, f"{self._cmd_syntax}:DIRection") + self._format = TriggerABusI2cDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._size = TriggerABusI2cDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusI2cDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> TriggerABusI2cDataDirection: + """Return the ``TRIGger:A:BUS:I2C:DATa:DIRection`` command. + + **Description:** + - This command sets or queries the data direction for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:I2C:DATa:DIRection?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:DATa:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:I2C:DATa:DIRection? + + **Info:** + - ``DONTCare`` sets the data direction for the I2C bus to Don't Care. + - ``READ`` sets the data direction for the I2C bus to Read. + - ``WRITE`` sets the data direction for the I2C bus to Write. + """ + return self._direction + + @property + def format(self) -> TriggerABusI2cDataFormat: + """Return the ``TRIGger:A:BUS:I2C:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the trigger data format for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format for the I2C bus trigger as Binary. + - ``HEXadecimal`` specifies the data format for the I2C bus trigger as Hexadecimal. + """ + return self._format + + @property + def size(self) -> TriggerABusI2cDataSize: + """Return the ``TRIGger:A:BUS:I2C:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the length of the data string in bytes to be used for an + I2C bus trigger when the trigger condition is Data or Addr + Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:SIZe + - TRIGger:A:BUS:I2C:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def value(self) -> TriggerABusI2cDataValue: + """Return the ``TRIGger:A:BUS:I2C:DATa:VALue`` command. + + **Description:** + - This command sets or queries the data value of the data token for an I2C trigger when + the trigger condition is Data or Addr + Data. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:DATa:VALue + - TRIGger:A:BUS:I2C:DATa:VALue? + + **Info:** + - ```` specifies the data value. The valid characters are 0, 1, or X + representing a binary number. + """ + return self._value + + +class TriggerABusI2cCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:CONDition {ACKMISS|ADDress|ADDRANDDATA|DATa|REPEATstart|STARt|STOP} + - TRIGger:A:BUS:I2C:CONDition? + + **Info:** + - ``ACKMISS`` sets the trigger condition to Missing Acknowledgement. + - ``ADDRess`` sets the trigger condition to Address. + - ``ADDRANDDATA`` sets the trigger condition to Address and Data. + - ``DATA`` sets the trigger condition to data. + - ``REPEATstart`` sets the trigger condition to Repeat of Start. + - ``STARt`` sets the trigger condition to Start. + - ``STOP`` sets the trigger condition to Stop. + """ + + +class TriggerABusI2cAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:ADDress:VALue`` command. + + **Description:** + - This command sets or queries the binary address string used for the I2C trigger of the + bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:VALue + - TRIGger:A:BUS:I2C:ADDress:VALue? + + **Info:** + - ```` specifies the address value. This is either 7 bits or 10 bits depending on + the address mode. The valid characters are 0-9, A-F, and X for addresses in hexadecimal + format and 0, 1, and X otherwise. + """ + + +class TriggerABusI2cAddressType(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:ADDress:TYPe`` command. + + **Description:** + - This command sets or queries the address type for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:TYPe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:TYPe {NONe|STARtbyte|HSMODe|GENeralcall|EEPROm|CBUS} + - TRIGger:A:BUS:I2C:ADDress:TYPe? + + **Info:** + - ``NONe`` specifies the address type as None. + - ``STARtbyte`` specifies the address type as Start byte. + - ``HSMODe`` specifies the address type as High Speed mode. + - ``GENeralcall`` specifies the address type as General Call. + - ``EEPROm`` specifies the address type as EEPROM. + - ``CBUS`` specifies the address type as CBUS. + """ + + +class TriggerABusI2cAddressMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:ADDress:MODe`` command. + + **Description:** + - This command sets or queries the address mode for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:MODe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:MODe {ADDR7|ADDR10} + - TRIGger:A:BUS:I2C:ADDress:MODe? + + **Info:** + - ``ADDR7`` specifies the address mode as ADDR7. + - ``ADDR10`` specifies the address mode as ADDR10. + """ + + +class TriggerABusI2cAddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:ADDress:FORMat`` command. + + **Description:** + - This command sets or queries the address format for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:ADDress:FORMat? + + **Info:** + - ``BINary`` specifies the address format for the I2C bus trigger as Binary. + - ``HEXadecimal`` specifies the address format for the I2C bus trigger as Hexadecimal. + """ + + +class TriggerABusI2cAddress(SCPICmdRead): + """The ``TRIGger:A:BUS:I2C:ADDress`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:I2C:ADDress:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:I2C:ADDress:MODe`` command. + - ``.type``: The ``TRIGger:A:BUS:I2C:ADDress:TYPe`` command. + - ``.value``: The ``TRIGger:A:BUS:I2C:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusI2cAddressFormat(device, f"{self._cmd_syntax}:FORMat") + self._mode = TriggerABusI2cAddressMode(device, f"{self._cmd_syntax}:MODe") + self._type = TriggerABusI2cAddressType(device, f"{self._cmd_syntax}:TYPe") + self._value = TriggerABusI2cAddressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusI2cAddressFormat: + """Return the ``TRIGger:A:BUS:I2C:ADDress:FORMat`` command. + + **Description:** + - This command sets or queries the address format for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:FORMat {BINary|HEXadecimal} + - TRIGger:A:BUS:I2C:ADDress:FORMat? + + **Info:** + - ``BINary`` specifies the address format for the I2C bus trigger as Binary. + - ``HEXadecimal`` specifies the address format for the I2C bus trigger as Hexadecimal. + """ + return self._format + + @property + def mode(self) -> TriggerABusI2cAddressMode: + """Return the ``TRIGger:A:BUS:I2C:ADDress:MODe`` command. + + **Description:** + - This command sets or queries the address mode for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:MODe {ADDR7|ADDR10} + - TRIGger:A:BUS:I2C:ADDress:MODe? + + **Info:** + - ``ADDR7`` specifies the address mode as ADDR7. + - ``ADDR10`` specifies the address mode as ADDR10. + """ + return self._mode + + @property + def type(self) -> TriggerABusI2cAddressType: + """Return the ``TRIGger:A:BUS:I2C:ADDress:TYPe`` command. + + **Description:** + - This command sets or queries the address type for the I2C bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:TYPe {NONe|STARtbyte|HSMODe|GENeralcall|EEPROm|CBUS} + - TRIGger:A:BUS:I2C:ADDress:TYPe? + + **Info:** + - ``NONe`` specifies the address type as None. + - ``STARtbyte`` specifies the address type as Start byte. + - ``HSMODe`` specifies the address type as High Speed mode. + - ``GENeralcall`` specifies the address type as General Call. + - ``EEPROm`` specifies the address type as EEPROM. + - ``CBUS`` specifies the address type as CBUS. + """ + return self._type + + @property + def value(self) -> TriggerABusI2cAddressValue: + """Return the ``TRIGger:A:BUS:I2C:ADDress:VALue`` command. + + **Description:** + - This command sets or queries the binary address string used for the I2C trigger of the + bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress:VALue?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:I2C:ADDress:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:ADDress:VALue + - TRIGger:A:BUS:I2C:ADDress:VALue? + + **Info:** + - ```` specifies the address value. This is either 7 bits or 10 bits depending + on the address mode. The valid characters are 0-9, A-F, and X for addresses in + hexadecimal format and 0, 1, and X otherwise. + """ + return self._value + + +class TriggerABusI2c(SCPICmdRead): + """The ``TRIGger:A:BUS:I2C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``TRIGger:A:BUS:I2C:ADDress`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:I2C:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:I2C:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = TriggerABusI2cAddress(device, f"{self._cmd_syntax}:ADDress") + self._condition = TriggerABusI2cCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusI2cData(device, f"{self._cmd_syntax}:DATa") + + @property + def address(self) -> TriggerABusI2cAddress: + """Return the ``TRIGger:A:BUS:I2C:ADDress`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:ADDress?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:ADDress?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:I2C:ADDress:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:I2C:ADDress:MODe`` command. + - ``.type``: The ``TRIGger:A:BUS:I2C:ADDress:TYPe`` command. + - ``.value``: The ``TRIGger:A:BUS:I2C:ADDress:VALue`` command. + """ + return self._address + + @property + def condition(self) -> TriggerABusI2cCondition: + """Return the ``TRIGger:A:BUS:I2C:CONDition`` command. + + **Description:** + - This command sets or queries the trigger condition for the I2C bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:I2C:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:I2C:CONDition {ACKMISS|ADDress|ADDRANDDATA|DATa|REPEATstart|STARt|STOP} + - TRIGger:A:BUS:I2C:CONDition? + + **Info:** + - ``ACKMISS`` sets the trigger condition to Missing Acknowledgement. + - ``ADDRess`` sets the trigger condition to Address. + - ``ADDRANDDATA`` sets the trigger condition to Address and Data. + - ``DATA`` sets the trigger condition to data. + - ``REPEATstart`` sets the trigger condition to Repeat of Start. + - ``STARt`` sets the trigger condition to Start. + - ``STOP`` sets the trigger condition to Stop. + """ + return self._condition + + @property + def data(self) -> TriggerABusI2cData: + """Return the ``TRIGger:A:BUS:I2C:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``TRIGger:A:BUS:I2C:DATa:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:I2C:DATa:FORMat`` command. + - ``.size``: The ``TRIGger:A:BUS:I2C:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:I2C:DATa:VALue`` command. + """ + return self._data + + +class TriggerABusFlexrayIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue? + + **Info:** + - ```` specifies the identifier value. + """ + + +class TriggerABusFlexrayIdentifierQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier qualifier. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier? + """ # noqa: E501 + + +class TriggerABusFlexrayIdentifierFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + + +class TriggerABusFlexrayIdentifier(SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:IDentifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusFlexrayIdentifierFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusFlexrayIdentifierQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = TriggerABusFlexrayIdentifierValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusFlexrayIdentifierFormat: + """Return the ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier format. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusFlexrayIdentifierQualifier: + """Return the ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier qualifier. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier? + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> TriggerABusFlexrayIdentifierValue: + """Return the ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue + - TRIGger:A:BUS:FLEXRAY:IDentifier:VALue? + + **Info:** + - ```` specifies the identifier value. + """ + return self._value + + +class TriggerABusFlexrayHeaderPaylength(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header Payload Length. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + """ + + +class TriggerABusFlexrayHeaderIndbits(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header Indicator Bits. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + + **Info:** + - ```` specifies the header Indicator Bits. + """ + + +class TriggerABusFlexrayHeaderFrameid(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header frame ID. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + + **Info:** + - ```` specifies the header frame ID. + """ + + +class TriggerABusFlexrayHeaderCyclecount(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header cycle count. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + + **Info:** + - ```` specifies the header cycle count. + """ + + +class TriggerABusFlexrayHeaderCrc(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header CRC. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + + **Info:** + - ```` specifies the cyclic redundancy code. + """ + + +class TriggerABusFlexrayHeader(SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.crc``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + - ``.cyclecount``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + - ``.frameid``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + - ``.indbits``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + - ``.paylength``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._crc = TriggerABusFlexrayHeaderCrc(device, f"{self._cmd_syntax}:CRC") + self._cyclecount = TriggerABusFlexrayHeaderCyclecount( + device, f"{self._cmd_syntax}:CYCLECount" + ) + self._frameid = TriggerABusFlexrayHeaderFrameid(device, f"{self._cmd_syntax}:FRAMEID") + self._indbits = TriggerABusFlexrayHeaderIndbits(device, f"{self._cmd_syntax}:INDBits") + self._paylength = TriggerABusFlexrayHeaderPaylength(device, f"{self._cmd_syntax}:PAYLENgth") + + @property + def crc(self) -> TriggerABusFlexrayHeaderCrc: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header CRC. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + + **Info:** + - ```` specifies the cyclic redundancy code. + """ + return self._crc + + @property + def cyclecount(self) -> TriggerABusFlexrayHeaderCyclecount: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header cycle count. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + + **Info:** + - ```` specifies the header cycle count. + """ + return self._cyclecount + + @property + def frameid(self) -> TriggerABusFlexrayHeaderFrameid: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header frame ID. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + + **Info:** + - ```` specifies the header frame ID. + """ + return self._frameid + + @property + def indbits(self) -> TriggerABusFlexrayHeaderIndbits: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header Indicator Bits. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + + **Info:** + - ```` specifies the header Indicator Bits. + """ + return self._indbits + + @property + def paylength(self) -> TriggerABusFlexrayHeaderPaylength: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger header Payload Length. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + """ + return self._paylength + + +class TriggerABusFlexrayFrametype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:FRAMEType?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:FRAMEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:FRAMEType value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - TRIGger:A:BUS:FLEXRAY:FRAMEType? + """ + + +class TriggerABusFlexrayErrtype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger error type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHEADer|CRCTRAILer|NULLFRSTATIC|NULLFRDYNAMIC |SYNCFRAME|STARTUPNOSYNC} + - TRIGger:A:BUS:FLEXRAY:ERRTYPE? + """ # noqa: E501 + + +class TriggerABusFlexrayEoftype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger end of file type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:EOFTYPE {ALL|STATIC|DYNAMIC} + - TRIGger:A:BUS:FLEXRAY:EOFTYPE? + + **Info:** + - ``ALL`` specifies either end of file type. + - ``STATIC`` specifies the static end of file type. + - ``DYNAMIC`` specifies the static end of file type. + """ + + +class TriggerABusFlexrayDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:VALue + - TRIGger:A:BUS:FLEXRAY:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + + +class TriggerABusFlexrayDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data size in bytes. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. A setting of X/Don't care is accomplished by + setting the size to -1. + """ + + +class TriggerABusFlexrayDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + """ + + +class TriggerABusFlexrayDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data offset. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + + **Info:** + - ```` specifies the data offset in bytes. + """ + + +class TriggerABusFlexrayDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusFlexrayData(SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat`` command. + - ``.offset``: The ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusFlexrayDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._offset = TriggerABusFlexrayDataOffset(device, f"{self._cmd_syntax}:OFFSet") + self._qualifier = TriggerABusFlexrayDataQualifier(device, f"{self._cmd_syntax}:QUALifier") + self._size = TriggerABusFlexrayDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusFlexrayDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusFlexrayDataFormat: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def offset(self) -> TriggerABusFlexrayDataOffset: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data offset. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + + **Info:** + - ```` specifies the data offset in bytes. + """ + return self._offset + + @property + def qualifier(self) -> TriggerABusFlexrayDataQualifier: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> TriggerABusFlexrayDataSize: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data size in bytes. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + + **Info:** + - ```` specifies the data size in bytes. A setting of X/Don't care is accomplished + by setting the size to -1. + """ + return self._size + + @property + def value(self) -> TriggerABusFlexrayDataValue: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:DATa:VALue + - TRIGger:A:BUS:FLEXRAY:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + return self._value + + +class TriggerABusFlexrayCyclecountValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger cycle count value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + + **Info:** + - ```` specifies the cycle count value. + """ + + +class TriggerABusFlexrayCyclecountQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + + **Description:** + - This command sets or queries FLEXRAY bus trigger cycle count qualifier. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + """ # noqa: E501 + + +class TriggerABusFlexrayCyclecountFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat`` command. + + **Description:** + - This command sets or queries FLEXRAY bus trigger cycle count format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat? + + **Info:** + - ``BINary`` specifies the cycle count format as binary. + - ``HEX`` specifies the cycle count format as hexadecimal. + """ + + +class TriggerABusFlexrayCyclecount(SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusFlexrayCyclecountFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusFlexrayCyclecountQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = TriggerABusFlexrayCyclecountValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusFlexrayCyclecountFormat: + """Return the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat`` command. + + **Description:** + - This command sets or queries FLEXRAY bus trigger cycle count format. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat {BINary|HEX} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat? + + **Info:** + - ``BINary`` specifies the cycle count format as binary. + - ``HEX`` specifies the cycle count format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusFlexrayCyclecountQualifier: + """Return the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + + **Description:** + - This command sets or queries FLEXRAY bus trigger cycle count qualifier. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> TriggerABusFlexrayCyclecountValue: + """Return the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger cycle count value. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + + **Info:** + - ```` specifies the cycle count value. + """ + return self._value + + +class TriggerABusFlexrayCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY:CONDition`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEtype|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - TRIGger:A:BUS:FLEXRAY:CONDition? + """ # noqa: E501 + + +# pylint: disable=too-many-instance-attributes +class TriggerABusFlexray(SCPICmdRead): + """The ``TRIGger:A:BUS:FLEXRAY`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:BUS:FLEXRAY:CONDition`` command. + - ``.cyclecount``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + - ``.data``: The ``TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + - ``.eoftype``: The ``TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + - ``.errtype``: The ``TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + - ``.frametype``: The ``TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + - ``.header``: The ``TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + - ``.identifier``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerABusFlexrayCondition(device, f"{self._cmd_syntax}:CONDition") + self._cyclecount = TriggerABusFlexrayCyclecount(device, f"{self._cmd_syntax}:CYCLEcount") + self._data = TriggerABusFlexrayData(device, f"{self._cmd_syntax}:DATa") + self._eoftype = TriggerABusFlexrayEoftype(device, f"{self._cmd_syntax}:EOFTYPE") + self._errtype = TriggerABusFlexrayErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._frametype = TriggerABusFlexrayFrametype(device, f"{self._cmd_syntax}:FRAMEType") + self._header = TriggerABusFlexrayHeader(device, f"{self._cmd_syntax}:HEADER") + self._identifier = TriggerABusFlexrayIdentifier(device, f"{self._cmd_syntax}:IDentifier") + + @property + def condition(self) -> TriggerABusFlexrayCondition: + """Return the ``TRIGger:A:BUS:FLEXRAY:CONDition`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CONDition?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CONDition value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEtype|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - TRIGger:A:BUS:FLEXRAY:CONDition? + """ # noqa: E501 + return self._condition + + @property + def cyclecount(self) -> TriggerABusFlexrayCyclecount: + """Return the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + """ + return self._cyclecount + + @property + def data(self) -> TriggerABusFlexrayData: + """Return the ``TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:DATa:FORMat`` command. + - ``.offset``: The ``TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + """ + return self._data + + @property + def eoftype(self) -> TriggerABusFlexrayEoftype: + """Return the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger end of file type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:EOFTYPE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:EOFTYPE {ALL|STATIC|DYNAMIC} + - TRIGger:A:BUS:FLEXRAY:EOFTYPE? + + **Info:** + - ``ALL`` specifies either end of file type. + - ``STATIC`` specifies the static end of file type. + - ``DYNAMIC`` specifies the static end of file type. + """ + return self._eoftype + + @property + def errtype(self) -> TriggerABusFlexrayErrtype: + """Return the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger error type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:ERRTYPE value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHEADer|CRCTRAILer|NULLFRSTATIC|NULLFRDYNAMIC |SYNCFRAME|STARTUPNOSYNC} + - TRIGger:A:BUS:FLEXRAY:ERRTYPE? + """ # noqa: E501 + return self._errtype + + @property + def frametype(self) -> TriggerABusFlexrayFrametype: + """Return the ``TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + + **Description:** + - This command sets or queries the FLEXRAY bus trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:FRAMEType?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:FRAMEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:FRAMEType value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - TRIGger:A:BUS:FLEXRAY:FRAMEType? + """ + return self._frametype + + @property + def header(self) -> TriggerABusFlexrayHeader: + """Return the ``TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY:HEADER?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.crc``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + - ``.cyclecount``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + - ``.frameid``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + - ``.indbits``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + - ``.paylength``: The ``TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + """ + return self._header + + @property + def identifier(self) -> TriggerABusFlexrayIdentifier: + """Return the ``TRIGger:A:BUS:FLEXRAY:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY:IDentifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:FLEXRAY:IDentifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:QUALifier`` command. + - ``.value``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier:VALue`` command. + """ + return self._identifier + + +class TriggerABusEthernetIpheaderSourceaddrValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + **Description:** + - This command specifies the 32-bit value to use when triggering on the Ethernet IPv4 header + address source field. The default is all X's (don't care). The trigger condition needs to + be set to IPHeader. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class TriggerABusEthernetIpheaderSourceaddr(SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = TriggerABusEthernetIpheaderSourceaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> TriggerABusEthernetIpheaderSourceaddrValue: + """Return the ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + **Description:** + - This command specifies the 32-bit value to use when triggering on the Ethernet IPv4 + header address source field. The default is all X's (don't care). The trigger + condition needs to be set to IPHeader. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + """ + return self._value + + +class TriggerABusEthernetIpheader(SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:IPHeader?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet:IPHeader?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.sourceaddr``: The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sourceaddr = TriggerABusEthernetIpheaderSourceaddr( + device, f"{self._cmd_syntax}:SOUrceaddr" + ) + + @property + def sourceaddr(self) -> TriggerABusEthernetIpheaderSourceaddr: + """Return the ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + """ + return self._sourceaddr + + +class TriggerABusEthernetDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet:DATa:FORMat`` command. + + **Description:** + - This command and query sets the format of the data to either binary or hex. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:ETHERnet:DATa:FORMat {BINARY | HEX} + - TRIGger:A:BUS:ETHERnet:DATa:FORMat? + + **Info:** + - ``BINARY`` sets the format to binary. + - ``HEX`` sets the format to hexadecimal. + """ + + +class TriggerABusEthernetData(SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:ETHERnet:DATa:FORMat`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusEthernetDataFormat(device, f"{self._cmd_syntax}:FORMat") + + @property + def format(self) -> TriggerABusEthernetDataFormat: + """Return the ``TRIGger:A:BUS:ETHERnet:DATa:FORMat`` command. + + **Description:** + - This command and query sets the format of the data to either binary or hex. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:DATa:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:ETHERnet:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:ETHERnet:DATa:FORMat {BINARY | HEX} + - TRIGger:A:BUS:ETHERnet:DATa:FORMat? + + **Info:** + - ``BINARY`` sets the format to binary. + - ``HEX`` sets the format to hexadecimal. + """ + return self._format + + +class TriggerABusEthernet(SCPICmdRead): + """The ``TRIGger:A:BUS:ETHERnet`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.data``: The ``TRIGger:A:BUS:ETHERnet:DATa`` command tree. + - ``.ipheader``: The ``TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = TriggerABusEthernetData(device, f"{self._cmd_syntax}:DATa") + self._ipheader = TriggerABusEthernetIpheader(device, f"{self._cmd_syntax}:IPHeader") + + @property + def data(self) -> TriggerABusEthernetData: + """Return the ``TRIGger:A:BUS:ETHERnet:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:ETHERnet:DATa:FORMat`` command. + """ + return self._data + + @property + def ipheader(self) -> TriggerABusEthernetIpheader: + """Return the ``TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet:IPHeader?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet:IPHeader?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.sourceaddr``: The ``TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + """ + return self._ipheader + + +class TriggerABusDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:DATa:VALue`` command. + + **Description:** + - This command sets or queries the trigger data value depending on the format selected for + the bus. The data value varies depending on the bus type and the number of input signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:DATa:VALue + - TRIGger:A:BUS:DATa:VALue? + + **Info:** + - ```` is the data value in binary or hexadecimal format. The valid characters are + 0-9, A-F, and X for addresses in hexadecimal format and 0, 1, and X otherwise. + """ + + +class TriggerABusDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the trigger data format for the bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:DATa:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the trigger data format to Binary. + - ``HEXadecimal`` specifies the trigger data format to Hexadecimal. + - ``SYMBolic`` specifies the trigger data format as Symbolic. + """ + + +class TriggerABusData(SCPICmdRead): + """The ``TRIGger:A:BUS:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``TRIGger:A:BUS:DATa:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = TriggerABusDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._value = TriggerABusDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def format(self) -> TriggerABusDataFormat: + """Return the ``TRIGger:A:BUS:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the trigger data format for the bus. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:DATa:FORMat {BINary|HEXadecimal|SYMBolic} + - TRIGger:A:BUS:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the trigger data format to Binary. + - ``HEXadecimal`` specifies the trigger data format to Hexadecimal. + - ``SYMBolic`` specifies the trigger data format as Symbolic. + """ + return self._format + + @property + def value(self) -> TriggerABusDataValue: + """Return the ``TRIGger:A:BUS:DATa:VALue`` command. + + **Description:** + - This command sets or queries the trigger data value depending on the format selected + for the bus. The data value varies depending on the bus type and the number of input + signals. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:DATa:VALue + - TRIGger:A:BUS:DATa:VALue? + + **Info:** + - ```` is the data value in binary or hexadecimal format. The valid characters + are 0-9, A-F, and X for addresses in hexadecimal format and 0, 1, and X otherwise. + """ + return self._value + + +class TriggerABusCanIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:VALue + - TRIGger:A:BUS:CAN:IDentifier:VALue? + """ + + +class TriggerABusCanIdentifierMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + + **Description:** + - This command sets or queries CAN bus trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:IDentifier:MODe? + + **Info:** + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + + +class TriggerABusCanIdentifierFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + + +class TriggerABusCanIdentifierDirection(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:IDentifier:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier direction. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:DIRection?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:IDentifier:DIRection? + """ + + +class TriggerABusCanIdentifier(SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:IDentifier?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:IDentifier:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:IDentifier:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = TriggerABusCanIdentifierDirection(device, f"{self._cmd_syntax}:DIRection") + self._format = TriggerABusCanIdentifierFormat(device, f"{self._cmd_syntax}:FORMat") + self._mode = TriggerABusCanIdentifierMode(device, f"{self._cmd_syntax}:MODe") + self._value = TriggerABusCanIdentifierValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> TriggerABusCanIdentifierDirection: + """Return the ``TRIGger:A:BUS:CAN:IDentifier:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier direction. + + **Usage:** + - Using the ``.query()`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:DIRection?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:IDentifier:DIRection? + """ + return self._direction + + @property + def format(self) -> TriggerABusCanIdentifierFormat: + """Return the ``TRIGger:A:BUS:CAN:IDentifier:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:IDentifier:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + return self._format + + @property + def mode(self) -> TriggerABusCanIdentifierMode: + """Return the ``TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + + **Description:** + - This command sets or queries CAN bus trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:MODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:IDentifier:MODe? + + **Info:** + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + return self._mode + + @property + def value(self) -> TriggerABusCanIdentifierValue: + """Return the ``TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:IDentifier:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:IDentifier:VALue + - TRIGger:A:BUS:CAN:IDentifier:VALue? + """ + return self._value + + +class TriggerABusCanFrametype(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:FRAMEtype`` command. + + **Description:** + - This command sets or queries CAN bus trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - TRIGger:A:BUS:CAN:FRAMEtype? + """ + + +class TriggerABusCanDataValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa:VALue`` command. + + **Description:** + - This command sets or queries CAN bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:VALue + - TRIGger:A:BUS:CAN:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + + +class TriggerABusCanDataSize(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data size (the number of contiguous data + bytes to trigger on). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:SIZe + - TRIGger:A:BUS:CAN:DATa:SIZe? + + **Info:** + - ```` specifies the data size. + """ + + +class TriggerABusCanDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries CAN bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:QUALifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:CAN:DATa:QUALifier? + """ + + +class TriggerABusCanDataFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:FORMat value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + + +class TriggerABusCanDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data direction. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:DATa:DIRection? + + **Info:** + - ``DONTCare`` specifies the direction is a don't care. + - ``READ`` specifies the read direction. + - ``WRITE`` specifies the write direction. + """ + + +class TriggerABusCanData(SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:DATa:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:DATa:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:CAN:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = TriggerABusCanDataDirection(device, f"{self._cmd_syntax}:DIRection") + self._format = TriggerABusCanDataFormat(device, f"{self._cmd_syntax}:FORMat") + self._qualifier = TriggerABusCanDataQualifier(device, f"{self._cmd_syntax}:QUALifier") + self._size = TriggerABusCanDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = TriggerABusCanDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> TriggerABusCanDataDirection: + """Return the ``TRIGger:A:BUS:CAN:DATa:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data direction. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:DIRection?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:DATa:DIRection? + + **Info:** + - ``DONTCare`` specifies the direction is a don't care. + - ``READ`` specifies the read direction. + - ``WRITE`` specifies the write direction. + """ + return self._direction + + @property + def format(self) -> TriggerABusCanDataFormat: + """Return the ``TRIGger:A:BUS:CAN:DATa:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:DATa:FORMat? + + **Info:** + - ``BINary`` specifies the data format as binary. + - ``HEX`` specifies the data format as hexadecimal. + """ + return self._format + + @property + def qualifier(self) -> TriggerABusCanDataQualifier: + """Return the ``TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + + **Description:** + - This command sets or queries CAN bus trigger data qualifier. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:QUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:QUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:QUALifier value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan} + - TRIGger:A:BUS:CAN:DATa:QUALifier? + """ + return self._qualifier + + @property + def size(self) -> TriggerABusCanDataSize: + """Return the ``TRIGger:A:BUS:CAN:DATa:SIZe`` command. + + **Description:** + - This command sets or queries the CAN bus trigger data size (the number of contiguous + data bytes to trigger on). + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:SIZe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:SIZe + - TRIGger:A:BUS:CAN:DATa:SIZe? + + **Info:** + - ```` specifies the data size. + """ + return self._size + + @property + def value(self) -> TriggerABusCanDataValue: + """Return the ``TRIGger:A:BUS:CAN:DATa:VALue`` command. + + **Description:** + - This command sets or queries CAN bus trigger data value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:DATa:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:DATa:VALue + - TRIGger:A:BUS:CAN:DATa:VALue? + + **Info:** + - ```` specifies the data value. + """ + return self._value + + +class TriggerABusCanCondition(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:CONDition`` command. + + **Description:** + - This command sets or queries the CAN bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:CONDition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:CONDition {ERRor|DATA|IDANDDATA|EOF|IDentifier|ACKMISS|SOF|FRAMEtype} + - TRIGger:A:BUS:CAN:CONDition? + """ + + +class TriggerABusCanAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:ADDRess:VALue`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:VALue value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:VALue + - TRIGger:A:BUS:CAN:ADDRess:VALue? + """ + + +class TriggerABusCanAddressMode(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:ADDRess:MODe`` command. + + **Description:** + - This command sets or queries CAN bus trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:MODe value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:ADDRess:MODe? + + **Info:** + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + + +class TriggerABusCanAddressFormat(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:ADDRess:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + + +class TriggerABusCanAddressDirection(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:ADDRess:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier direction. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:ADDRess:DIRection? + """ + + +class TriggerABusCanAddress(SCPICmdRead): + """The ``TRIGger:A:BUS:CAN:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:ADDRess:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:ADDRess:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:CAN:ADDRess:MODe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = TriggerABusCanAddressDirection(device, f"{self._cmd_syntax}:DIRection") + self._format = TriggerABusCanAddressFormat(device, f"{self._cmd_syntax}:FORMat") + self._mode = TriggerABusCanAddressMode(device, f"{self._cmd_syntax}:MODe") + self._value = TriggerABusCanAddressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> TriggerABusCanAddressDirection: + """Return the ``TRIGger:A:BUS:CAN:ADDRess:DIRection`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier direction. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:DIRection?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:DIRection value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:DIRection {DONTCare|READ|WRITE} + - TRIGger:A:BUS:CAN:ADDRess:DIRection? + """ + return self._direction + + @property + def format(self) -> TriggerABusCanAddressFormat: + """Return the ``TRIGger:A:BUS:CAN:ADDRess:FORMat`` command. + + **Description:** + - This command sets or queries the CAN bus identifier format. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:FORMat value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:FORMat {BINary|HEX} + - TRIGger:A:BUS:CAN:ADDRess:FORMat? + + **Info:** + - ``BINary`` specifies the identifier format as binary. + - ``HEX`` specifies the identifier format as hexadecimal. + """ + return self._format + + @property + def mode(self) -> TriggerABusCanAddressMode: + """Return the ``TRIGger:A:BUS:CAN:ADDRess:MODe`` command. + + **Description:** + - This command sets or queries CAN bus trigger identifier mode. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:MODe {EXTENDed|STandard} + - TRIGger:A:BUS:CAN:ADDRess:MODe? + + **Info:** + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + return self._mode + + @property + def value(self) -> TriggerABusCanAddressValue: + """Return the ``TRIGger:A:BUS:CAN:ADDRess:VALue`` command. + + **Description:** + - This command sets or queries the CAN bus trigger identifier value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:VALue?`` + query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``TRIGger:A:BUS:CAN:ADDRess:VALue value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:ADDRess:VALue + - TRIGger:A:BUS:CAN:ADDRess:VALue? + """ + return self._value + + +class TriggerABusCan(SCPICmdRead): + """The ``TRIGger:A:BUS:CAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``TRIGger:A:BUS:CAN:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:CAN:DATa`` command tree. + - ``.frametype``: The ``TRIGger:A:BUS:CAN:FRAMEtype`` command. + - ``.identifier``: The ``TRIGger:A:BUS:CAN:IDentifier`` command tree. + - ``.address``: The ``TRIGger:A:BUS:CAN:ADDRess`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = TriggerABusCanCondition(device, f"{self._cmd_syntax}:CONDition") + self._data = TriggerABusCanData(device, f"{self._cmd_syntax}:DATa") + self._frametype = TriggerABusCanFrametype(device, f"{self._cmd_syntax}:FRAMEtype") + self._identifier = TriggerABusCanIdentifier(device, f"{self._cmd_syntax}:IDentifier") + self._address = TriggerABusCanAddress(device, f"{self._cmd_syntax}:ADDRess") + + @property + def condition(self) -> TriggerABusCanCondition: + """Return the ``TRIGger:A:BUS:CAN:CONDition`` command. + + **Description:** + - This command sets or queries the CAN bus trigger condition. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:CONDition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:CONDition value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:CONDition {ERRor|DATA|IDANDDATA|EOF|IDentifier|ACKMISS|SOF|FRAMEtype} + - TRIGger:A:BUS:CAN:CONDition? + """ # noqa: E501 + return self._condition + + @property + def data(self) -> TriggerABusCanData: + """Return the ``TRIGger:A:BUS:CAN:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:DATa:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:DATa:FORMat`` command. + - ``.qualifier``: The ``TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + - ``.size``: The ``TRIGger:A:BUS:CAN:DATa:SIZe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:DATa:VALue`` command. + """ + return self._data + + @property + def frametype(self) -> TriggerABusCanFrametype: + """Return the ``TRIGger:A:BUS:CAN:FRAMEtype`` command. + + **Description:** + - This command sets or queries CAN bus trigger frame type. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:CAN:FRAMEtype value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - TRIGger:A:BUS:CAN:FRAMEtype? + """ + return self._frametype + + @property + def identifier(self) -> TriggerABusCanIdentifier: + """Return the ``TRIGger:A:BUS:CAN:IDentifier`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:IDentifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:IDentifier:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:IDentifier:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + """ + return self._identifier + + @property + def address(self) -> TriggerABusCanAddress: + """Return the ``TRIGger:A:BUS:CAN:ADDRess`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN:ADDRess?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``TRIGger:A:BUS:CAN:ADDRess:DIRection`` command. + - ``.format``: The ``TRIGger:A:BUS:CAN:ADDRess:FORMat`` command. + - ``.mode``: The ``TRIGger:A:BUS:CAN:ADDRess:MODe`` command. + - ``.value``: The ``TRIGger:A:BUS:CAN:ADDRess:VALue`` command. + """ + return self._address + + +# pylint: disable=too-many-instance-attributes +class TriggerABus(SCPICmdRead): + """The ``TRIGger:A:BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.can``: The ``TRIGger:A:BUS:CAN`` command tree. + - ``.data``: The ``TRIGger:A:BUS:DATa`` command tree. + - ``.ethernet``: The ``TRIGger:A:BUS:ETHERnet`` command tree. + - ``.flexray``: The ``TRIGger:A:BUS:FLEXRAY`` command tree. + - ``.i2c``: The ``TRIGger:A:BUS:I2C`` command tree. + - ``.lin``: The ``TRIGger:A:BUS:LIN`` command tree. + - ``.mil1553b``: The ``TRIGger:A:BUS:MIL1553B`` command tree. + - ``.pcie``: The ``TRIGger:A:BUS:PCIE`` command tree. + - ``.rs232c``: The ``TRIGger:A:BUS:RS232C`` command tree. + - ``.s64b66b``: The ``TRIGger:A:BUS:S64B66B`` command tree. + - ``.s8b10b``: The ``TRIGger:A:BUS:S8B10B`` command tree. + - ``.source``: The ``TRIGger:A:BUS:SOUrce`` command. + - ``.spi``: The ``TRIGger:A:BUS:SPI`` command tree. + - ``.usb``: The ``TRIGger:A:BUS:USB`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._can = TriggerABusCan(device, f"{self._cmd_syntax}:CAN") + self._data = TriggerABusData(device, f"{self._cmd_syntax}:DATa") + self._ethernet = TriggerABusEthernet(device, f"{self._cmd_syntax}:ETHERnet") + self._flexray = TriggerABusFlexray(device, f"{self._cmd_syntax}:FLEXRAY") + self._i2c = TriggerABusI2c(device, f"{self._cmd_syntax}:I2C") + self._lin = TriggerABusLin(device, f"{self._cmd_syntax}:LIN") + self._mil1553b = TriggerABusMil1553b(device, f"{self._cmd_syntax}:MIL1553B") + self._pcie = TriggerABusPcie(device, f"{self._cmd_syntax}:PCIE") + self._rs232c = TriggerABusRs232c(device, f"{self._cmd_syntax}:RS232C") + self._s64b66b = TriggerABusS64b66b(device, f"{self._cmd_syntax}:S64B66B") + self._s8b10b = TriggerABusS8b10b(device, f"{self._cmd_syntax}:S8B10B") + self._source = TriggerABusSource(device, f"{self._cmd_syntax}:SOUrce") + self._spi = TriggerABusSpi(device, f"{self._cmd_syntax}:SPI") + self._usb = TriggerABusUsb(device, f"{self._cmd_syntax}:USB") + + @property + def can(self) -> TriggerABusCan: + """Return the ``TRIGger:A:BUS:CAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:CAN?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:BUS:CAN:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:CAN:DATa`` command tree. + - ``.frametype``: The ``TRIGger:A:BUS:CAN:FRAMEtype`` command. + - ``.identifier``: The ``TRIGger:A:BUS:CAN:IDentifier`` command tree. + - ``.address``: The ``TRIGger:A:BUS:CAN:ADDRess`` command tree. + """ + return self._can + + @property + def data(self) -> TriggerABusData: + """Return the ``TRIGger:A:BUS:DATa`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``TRIGger:A:BUS:DATa:FORMat`` command. + - ``.value``: The ``TRIGger:A:BUS:DATa:VALue`` command. + """ + return self._data + + @property + def ethernet(self) -> TriggerABusEthernet: + """Return the ``TRIGger:A:BUS:ETHERnet`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:ETHERnet?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``TRIGger:A:BUS:ETHERnet:DATa`` command tree. + - ``.ipheader``: The ``TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + """ + return self._ethernet + + @property + def flexray(self) -> TriggerABusFlexray: + """Return the ``TRIGger:A:BUS:FLEXRAY`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:FLEXRAY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:FLEXRAY?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:BUS:FLEXRAY:CONDition`` command. + - ``.cyclecount``: The ``TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + - ``.data``: The ``TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + - ``.eoftype``: The ``TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + - ``.errtype``: The ``TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + - ``.frametype``: The ``TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + - ``.header``: The ``TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + - ``.identifier``: The ``TRIGger:A:BUS:FLEXRAY:IDentifier`` command tree. + """ + return self._flexray + + @property + def i2c(self) -> TriggerABusI2c: + """Return the ``TRIGger:A:BUS:I2C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:I2C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``TRIGger:A:BUS:I2C:ADDress`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:I2C:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:I2C:DATa`` command tree. + """ + return self._i2c + + @property + def lin(self) -> TriggerABusLin: + """Return the ``TRIGger:A:BUS:LIN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:LIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:BUS:LIN:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:LIN:DATa`` command tree. + - ``.errtype``: The ``TRIGger:A:BUS:LIN:ERRTYPE`` command. + - ``.identifier``: The ``TRIGger:A:BUS:LIN:IDentifier`` command tree. + """ + return self._lin + + @property + def mil1553b(self) -> TriggerABusMil1553b: + """Return the ``TRIGger:A:BUS:MIL1553B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:MIL1553B?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:MIL1553B:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:MIL1553B:DATA`` command tree. + - ``.errtype``: The ``TRIGger:A:BUS:MIL1553B:ERRTYPE`` command. + - ``.status``: The ``TRIGger:A:BUS:MIL1553B:STATUS`` command tree. + - ``.time``: The ``TRIGger:A:BUS:MIL1553B:TIME`` command tree. + """ + return self._mil1553b + + @property + def pcie(self) -> TriggerABusPcie: + """Return the ``TRIGger:A:BUS:PCIE`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:PCIE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:PCIE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.character``: The ``TRIGger:A:BUS:PCIE:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:PCIE:CONDition`` command. + - ``.disparity``: The ``TRIGger:A:BUS:PCIE:DISParity`` command. + - ``.error``: The ``TRIGger:A:BUS:PCIE:ERROR`` command. + - ``.format``: The ``TRIGger:A:BUS:PCIE:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:BUS:PCIE:PATtern`` command tree. + """ + return self._pcie + + @property + def rs232c(self) -> TriggerABusRs232c: + """Return the ``TRIGger:A:BUS:RS232C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:RS232C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:BUS:RS232C:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:RS232C:DATa`` command tree. + """ + return self._rs232c + + @property + def s64b66b(self) -> TriggerABusS64b66b: + """Return the ``TRIGger:A:BUS:S64B66B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S64B66B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S64B66B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.blockone``: The ``TRIGger:A:BUS:S64B66B:BLOCKONE`` command. + - ``.blockonethentwo``: The ``TRIGger:A:BUS:S64B66B:BLOCKONETHENTWO`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:S64B66B:CONDition`` command. + """ + return self._s64b66b + + @property + def s8b10b(self) -> TriggerABusS8b10b: + """Return the ``TRIGger:A:BUS:S8B10B`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:S8B10B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:S8B10B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.character``: The ``TRIGger:A:BUS:S8B10B:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:S8B10B:CONDition`` command. + - ``.disparity``: The ``TRIGger:A:BUS:S8B10B:DISParity`` command. + - ``.error``: The ``TRIGger:A:BUS:S8B10B:ERROR`` command. + - ``.format``: The ``TRIGger:A:BUS:S8B10B:FORMat`` command. + - ``.pattern``: The ``TRIGger:A:BUS:S8B10B:PATtern`` command tree. + """ + return self._s8b10b + + @property + def source(self) -> TriggerABusSource: + """Return the ``TRIGger:A:BUS:SOUrce`` command. + + **Description:** + - This command sets or returns the source for a bus trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:BUS:SOUrce value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:BUS:SOUrce {B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12| B13|B14|B15|B16} + - TRIGger:A:BUS:SOUrce? + + **Info:** + - ``B`` sets the selected source to the bus. x has a minimum of 1 and a maximum of + 16. + """ + return self._source + + @property + def spi(self) -> TriggerABusSpi: + """Return the ``TRIGger:A:BUS:SPI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:SPI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:BUS:SPI:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:SPI:DATa`` command tree. + """ + return self._spi + + @property + def usb(self) -> TriggerABusUsb: + """Return the ``TRIGger:A:BUS:USB`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS:USB?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS:USB?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``TRIGger:A:BUS:USB:ADDress`` command tree. + - ``.character``: The ``TRIGger:A:BUS:USB:CHARacter`` command tree. + - ``.condition``: The ``TRIGger:A:BUS:USB:CONDition`` command. + - ``.data``: The ``TRIGger:A:BUS:USB:DATa`` command tree. + - ``.disparity``: The ``TRIGger:A:BUS:USB:DISParity`` command. + - ``.endpoint``: The ``TRIGger:A:BUS:USB:ENDPoint`` command tree. + - ``.error``: The ``TRIGger:A:BUS:USB:ERROR`` command. + - ``.errtype``: The ``TRIGger:A:BUS:USB:ERRTYPE`` command. + - ``.format``: The ``TRIGger:A:BUS:USB:FORMat`` command. + - ``.handshaketype``: The ``TRIGger:A:BUS:USB:HANDShaketype`` command. + - ``.pattern``: The ``TRIGger:A:BUS:USB:PATtern`` command tree. + - ``.qualifier``: The ``TRIGger:A:BUS:USB:QUAlifier`` command. + - ``.sof``: The ``TRIGger:A:BUS:USB:SOF`` command tree. + - ``.specialtype``: The ``TRIGger:A:BUS:USB:SPECIALType`` command. + - ``.split``: The ``TRIGger:A:BUS:USB:SPLIT`` command tree. + - ``.tokentype``: The ``TRIGger:A:BUS:USB:TOKENType`` command. + """ + return self._usb + + +# pylint: disable=too-many-instance-attributes +class TriggerA(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A`` command. + + **Description:** + - This command sets the A trigger level automatically to 50% of the range of the minimum and + maximum values of the trigger input signal. The query returns current trigger parameters. + The trigger level is the voltage threshold through which the trigger source signal must + pass to generate a trigger event. This command is equivalent to pushing the LEVEL knob on + the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A SETLevel + - TRIGger:A? + + **Info:** + - ``SETLevel`` sets the trigger level to 50% of the range of the minimum and maximum values + of the trigger input signal. + + Properties: + - ``.bus``: The ``TRIGger:A:BUS`` command tree. + - ``.can``: The ``TRIGger:A:CAN`` command tree. + - ``.communication``: The ``TRIGger:A:COMMunication`` command tree. + - ``.holdoff``: The ``TRIGger:A:HOLDoff`` command. + - ``.i2c``: The ``TRIGger:A:I2C`` command tree. + - ``.mode``: The ``TRIGger:A:MODe`` command. + - ``.plock``: The ``TRIGger:A:PLOCK`` command tree. + - ``.pulse``: The ``TRIGger:A:PULse`` command tree. + - ``.serial``: The ``TRIGger:A:SERIAL`` command tree. + - ``.spi``: The ``TRIGger:A:SPI`` command tree. + - ``.video``: The ``TRIGger:A:VIDeo`` command. + - ``.edge``: The ``TRIGger:A:EDGE`` command. + - ``.level``: The ``TRIGger:A:LEVel`` command. + - ``.logic``: The ``TRIGger:A:LOGIc`` command. + - ``.lowerthreshold``: The ``TRIGger:A:LOWerthreshold`` command tree. + - ``.ready``: The ``TRIGger:A:READY`` command. + - ``.type``: The ``TRIGger:A:TYPe`` command. + - ``.upperthreshold``: The ``TRIGger:A:UPPerthreshold`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = TriggerABus(device, f"{self._cmd_syntax}:BUS") + self._can = TriggerACan(device, f"{self._cmd_syntax}:CAN") + self._communication = TriggerACommunication(device, f"{self._cmd_syntax}:COMMunication") + self._holdoff = TriggerAHoldoff(device, f"{self._cmd_syntax}:HOLDoff") + self._i2c = TriggerAI2c(device, f"{self._cmd_syntax}:I2C") + self._mode = TriggerAMode(device, f"{self._cmd_syntax}:MODe") + self._plock = TriggerAPlock(device, f"{self._cmd_syntax}:PLOCK") + self._serial = TriggerASerial(device, f"{self._cmd_syntax}:SERIAL") + self._spi = TriggerASpi(device, f"{self._cmd_syntax}:SPI") + self._video = TriggerAVideo(device, f"{self._cmd_syntax}:VIDeo") + self._edge = TriggerAEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerALevel(device, f"{self._cmd_syntax}:LEVel") + self._logic = TriggerALogic(device, f"{self._cmd_syntax}:LOGIc") + self._lowerthreshold = TriggerALowerthreshold(device, f"{self._cmd_syntax}:LOWerthreshold") + self._pulse = TriggerAPulse(device, f"{self._cmd_syntax}:PULse") + self._ready = TriggerAReady(device, f"{self._cmd_syntax}:READY") + self._type = TriggerAType(device, f"{self._cmd_syntax}:TYPe") + self._upperthreshold = TriggerAUpperthreshold(device, f"{self._cmd_syntax}:UPPerthreshold") + + @property + def bus(self) -> TriggerABus: + """Return the ``TRIGger:A:BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:BUS?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.can``: The ``TRIGger:A:BUS:CAN`` command tree. + - ``.data``: The ``TRIGger:A:BUS:DATa`` command tree. + - ``.ethernet``: The ``TRIGger:A:BUS:ETHERnet`` command tree. + - ``.flexray``: The ``TRIGger:A:BUS:FLEXRAY`` command tree. + - ``.i2c``: The ``TRIGger:A:BUS:I2C`` command tree. + - ``.lin``: The ``TRIGger:A:BUS:LIN`` command tree. + - ``.mil1553b``: The ``TRIGger:A:BUS:MIL1553B`` command tree. + - ``.pcie``: The ``TRIGger:A:BUS:PCIE`` command tree. + - ``.rs232c``: The ``TRIGger:A:BUS:RS232C`` command tree. + - ``.s64b66b``: The ``TRIGger:A:BUS:S64B66B`` command tree. + - ``.s8b10b``: The ``TRIGger:A:BUS:S8B10B`` command tree. + - ``.source``: The ``TRIGger:A:BUS:SOUrce`` command. + - ``.spi``: The ``TRIGger:A:BUS:SPI`` command tree. + - ``.usb``: The ``TRIGger:A:BUS:USB`` command tree. + """ + return self._bus + + @property + def can(self) -> TriggerACan: + """Return the ``TRIGger:A:CAN`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:CAN?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:CAN:CONDition`` command. + - ``.data``: The ``TRIGger:A:CAN:DATa`` command tree. + - ``.format``: The ``TRIGger:A:CAN:FORMat`` command. + - ``.frametype``: The ``TRIGger:A:CAN:FRAMEtype`` command. + - ``.identifier``: The ``TRIGger:A:CAN:IDENTifier`` command tree. + - ``.probe``: The ``TRIGger:A:CAN:PROBE`` command. + - ``.speed``: The ``TRIGger:A:CAN:SPEed`` command. + """ + return self._can + + @property + def communication(self) -> TriggerACommunication: + """Return the ``TRIGger:A:COMMunication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:COMMunication?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:COMMunication?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bitrate``: The ``TRIGger:A:COMMunication:BITRate`` command. + - ``.clock``: The ``TRIGger:A:COMMunication:CLOCk`` command tree. + - ``.cmi``: The ``TRIGger:A:COMMunication:CMI`` command tree. + - ``.code``: The ``TRIGger:A:COMMunication:CODe`` command. + - ``.source``: The ``TRIGger:A:COMMunication:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:COMMunication:STANdard`` command. + - ``.ami``: The ``TRIGger:A:COMMunication:AMI`` command tree. + - ``.hdb3``: The ``TRIGger:A:COMMunication:HDB3`` command tree. + - ``.b3zs``: The ``TRIGger:A:COMMunication:B3ZS`` command tree. + - ``.b6zs``: The ``TRIGger:A:COMMunication:B6ZS`` command tree. + - ``.b8zs``: The ``TRIGger:A:COMMunication:B8ZS`` command tree. + """ + return self._communication + + @property + def holdoff(self) -> TriggerAHoldoff: + """Return the ``TRIGger:A:HOLDoff`` command. + + **Description:** + - Returns the A trigger holdoff parameters. These parameters specify the time period + during which the trigger circuitry is not looking to generate a trigger event. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:HOLDoff?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:HOLDoff?`` query and + raise an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:HOLDoff? + + Sub-properties: + - ``.actual``: The ``TRIGger:A:HOLDoff:ACTUal`` command. + - ``.by``: The ``TRIGger:A:HOLDoff:BY`` command. + - ``.time``: The ``TRIGger:A:HOLDoff:TIMe`` command. + """ + return self._holdoff + + @property + def i2c(self) -> TriggerAI2c: + """Return the ``TRIGger:A:I2C`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:I2C?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``TRIGger:A:I2C:ADDRess`` command tree. + """ + return self._i2c + + @property + def mode(self) -> TriggerAMode: + """Return the ``TRIGger:A:MODe`` command. + + **Description:** + - This command sets or queries the A trigger mode. This command is equivalent to pushing + the Mode button on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:MODe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:MODe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:MODe {AUTO|NORMal} + - TRIGger:A:MODe? + + **Info:** + - ``AUTO`` generates a trigger if one is not detected within a specified time period. + - ``NORMal`` waits for a valid trigger event. + """ + return self._mode + + @property + def plock(self) -> TriggerAPlock: + """Return the ``TRIGger:A:PLOCK`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PLOCK?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PLOCK?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.count``: The ``TRIGger:A:PLOCK:COUNT`` command. + - ``.length``: The ``TRIGger:A:PLOCK:LENGTH`` command. + - ``.source``: The ``TRIGger:A:PLOCK:SOURCE`` command. + """ + return self._plock + + @property + def serial(self) -> TriggerASerial: + """Return the ``TRIGger:A:SERIAL`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SERIAL?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SERIAL?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bitrate``: The ``TRIGger:A:SERIAL:BITRate`` command. + - ``.clock``: The ``TRIGger:A:SERIAL:CLOCk`` command tree. + - ``.code``: The ``TRIGger:A:SERIAL:CODe`` command. + - ``.data``: The ``TRIGger:A:SERIAL:DATa`` command tree. + - ``.errordetector``: The ``TRIGger:A:SERIAL:ERRORdetector`` command tree. + - ``.locklen``: The ``TRIGger:A:SERIAL:LOCKLen`` command. + - ``.lockoffset``: The ``TRIGger:A:SERIAL:LOCKOffset`` command. + - ``.source``: The ``TRIGger:A:SERIAL:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:SERIAL:STANdard`` command. + - ``.triggeron``: The ``TRIGger:A:SERIAL:TRIGgeron`` command. + """ + return self._serial + + @property + def spi(self) -> TriggerASpi: + """Return the ``TRIGger:A:SPI`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:SPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``TRIGger:A:SPI:CONDition`` command. + - ``.data``: The ``TRIGger:A:SPI:DATa`` command tree. + - ``.format``: The ``TRIGger:A:SPI:FORMat`` command. + - ``.sclk``: The ``TRIGger:A:SPI:SCLK`` command tree. + - ``.ss``: The ``TRIGger:A:SPI:SS`` command tree. + """ + return self._spi + + @property + def video(self) -> TriggerAVideo: + """Return the ``TRIGger:A:VIDeo`` command. + + **Description:** + - Returns the A trigger video parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:VIDeo?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:VIDeo?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:VIDeo? + + Sub-properties: + - ``.custom``: The ``TRIGger:A:VIDeo:CUSTom`` command. + - ``.field``: The ``TRIGger:A:VIDeo:FIELD`` command. + - ``.holdoff``: The ``TRIGger:A:VIDeo:HOLdoff`` command tree. + - ``.line``: The ``TRIGger:A:VIDeo:LINE`` command. + - ``.polarity``: The ``TRIGger:A:VIDeo:POLarity`` command. + - ``.scan``: The ``TRIGger:A:VIDeo:SCAN`` command. + - ``.source``: The ``TRIGger:A:VIDeo:SOUrce`` command. + - ``.standard``: The ``TRIGger:A:VIDeo:STANdard`` command. + """ + return self._video + + @property + def edge(self) -> TriggerAEdge: + """Return the ``TRIGger:A:EDGE`` command. + + **Description:** + - This query-only command returns the trigger source, coupling, and slope for the + specified edge trigger. This command is equivalent to selecting Edge Setup from the + Trig menu and viewing the current setups, or selecting B Event (Delayed) Trigger Setup + from the Trig menu and viewing the current Source, Slope, and Coupling settings. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:EDGE? + + Sub-properties: + - ``.coupling``: The ``TRIGger:A:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:A:EDGE:SOUrce`` command. + """ + return self._edge + + @property + def level(self) -> TriggerALevel: + """Return the ``TRIGger:A:LEVel`` command. + + **Description:** + - This command sets or queries the level for the trigger. This command is equivalent to + selecting Holdoff from the Trig menu and then viewing or setting the trigger Level or + selecting B Event (Delayed) Trigger Setup from the Trig menu and setting the B Trig + Level voltage. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LEVel {ECL|TTL|} + - TRIGger:A:LEVel? + + **Info:** + - ``ECL`` specifies the ECL high level. + - ``TTL`` specifies the TTL high level. + - ```` specifies the trigger level in user units (usually volts). + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LEVel:CH`` command. + """ + return self._level + + @property + def logic(self) -> TriggerALogic: + """Return the ``TRIGger:A:LOGIc`` command. + + **Description:** + - This query-only command returns all of the logic trigger parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOGIc?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:LOGIc? + + Sub-properties: + - ``.class``: The ``TRIGger:A:LOGIc:CLAss`` command. + - ``.function``: The ``TRIGger:A:LOGIc:FUNCtion`` command. + - ``.input``: The ``TRIGger:A:LOGIc:INPut`` command. + - ``.pattern``: The ``TRIGger:A:LOGIc:PATtern`` command. + - ``.sethold``: The ``TRIGger:A:LOGIc:SETHold`` command. + - ``.state``: The ``TRIGger:A:LOGIc:STATE`` command. + - ``.threshold``: The ``TRIGger:A:LOGIc:THReshold`` command. + """ + return self._logic + + @property + def lowerthreshold(self) -> TriggerALowerthreshold: + """Return the ``TRIGger:A:LOWerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:LOWerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LOWerthreshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LOWerthreshold:CH`` command. + """ + return self._lowerthreshold + + @property + def pulse(self) -> TriggerAPulse: + """Return the ``TRIGger:A:PULse`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:PULse?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:PULse?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.period``: The ``TRIGger:A:PULse:PERiod`` command. + - ``.runt``: The ``TRIGger:A:PULse:RUNT`` command tree. + - ``.window``: The ``TRIGger:A:PULse:WINdow`` command tree. + - ``.class``: The ``TRIGger:A:PULse:CLAss`` command. + - ``.glitch``: The ``TRIGger:A:PULse:GLItch`` command. + - ``.source``: The ``TRIGger:A:PULse:SOUrce`` command. + - ``.timeout``: The ``TRIGger:A:PULse:TIMEOut`` command. + - ``.transition``: The ``TRIGger:A:PULse:TRANsition`` command. + - ``.width``: The ``TRIGger:A:PULse:WIDth`` command. + """ + return self._pulse + + @property + def ready(self) -> TriggerAReady: + """Return the ``TRIGger:A:READY`` command. + + **Description:** + - This command queries the trigger ready state and provides the immediate state from the + trigger system. It is a more synchronous means of determining when the oscilloscope is + ready to trigger. The ``TRIGGER:STATE`` reflects a less-frequently updated status of + the trigger LEDs on the instrument front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:READY?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:READY?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:A:READY? + """ + return self._ready + + @property + def type(self) -> TriggerAType: + """Return the ``TRIGger:A:TYPe`` command. + + **Description:** + - This command sets or queries the type of A or B trigger. Logic and Pulse triggers + contain classes. Logic triggers consist of State and Pattern classes; Pulse triggers + consist of Glitch, Runt, Width, Transition, Timeout, and Window classes. Once you have + set the trigger type, you might also need to identify the associated trigger class. + For details on selecting Logic and Pulse trigger classes, see and respectively. This + command is similar to selecting Event Trigger Setup from the Trig menu and then + selecting the desired Trigger Type. Some trigger types are not available on some + instruments. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:TYPe value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A:TYPe {EDGE|LOGIc|PULse|VIDeo| I2C|CAN|SPI|COMMunication|SERIAL|RS232}} + - TRIGger:A:TYPe? + + **Info:** + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the ``TRIGger:A:LOGIc`` commands. + - ``PULse`` specifies that a trigger occurs when a specified pulse is found and is + controlled by the ``TRIGger:A:PULse`` commands. + - ``VIDeo`` specifies that the trigger occurs when a video signal is found. Requires an + instrument with video hardware. + - ``I2C`` specifies that a trigger occurs when an Inter-IC Control signal is found. + - ``CAN`` specifies that a trigger occurs when a Controller Area Network frame signal is + found. + - ``SPI`` specifies that a trigger occurs when a Serial Peripheral Interface signal is + found. + - ``COMMunication`` (Option MTM) specifies that a trigger occurs when a communications + signal is found. Supports AMI, HDB3, B3ZS, B6ZS, B8ZS, CMI, MLT3, Manchester, and NRZ + encoded communications signals. COMMunication is available only if Option MTM is + installed. + - ``SERIAL`` specifies that a trigger occurs when NRZ-encoded data is found, providing a + 32-bit serial word. This argument is available with instruments with Option PTM. + - ``RS232`` takes a signal on a data source and allows you to trigger on data within the + RS232 bitstream. The data is only one byte wide. + """ + return self._type + + @property + def upperthreshold(self) -> TriggerAUpperthreshold: + """Return the ``TRIGger:A:UPPerthreshold`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A:UPPerthreshold?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:UPPerthreshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:UPPerthreshold:CH`` command. + """ + return self._upperthreshold + + +# pylint: disable=too-many-instance-attributes +class Trigger(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger`` command. + + **Description:** + - This command forces a trigger event to occur. The query returns the current trigger + parameters for the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger FORCe + - TRIGger? + + **Info:** + - ``FORCe`` creates a trigger event. If ``TRIGger:STATE`` is set to READy, the acquisition + will complete. Otherwise, this command will be ignored. This is equivalent to pressing the + Force button on the front panel. + + Properties: + - ``.a``: The ``TRIGger:A`` command. + - ``.auxlevel``: The ``TRIGger:AUXLevel`` command. + - ``.b``: The ``TRIGger:B`` command. + - ``.enhanced``: The ``TRIGger:ENHanced`` command. + - ``.equation``: The ``TRIGger:EQUation`` command. + - ``.lvlsrcpreference``: The ``TRIGger:LVLSrcpreference`` command. + - ``.main``: The ``TRIGger:MAIn`` command tree. + - ``.multiscope``: The ``TRIGger:MULTiscope`` command. + - ``.qualification``: The ``TRIGger:QUALification`` command tree. + - ``.sensitivity``: The ``TRIGger:SENSITivity`` command. + - ``.showequation``: The ``TRIGger:SHOWEQuation`` command. + - ``.state``: The ``TRIGger:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "TRIGger") -> None: + super().__init__(device, cmd_syntax) + self._auxlevel = TriggerAuxlevel(device, f"{self._cmd_syntax}:AUXLevel") + self._enhanced = TriggerEnhanced(device, f"{self._cmd_syntax}:ENHanced") + self._equation: Dict[int, TriggerEquationItem] = DefaultDictPassKeyToFactory( + lambda x: TriggerEquationItem(device, f"{self._cmd_syntax}:EQUation{x}") + ) + self._lvlsrcpreference = TriggerLvlsrcpreference( + device, f"{self._cmd_syntax}:LVLSrcpreference" + ) + self._main = TriggerMain(device, f"{self._cmd_syntax}:MAIn") + self._multiscope = TriggerMultiscope(device, f"{self._cmd_syntax}:MULTiscope") + self._qualification = TriggerQualification(device, f"{self._cmd_syntax}:QUALification") + self._sensitivity = TriggerSensitivity(device, f"{self._cmd_syntax}:SENSITivity") + self._showequation = TriggerShowequation(device, f"{self._cmd_syntax}:SHOWEQuation") + self._state = TriggerState(device, f"{self._cmd_syntax}:STATE") + self._a = TriggerA(device, f"{self._cmd_syntax}:A") + self._b = TriggerB(device, f"{self._cmd_syntax}:B") + + @property + def auxlevel(self) -> TriggerAuxlevel: + """Return the ``TRIGger:AUXLevel`` command. + + **Description:** + - For those instruments that have an Auxiliary Input (such as an MSO58LP), this command + sets or queries the Auxiliary Input voltage level to use for an edge trigger. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:AUXLevel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:AUXLevel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:AUXLevel value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:AUXLevel {|ECL|TTL} + - TRIGger:AUXLevel? + + **Info:** + - ```` is trigger level in Volts. + - ``ECL`` sets trigger level to -1.3 Volts. + - ``TTL`` sets trigger level to 1.4 Volts. + """ + return self._auxlevel + + @property + def enhanced(self) -> TriggerEnhanced: + """Return the ``TRIGger:ENHanced`` command. + + **Description:** + - This command sets or queries the state of trigger position enhancement. When on, the + instrument improves the trigger positioning to more closely match the acquired data. + This is equivalent to selecting Enhanced Triggering from the Trigger Mode menu. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:ENHanced?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:ENHanced?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:ENHanced value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:ENHanced {|OFF|ON} + - TRIGger:ENHanced? + + **Info:** + - ```` = 0 disables trigger position enhancement, any other value enables trigger + position enhancement. + - ``OFF`` disables trigger position enhancement. + - ``ON`` enables trigger position enhancement. + """ + return self._enhanced + + @property + def equation(self) -> Dict[int, TriggerEquationItem]: + """Return the ``TRIGger:EQUation`` command. + + **Description:** + - Sets the Visual Trigger Equation string, which defines the behavior of the areas. + There can be only one equation, which can be up to 128 characters. You can enter the + command as ``TRIGGER:EQUATION`` or ``TRIGGER:EQUATION1``. Each area is assigned a + single source (analog channel 1, 2, 3, or 4). Any analog channel can be used as the + source for one or more areas. Some basic equations are: (C1 IN A1) - The channel 1 + waveform must intersect with Area 1. (C2 OUT A2) - The channel 2 waveform must NOT + intersect with Area 2. ((C1 IN A1) and (C2 OUT A2)) - Combines the previous two + examples. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:EQUation?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:EQUation?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:EQUation value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:EQUation + - TRIGger:EQUation? + + **Info:** + - ```` is the equation that you want to use for visual triggering. This equation + is shown on the oscilloscope screen when visual triggering is enabled. + """ + return self._equation + + @property + def lvlsrcpreference(self) -> TriggerLvlsrcpreference: + """Return the ``TRIGger:LVLSrcpreference`` command. + + **Description:** + - This command sets or queries the dependent source/level trigger feature. + SRCIndependent is the default value. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:LVLSrcpreference?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:LVLSrcpreference?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:LVLSrcpreference value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:LVLSrcpreference {SRCDependent|SRCIndependent} + - TRIGger:LVLSrcpreference? + + **Info:** + - ``SRCDependent`` sets the level of all trigger sources to the value you currently + select, regardless of the last value selected. + - ``SRCIndependent`` sets each trigger source to the level you are currently selecting. + """ + return self._lvlsrcpreference + + @property + def main(self) -> TriggerMain: + """Return the ``TRIGger:MAIn`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MAIn?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MAIn?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pulse``: The ``TRIGger:MAIn:PULse`` command tree. + """ + return self._main + + @property + def multiscope(self) -> TriggerMultiscope: + """Return the ``TRIGger:MULTiscope`` command. + + **Description:** + - This command sets or queries the state of MultiScope triggering, either ENABle or + DISable. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:MULTiscope?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:MULTiscope?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:MULTiscope value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:MULTiscope {DISable|ENable} + - TRIGger:MULTiscope? + + **Info:** + - ``DISable`` sets the MultiScope triggering state to disabled. + - ``ENable`` sets the MultiScope triggering state to enabled. + + Sub-properties: + - ``.align``: The ``TRIGger:MULTiscope:ALIGN`` command. + - ``.delay``: The ``TRIGger:MULTiscope:DELay`` command. + - ``.logic``: The ``TRIGger:MULTiscope:LOGic`` command. + - ``.option``: The ``TRIGger:MULTiscope:OPTion`` command. + - ``.role``: The ``TRIGger:MULTiscope:ROLe`` command. + """ + return self._multiscope + + @property + def qualification(self) -> TriggerQualification: + """Return the ``TRIGger:QUALification`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:QUALification?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:QUALification?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bus``: The ``TRIGger:QUALification:BUS`` command tree. + """ + return self._qualification + + @property + def sensitivity(self) -> TriggerSensitivity: + """Return the ``TRIGger:SENSITivity`` command. + + **Description:** + - This command set or queries the state of trigger sensitivity. When on, the instrument + calculates a rolling average for trigger position enhancement to suppress trigger + jitter in noisy signals. This is equivalent to selecting Higher Sensitivity for Noisy + Signals from the Trigger Mode menu. This is available only when ``TRIGGER:ENHANCED`` + or the equivalent check box control is also on. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:SENSITivity?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:SENSITivity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:SENSITivity value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:SENSITivity {|OFF|ON} + - TRIGger:SENSITivity? + + **Info:** + - ```` = 0 disables rolling averaging, any other value enables rolling averaging + for trigger position enhancement. + - ``OFF`` disables rolling averaging for trigger position enhancement. + - ``ON`` enables rolling averaging for trigger position enhancement. + """ + return self._sensitivity + + @property + def showequation(self) -> TriggerShowequation: + """Return the ``TRIGger:SHOWEQuation`` command. + + **Description:** + - Causes the Visual Trigger Equation to be displayed in the upper left portion of the + oscilloscope graticule. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:SHOWEQuation?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:SHOWEQuation?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:SHOWEQuation value`` + command. + + **SCPI Syntax:** + + :: + + - TRIGger:SHOWEQuation {ON|OFF} + - TRIGger:SHOWEQuation? + + **Info:** + - ``ON`` causes the equation to appear on screen. + - ``Off`` hides the equation. + """ + return self._showequation + + @property + def state(self) -> TriggerState: + """Return the ``TRIGger:STATE`` command. + + **Description:** + - This query-only command returns the current state of the triggering system. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:STATE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - TRIGger:STATE? + """ + return self._state + + @property + def a(self) -> TriggerA: + """Return the ``TRIGger:A`` command. + + **Description:** + - This command sets the A trigger level automatically to 50% of the range of the minimum + and maximum values of the trigger input signal. The query returns current trigger + parameters. The trigger level is the voltage threshold through which the trigger + source signal must pass to generate a trigger event. This command is equivalent to + pushing the LEVEL knob on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:A SETLevel + - TRIGger:A? + + **Info:** + - ``SETLevel`` sets the trigger level to 50% of the range of the minimum and maximum + values of the trigger input signal. + + Sub-properties: + - ``.bus``: The ``TRIGger:A:BUS`` command tree. + - ``.can``: The ``TRIGger:A:CAN`` command tree. + - ``.communication``: The ``TRIGger:A:COMMunication`` command tree. + - ``.holdoff``: The ``TRIGger:A:HOLDoff`` command. + - ``.i2c``: The ``TRIGger:A:I2C`` command tree. + - ``.mode``: The ``TRIGger:A:MODe`` command. + - ``.plock``: The ``TRIGger:A:PLOCK`` command tree. + - ``.pulse``: The ``TRIGger:A:PULse`` command tree. + - ``.serial``: The ``TRIGger:A:SERIAL`` command tree. + - ``.spi``: The ``TRIGger:A:SPI`` command tree. + - ``.video``: The ``TRIGger:A:VIDeo`` command. + - ``.edge``: The ``TRIGger:A:EDGE`` command. + - ``.level``: The ``TRIGger:A:LEVel`` command. + - ``.logic``: The ``TRIGger:A:LOGIc`` command. + - ``.lowerthreshold``: The ``TRIGger:A:LOWerthreshold`` command tree. + - ``.ready``: The ``TRIGger:A:READY`` command. + - ``.type``: The ``TRIGger:A:TYPe`` command. + - ``.upperthreshold``: The ``TRIGger:A:UPPerthreshold`` command tree. + """ + return self._a + + @property + def b(self) -> TriggerB: + """Return the ``TRIGger:B`` command. + + **Description:** + - This command sets the B trigger level to 50% of minimum and maximum. The query form of + this command returns the B trigger parameters. This command is similar to selecting B + Event (Delayed) Trigger Setup from the Trig menu and then viewing the current setups. + + **Usage:** + - Using the ``.write(value)`` method will send the ``TRIGger:B value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger:B SETLevel + + **Info:** + - ``SETLevel`` sets the B trigger level to 50% of MIN and MAX. + + Sub-properties: + - ``.by``: The ``TRIGger:B:BY`` command. + - ``.events``: The ``TRIGger:B:EVENTS`` command. + - ``.pulse``: The ``TRIGger:B:PULse`` command tree. + - ``.reset``: The ``TRIGger:B:RESET`` command tree. + - ``.scan``: The ``TRIGger:B:SCAN`` command tree. + - ``.state``: The ``TRIGger:B:STATE`` command. + - ``.time``: The ``TRIGger:B:TIMe`` command. + - ``.edge``: The ``TRIGger:B:EDGE`` command. + - ``.level``: The ``TRIGger:B:LEVel`` command. + - ``.logic``: The ``TRIGger:B:LOGIc`` command. + - ``.lowerthreshold``: The ``TRIGger:B:LOWerthreshold`` command tree. + - ``.ready``: The ``TRIGger:B:READY`` command. + - ``.type``: The ``TRIGger:B:TYPe`` command. + - ``.upperthreshold``: The ``TRIGger:B:UPPerthreshold`` command tree. + """ + return self._b diff --git a/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_fpx9s1_dpodsamso/__init__.py similarity index 100% rename from src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/__init__.py rename to src/tm_devices/commands/_fpx9s1_dpodsamso/__init__.py diff --git a/src/tm_devices/commands/_5xwdsk_dpodsamso/counter.py b/src/tm_devices/commands/_fpx9s1_dpodsamso/counter.py similarity index 99% rename from src/tm_devices/commands/_5xwdsk_dpodsamso/counter.py rename to src/tm_devices/commands/_fpx9s1_dpodsamso/counter.py index 4470657d..51900b35 100644 --- a/src/tm_devices/commands/_5xwdsk_dpodsamso/counter.py +++ b/src/tm_devices/commands/_fpx9s1_dpodsamso/counter.py @@ -1,7 +1,8 @@ """The counter commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, MSO70KC, +MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5xwdsk_dpodsamso/linktraining.py b/src/tm_devices/commands/_fpx9s1_dpodsamso/linktraining.py similarity index 99% rename from src/tm_devices/commands/_5xwdsk_dpodsamso/linktraining.py rename to src/tm_devices/commands/_fpx9s1_dpodsamso/linktraining.py index 2c664bf8..5e737430 100644 --- a/src/tm_devices/commands/_5xwdsk_dpodsamso/linktraining.py +++ b/src/tm_devices/commands/_fpx9s1_dpodsamso/linktraining.py @@ -1,7 +1,8 @@ """The linktraining commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, MSO70KC, +MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_5xwdsk_dpodsamso/rosc.py b/src/tm_devices/commands/_fpx9s1_dpodsamso/rosc.py similarity index 99% rename from src/tm_devices/commands/_5xwdsk_dpodsamso/rosc.py rename to src/tm_devices/commands/_fpx9s1_dpodsamso/rosc.py index 376f28e4..32781e08 100644 --- a/src/tm_devices/commands/_5xwdsk_dpodsamso/rosc.py +++ b/src/tm_devices/commands/_fpx9s1_dpodsamso/rosc.py @@ -1,7 +1,8 @@ """The rosc commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7KC, DSA70KC, DSA70KD, MSO5KB, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO7K, DPO7KC, DSA70KC, DSA70KD, MSO5K, MSO5KB, MSO70KC, +MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/__init__.py b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/__init__.py rename to src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/__init__.py diff --git a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/calibration.py similarity index 81% rename from src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py rename to src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/calibration.py index 6419ed92..9d88c5b3 100644 --- a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/calibration.py +++ b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/calibration.py @@ -2,9 +2,9 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, -DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, -MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, +LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py similarity index 89% rename from src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py rename to src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py index c3914474..02737468 100644 --- a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/miscellaneous.py +++ b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py @@ -2,9 +2,9 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, -DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, -MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, +LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py similarity index 96% rename from src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py index 6116c52a..d86ecdca 100644 --- a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py @@ -2,9 +2,9 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, -DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, -MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, -MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, +LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/__init__.py b/src/tm_devices/commands/_fteabn_lpdmsomdodpoafgawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_ea3vk0_lpdmsodpomdoafgawgdsa/__init__.py rename to src/tm_devices/commands/_fteabn_lpdmsomdodpoafgawgdsa/__init__.py diff --git a/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py b/src/tm_devices/commands/_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py similarity index 86% rename from src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py index e710db28..bfbdfab0 100644 --- a/src/tm_devices/commands/_e9znur_lpdmsomdodpoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py @@ -2,9 +2,9 @@ These commands are used in the following models: AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO4K, DPO4KB, -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, -MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, -MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, +MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, +MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/__init__.py b/src/tm_devices/commands/_fug7nl_lpdmsodpomdoawgdsa/__init__.py similarity index 100% rename from src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/__init__.py rename to src/tm_devices/commands/_fug7nl_lpdmsodpomdoawgdsa/__init__.py diff --git a/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py b/src/tm_devices/commands/_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py similarity index 91% rename from src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py rename to src/tm_devices/commands/_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py index 2cc68aab..f0ff6d16 100644 --- a/src/tm_devices/commands/_ecer2i_lpdmsodpomdoawgdsa/status_and_error.py +++ b/src/tm_devices/commands/_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py @@ -1,10 +1,10 @@ """The status_and_error commands module. These commands are used in the following models: -AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, -DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, -MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, -MSO70KC, MSO70KDX +AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, +DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, +MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, +MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/__init__.py b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/alias.py similarity index 98% rename from src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py rename to src/tm_devices/commands/_fuzvln_lpdmsodpodsa/alias.py index 9e3b88f9..3a2af1c4 100644 --- a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/alias.py +++ b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/alias.py @@ -1,8 +1,8 @@ """The alias commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/header.py similarity index 91% rename from src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py rename to src/tm_devices/commands/_fuzvln_lpdmsodpodsa/header.py index 1d0fd8db..54815dab 100644 --- a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/header.py +++ b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/header.py @@ -1,8 +1,8 @@ """The header commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/status_and_error.py similarity index 92% rename from src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py rename to src/tm_devices/commands/_fuzvln_lpdmsodpodsa/status_and_error.py index 713d7621..c7ba5c1c 100644 --- a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/status_and_error.py +++ b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/status_and_error.py @@ -1,8 +1,8 @@ """The status_and_error commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/verbose.py similarity index 88% rename from src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py rename to src/tm_devices/commands/_fuzvln_lpdmsodpodsa/verbose.py index b9b999ab..2647c5c3 100644 --- a/src/tm_devices/commands/_e5nqsy_lpdmsodpodsa/verbose.py +++ b/src/tm_devices/commands/_fuzvln_lpdmsodpodsa/verbose.py @@ -1,8 +1,8 @@ """The verbose commands module. These commands are used in the following models: -DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, MSO4, MSO4B, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/allev.py similarity index 82% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/allev.py index e04093f3..afd7a2e0 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/allev.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/allev.py @@ -1,9 +1,9 @@ """The allev commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/busy.py similarity index 79% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/busy.py index 3a47da70..b01ef269 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/busy.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/busy.py @@ -1,9 +1,9 @@ """The busy commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/dese.py similarity index 86% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/dese.py index 89d4b16b..63bb6902 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/dese.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/dese.py @@ -1,9 +1,9 @@ """The dese commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/event.py similarity index 80% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/event.py index f1eb1e72..b9e7c95a 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/event.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/event.py @@ -1,9 +1,9 @@ """The event commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evmsg.py similarity index 81% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evmsg.py index e2ede9f4..e481d2ad 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evmsg.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evmsg.py @@ -1,9 +1,9 @@ """The evmsg commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evqty.py similarity index 80% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evqty.py index 423aa812..b5cc9be9 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/evqty.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/evqty.py @@ -1,9 +1,9 @@ """The evqty commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/factory.py similarity index 84% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/factory.py index 57beb6a3..7f056662 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/factory.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/factory.py @@ -1,9 +1,9 @@ """The factory commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/id.py similarity index 80% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/id.py index 3e49aae8..914834d4 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/id.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/id.py @@ -1,9 +1,9 @@ """The id commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/miscellaneous.py similarity index 91% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/miscellaneous.py index bf5bc3c1..f0074370 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/miscellaneous.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/miscellaneous.py @@ -1,9 +1,9 @@ """The miscellaneous commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/newpass.py similarity index 81% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/newpass.py index 4722b786..ef4442a3 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/newpass.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/newpass.py @@ -1,9 +1,9 @@ """The newpass commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/password.py similarity index 85% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/password.py index 8f35cb6a..9e846b8f 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/password.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/password.py @@ -1,9 +1,9 @@ """The password commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/rem.py similarity index 80% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/rem.py index 0f8d9156..26ff68ed 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/rem.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/rem.py @@ -1,9 +1,9 @@ """The rem commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/set.py similarity index 85% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/set.py index 6fe43c64..e1bef207 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/set.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/set.py @@ -1,9 +1,9 @@ """The set commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/status_and_error.py similarity index 84% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/status_and_error.py index eeba3534..4227b546 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/status_and_error.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/status_and_error.py @@ -1,9 +1,9 @@ """The status_and_error commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/teksecure.py similarity index 80% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/teksecure.py index 4a343244..fdcdc71f 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/teksecure.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/teksecure.py @@ -1,9 +1,9 @@ """The teksecure commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/wavfrm.py similarity index 81% rename from src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py rename to src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/wavfrm.py index d03625f8..e44b867a 100644 --- a/src/tm_devices/commands/_e3bgpz_lpdmsodpomdodsa/wavfrm.py +++ b/src/tm_devices/commands/_fx54ua_lpdmsodpomdodsa/wavfrm.py @@ -1,9 +1,9 @@ """The wavfrm commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, -MSO5, MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/__init__.py b/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py b/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/lock.py similarity index 88% rename from src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py rename to src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/lock.py index 7fc8d39c..757de6dd 100644 --- a/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/lock.py +++ b/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/lock.py @@ -1,9 +1,9 @@ """The lock commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py b/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/unlock.py similarity index 80% rename from src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py rename to src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/unlock.py index 6e591f08..0c44af2a 100644 --- a/src/tm_devices/commands/_e5td2t_lpdmsodpomdodsa/unlock.py +++ b/src/tm_devices/commands/_fzn174_lpdmsodpomdodsa/unlock.py @@ -1,9 +1,9 @@ """The unlock commands module. These commands are used in the following models: -DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7KC, DSA70KC, -DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/_helpers/generic_commands.py b/src/tm_devices/commands/_helpers/generic_commands.py index b1350290..0e55f84a 100644 --- a/src/tm_devices/commands/_helpers/generic_commands.py +++ b/src/tm_devices/commands/_helpers/generic_commands.py @@ -53,7 +53,7 @@ def __missing__(self, key: Any) -> Any: # noinspection PyArgumentList # pylint: disable=not-callable dict.__setitem__(self, key, self.default_factory(key)) # type: ignore return cast(Any, self[key]) - return cast(Any, super().__missing__(key)) # pyright: ignore[reportUnknownMemberType] + return cast(Any, super().__missing__(key)) # pyright: ignore [reportUnknownMemberType] @total_ordering # If comparisons are slowing down the code, implementing the rest would speed it up diff --git a/src/tm_devices/commands/_lpd6_commands.py b/src/tm_devices/commands/_lpd6_commands.py index c0e3c665..24092066 100644 --- a/src/tm_devices/commands/_lpd6_commands.py +++ b/src/tm_devices/commands/_lpd6_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mdo3_commands.py b/src/tm_devices/commands/_mdo3_commands.py index 4af27937..1802ed67 100644 --- a/src/tm_devices/commands/_mdo3_commands.py +++ b/src/tm_devices/commands/_mdo3_commands.py @@ -54,35 +54,35 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e4de2d_lpdmsomdo.clear import Clear from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm from ._helpers import DefaultDictPassKeyToFactory from ._ujuvb_mdo.acquire import Acquire from ._ujuvb_mdo.configuration import Configuration diff --git a/src/tm_devices/commands/_mdo3k_commands.py b/src/tm_devices/commands/_mdo3k_commands.py index 01844b27..746d783e 100644 --- a/src/tm_devices/commands/_mdo3k_commands.py +++ b/src/tm_devices/commands/_mdo3k_commands.py @@ -65,36 +65,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory from ._usaa3_mdo.rf import Rf from ._usaa3_mdo.search import Search diff --git a/src/tm_devices/commands/_mdo4k_commands.py b/src/tm_devices/commands/_mdo4k_commands.py index 1cc1ae87..014631ce 100644 --- a/src/tm_devices/commands/_mdo4k_commands.py +++ b/src/tm_devices/commands/_mdo4k_commands.py @@ -67,37 +67,37 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._163n04_mdo.search import Search -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mdo4kb_commands.py b/src/tm_devices/commands/_mdo4kb_commands.py index 034c7a0b..84f5e966 100644 --- a/src/tm_devices/commands/_mdo4kb_commands.py +++ b/src/tm_devices/commands/_mdo4kb_commands.py @@ -67,37 +67,37 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._16x4xq_mdo.search import Search -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mdo4kc_commands.py b/src/tm_devices/commands/_mdo4kc_commands.py index 33f0d42d..8cd4abc4 100644 --- a/src/tm_devices/commands/_mdo4kc_commands.py +++ b/src/tm_devices/commands/_mdo4kc_commands.py @@ -68,36 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso2_commands.py b/src/tm_devices/commands/_mso2_commands.py index 6ab7d05e..297000b8 100644 --- a/src/tm_devices/commands/_mso2_commands.py +++ b/src/tm_devices/commands/_mso2_commands.py @@ -37,22 +37,6 @@ from ._1zn03_mso.select import Select from ._1zn03_mso.touchscreen import Touchscreen from ._1zn03_mso.trigger import Trigger -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3h2zs_lpdmso.afg import Afg from ._e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout from ._e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout @@ -76,20 +60,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso2k_commands.py b/src/tm_devices/commands/_mso2k_commands.py index 30bce659..dfb531eb 100644 --- a/src/tm_devices/commands/_mso2k_commands.py +++ b/src/tm_devices/commands/_mso2k_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fkjfe8_msodpodsa.time import Time +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_mso2kb_commands.py b/src/tm_devices/commands/_mso2kb_commands.py index 26310c14..93d7710b 100644 --- a/src/tm_devices/commands/_mso2kb_commands.py +++ b/src/tm_devices/commands/_mso2kb_commands.py @@ -20,34 +20,34 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fkjfe8_msodpodsa.time import Time +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory from ._u301s_msodpo.acquire import Acquire from ._u301s_msodpo.alias import Alias diff --git a/src/tm_devices/commands/_mso4_commands.py b/src/tm_devices/commands/_mso4_commands.py index 1df37317..aa530101 100644 --- a/src/tm_devices/commands/_mso4_commands.py +++ b/src/tm_devices/commands/_mso4_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso4b_commands.py b/src/tm_devices/commands/_mso4b_commands.py index 462dbe69..e742da5a 100644 --- a/src/tm_devices/commands/_mso4b_commands.py +++ b/src/tm_devices/commands/_mso4b_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso4k_commands.py b/src/tm_devices/commands/_mso4k_commands.py index e1a7fdfd..444260d9 100644 --- a/src/tm_devices/commands/_mso4k_commands.py +++ b/src/tm_devices/commands/_mso4k_commands.py @@ -68,36 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso4kb_commands.py b/src/tm_devices/commands/_mso4kb_commands.py index 7c1d4db5..9d258c72 100644 --- a/src/tm_devices/commands/_mso4kb_commands.py +++ b/src/tm_devices/commands/_mso4kb_commands.py @@ -68,36 +68,36 @@ from ._1nmc1o_msodpomdo.usbdevice import Usbdevice from ._1nmc1o_msodpomdo.usbtmc import Usbtmc from ._1nmc1o_msodpomdo.verbose import Verbose -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5_commands.py b/src/tm_devices/commands/_mso5_commands.py index d98c9868..16a3dd39 100644 --- a/src/tm_devices/commands/_mso5_commands.py +++ b/src/tm_devices/commands/_mso5_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5b_commands.py b/src/tm_devices/commands/_mso5b_commands.py index 3ec021d2..f8a588f7 100644 --- a/src/tm_devices/commands/_mso5b_commands.py +++ b/src/tm_devices/commands/_mso5b_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5k_commands.py b/src/tm_devices/commands/_mso5k_commands.py new file mode 100644 index 00000000..83954ddc --- /dev/null +++ b/src/tm_devices/commands/_mso5k_commands.py @@ -0,0 +1,3986 @@ +# pylint: disable=too-many-lines +"""The MSO5K commands module. + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. +""" +from typing import Any, Dict, Optional + +from tm_devices.drivers.pi.pi_device import PIDevice + +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fn2qbf_msodpo.errordetector import Errordetector +from ._fn2qbf_msodpo.trigger import Trigger +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock +from ._helpers import DefaultDictPassKeyToFactory + + +# pylint: disable=too-few-public-methods +class MSO5KCommandConstants: + """The MSO5K command argument constants. + + This provides access to all the string constants which can be used as arguments for MSO5K + commands. + """ + + A = "A" + ABSOLUTE = "ABSOLUTE" # ABSolute + AC = "AC" + ACCEPT = "ACCEPT" # ACCept + ACK = "ACK" + ACKERRORREPORT = "ACKERRORREPORT" # ACKErrorreport + ACKMISS = "ACKMISS" + ADDR10 = "ADDR10" + ADDR7 = "ADDR7" + ADDRANDDATA = "ADDRANDDATA" + ADDRESS = "ADDRESS" # ADDress + ALL = "ALL" + ALLFIELDS = "ALLFIELDS" # ALLFields + ALLLINES = "ALLLINES" # ALLLines + AMI = "AMI" + AMPLITUDE = "AMPLITUDE" # AMPlitude + ANALOG = "ANALOG" # ANALog + AND = "AND" + ANY = "ANY" + AREA = "AREA" + # AREA = "AREa" + ARMATRIGB = "ARMATRIGB" # ARMAtrigb + ASCII = "ASCII" # ASCIi + # ASCII = "ASCii" + ATI = "ATI" + ATRIGGER = "ATRIGGER" # ATRIGger + AUTO = "AUTO" + AUXILIARY = "AUXILIARY" # AUXiliary + AVERAGE = "AVERAGE" # AVErage + B = "B" + B3ZS = "B3ZS" + B6ZS = "B6ZS" + B8ZS = "B8ZS" + BACKWARDS = "BACKWARDS" # BACKWards + BASE = "BASE" # BASe + BILEVELCUSTOM = "BILEVELCUSTOM" # BILevelcustom + BINARY = "BINARY" + # BINARY = "BINary" + # BINARY = "Binary" + BIT = "BIT" + BITSTUFFING = "BITSTUFFING" # BITSTUFFing + BLACKMANHARRIS = "BLACKMANHARRIS" # BLACKMANHarris + BLANK = "BLANK" + BLOCK = "BLOCK" + BLOCK1THEN2 = "BLOCK1THEN2" + BMP = "BMP" + BOTH = "BOTH" # BOTh + BTA = "BTA" + BTRIGGER = "BTRIGGER" # BTRIGger + BURST = "BURST" # BURst + BUS = "BUS" + BYPASS = "BYPASS" # BYPass + CAN = "CAN" + CANH = "CANH" + CANL = "CANL" + CAREA = "CAREA" # CARea + CHAR = "CHAR" + CHARACTER = "CHARACTER" + CHECKSUM = "CHECKSUM" # CHecksum + CHECKSUMERROR = "CHECKSUMERROR" # CHECKsumerror + CHKSUMERROR = "CHKSUMERROR" # CHKSUMError + CLEAR = "CLEAR" + CLOCK = "CLOCK" # CLOCk + CMEAN = "CMEAN" # CMEan + CMI = "CMI" + COLOR = "COLOR" # COLOr + COLOROFF = "COLOROFF" + COLORON = "COLORON" + COLUMN = "COLUMN" + COMMAND = "COMMAND" + COMMONMODE = "COMMONMODE" # COMmonmode + COMMUNICATION = "COMMUNICATION" # COMMunication + COMPAT = "COMPAT" + CONTENTION = "CONTENTION" # CONTention + CONTROL = "CONTROL" # CONtrol + COUNT = "COUNT" + CR = "CR" + CRC16 = "CRC16" + CRC5 = "CRC5" + CRMS = "CRMS" # CRMs + CROSSHAIR = "CROSSHAIR" # CROSSHair + CSPLIT = "CSPLIT" + CTRLSKP = "CTRLSKP" + CUSTOM = "CUSTOM" + # CUSTOM = "CUSTom" + DASHED = "DASHED" # DASHed + DATA = "DATA" + # DATA = "DATa" + DATAPACKET = "DATAPACKET" # DATAPacket + DB = "DB" + DBM = "DBM" + DC = "DC" + DCREJECT = "DCREJECT" # DCREJect + DCSLONGREAD = "DCSLONGREAD" # DCSLONGRead + DCSLONGWRITE = "DCSLONGWRITE" # DCSLONGWrite + DCSR = "DCSR" + DCSRR2 = "DCSRR2" + DCSSRR1 = "DCSSRR1" + DDRREAD = "DDRREAD" # DDRRead + DDRREADWRITE = "DDRREADWRITE" # DDRREADWrite + DDRWRITE = "DDRWRITE" # DDRWrite + DECIMAL = "DECIMAL" # DECImal + DECODEFILENAME = "DECODEFILENAME" # decodeFileName + DEFAULT = "DEFAULT" + # DEFAULT = "DEFAult" + # DEFAULT = "DEFault" + DELAY = "DELAY" # DELay + DELAYED = "DELAYED" # DELayed + DELETE = "DELETE" # DELEte + DETAILED = "DETAILED" # DETAiled + DIFFERENTIAL = "DIFFERENTIAL" # DIFFerential + DIGITAL = "DIGITAL" # DIGItal + DISABLE = "DISABLE" # DISable + DISTDUTY = "DISTDUTY" # DISTDUty + DONE = "DONE" + DONTCARE = "DONTCARE" # DONTCare + # DONTCARE = "DONTcare" + DP = "DP" + DSINR = "DSINR" + DSIVC = "DSIVC" + DSIVIOLATION = "DSIVIOLATION" # DSIViolation + DYNAMIC = "DYNAMIC" + ECCERROR = "ECCERROR" # ECCError + ECCMBERROR = "ECCMBERROR" # ECCMBError + ECCSBERROR = "ECCSBERROR" # ECCSBError + ECCWARN = "ECCWARN" # ECCWarn + ECL = "ECL" + EDGE = "EDGE" + EI = "EI" + EIE = "EIE" + EIGHTYTWENTY = "EIGHTYTWENTY" # EIGHtytwenty + EITHER = "EITHER" # EITHer + # EITHER = "EITher" + EMBEDDED = "EMBEDDED" # EMBEDded + ENABLE = "ENABLE" # ENable + ENET100BASETX = "ENET100BASETX" + ENET100FX = "ENET100FX" + ENET10BASET = "ENET10BASET" + ENET1250 = "ENET1250" + ENETXAUI = "ENETXAUI" + ENETXAUI2 = "ENETXAUI2" + ENTERSWINDOW = "ENTERSWINDOW" # ENTERSWindow + ENV = "ENV" + ENVELOPE = "ENVELOPE" # ENVelope + EOF = "EOF" + EOP = "EOP" + # EOP = "EOp" + EOT = "EOT" + EOTSYNC = "EOTSYNC" # EOTSync + EQUAL = "EQUAL" # EQUal + # EQUAL = "EQual" + ERR = "ERR" + ERROR = "ERROR" + # ERROR = "ERRor" + ESCMODE = "ESCMODE" # ESCMode + ESCMODEERROR = "ESCMODEERROR" # ESCMODEError + ET = "ET" + ETHERNET = "ETHERNET" # ETHernet + EVEN = "EVEN" + EVENT = "EVENT" + EVENTS = "EVENTS" + EXECUTE = "EXECUTE" # EXECute + EXITSWINDOW = "EXITSWINDOW" # EXITSWindow + EXTENDED = "EXTENDED" # EXTENDed + # EXTENDED = "EXTENded" + EXTINCTDB = "EXTINCTDB" + EXTINCTPCT = "EXTINCTPCT" + EXTINCTRATIO = "EXTINCTRATIO" + EYE = "EYE" + EYEDIAGRAM = "EYEDIAGRAM" # EYEdiagram + EYEHEIGHT = "EYEHEIGHT" # EYEHeight + FALL = "FALL" + FALLING = "FALLING" # FALling + FALSE = "FALSE" # FALSe + FAST = "FAST" + FASTERTHAN = "FASTERTHAN" # FASTERthan + FASTEST = "FASTEST" # FAStest + FC1063 = "FC1063" + FC133 = "FC133" + FC2125 = "FC2125" + FC266 = "FC266" + FC4250 = "FC4250" + FC531 = "FC531" + FCE = "FCE" + FCSERROR = "FCSERROR" # FCSError + FFWD = "FFWD" + FIFTYFIFTY = "FIFTYFIFTY" # FIFtyfifty + FIRST = "FIRST" # FIRst + FLATTOP2 = "FLATTOP2" + FLEXRAY = "FLEXRAY" + FORCE = "FORCE" # FORCe + FORWARD = "FORWARD" # FORWard + FORWARDS = "FORWARDS" # FORWards + FP = "FP" + FPBINARY = "FPBINARY" # FPBinary + FRAME = "FRAME" + # FRAME = "FRAme" + FRAMEEND = "FRAMEEND" # FRAMEEnd + FRAMESTART = "FRAMESTART" # FRAMEStart + FRAMETYPE = "FRAMETYPE" # FRAMEtype + FREQUENCY = "FREQUENCY" # FREQuency + FREV = "FREV" + FTS = "FTS" + FULL = "FULL" + # FULL = "FULl" + FULLNOMENU = "FULLNOMENU" # FULLNOmenu + FULLSCREEN = "FULLSCREEN" + FULLSPEED = "FULLSPEED" # FULLSPeed + FW1394BS1600B = "FW1394BS1600B" + FW1394BS400B = "FW1394BS400B" + FW1394BS800B = "FW1394BS800B" + FWD = "FWD" + GAUSSIAN = "GAUSSIAN" # GAUSSian + GLITCH = "GLITCH" # GLItch + GLONGREAD = "GLONGREAD" # GLONGRead + GLONGWRITE = "GLONGWRITE" # GLONGWrite + GND = "GND" + GPIB = "GPIB" # GPIb + GRATICULE = "GRATICULE" # GRAticule + GREATERTHAN = "GREATERTHAN" # GREATerthan + GRID = "GRID" # GRId + HAMMING = "HAMMING" # HAMMing + HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket + HANNING = "HANNING" # HANNing + HBARS = "HBARS" # HBArs + HD1080I50 = "HD1080I50" + HD1080I60 = "HD1080I60" + HD1080P24 = "HD1080P24" + HD1080P25 = "HD1080P25" + HD1080P30 = "HD1080P30" + HD1080P50 = "HD1080P50" + HD1080P60 = "HD1080P60" + HD1080SF24 = "HD1080SF24" + HD480P60 = "HD480P60" + HD576P50 = "HD576P50" + HD720P30 = "HD720P30" + HD720P50 = "HD720P50" + HD720P60 = "HD720P60" + HD875I60 = "HD875I60" + HDB3 = "HDB3" + HERTZ = "HERTZ" # HERtz + HEX = "HEX" + HEXADECIMAL = "HEXADECIMAL" # HEXadecimal + HFREJ = "HFREJ" # HFRej + HIGH = "HIGH" + # HIGH = "high" + HIRES = "HIRES" # HIRes + HISTOGRAM = "HISTOGRAM" # HIStogram + HITS = "HITS" # HITs + HLS = "HLS" + HORIZONTAL = "HORIZONTAL" + # HORIZONTAL = "HORizontal" + HSRTERROR = "HSRTERROR" # HSRTError + HSYNCEND = "HSYNCEND" # HSYNCEnd + HSYNCSTART = "HSYNCSTART" # HSYNCStart + I2C = "I2C" + IDANDDATA = "IDANDDATA" + IDENTIFIER = "IDENTIFIER" # IDENTifier + IDLE = "IDLE" + IN = "IN" + INDEPENDENT = "INDEPENDENT" # INDependent + INFINIBAND = "INFINIBAND" + INFPERSIST = "INFPERSIST" # INFPersist + INHERIT = "INHERIT" + INIT = "INIT" + INKSAVER = "INKSAVER" # INKSaver + INRANGE = "INRANGE" # INrange + INSIDE = "INSIDE" # INSide + INSIDEGREATER = "INSIDEGREATER" # INSIDEGreater + INVALID = "INVALID" + INVERTED = "INVERTED" # INVERTed + # INVERTED = "INVerted" + IRE = "IRE" + ISOALL = "ISOALL" + ISOEND = "ISOEND" + ISOMID = "ISOMID" + ISOSTART = "ISOSTART" + IT = "IT" + ITP = "ITP" + JPEG = "JPEG" + KAISERBESSEL = "KAISERBESSEL" # KAISERBessel + LANDSCAPE = "LANDSCAPE" # LANdscape + LARGE = "LARGE" + # LARGE = "LARge" + LAST = "LAST" + LEARN = "LEARN" + LESSEQUAL = "LESSEQUAL" # LESSEQual + LESSTHAN = "LESSTHAN" # LESSThan + # LESSTHAN = "LESSthan" + LF = "LF" + LFREJ = "LFREJ" # LFRej + LIN = "LIN" + LINE = "LINE" + LINEAR = "LINEAR" # LINEAr + LINEEND = "LINEEND" # LINEEnd + LINES = "LINES" + LINESTART = "LINESTART" # LINEStart + LINE_X = "LINE_X" + LIVE = "LIVE" + LMP = "LMP" + LMPCONFIG = "LMPCONFIG" # LMPConfig + LMPDEVICE = "LMPDEVICE" # LMPDevice + LMPLINK = "LMPLINK" # LMPLink + LMPRESPONSE = "LMPRESPONSE" # LMPResponse + LMPUTWO = "LMPUTWO" # LMPUtwo + LOCK = "LOCK" + # LOCK = "LOck" + LOGIC = "LOGIC" + # LOGIC = "LOGIc" + LONG = "LONG" + LOW = "LOW" + # LOW = "low" + LOWSPEED = "LOWSPEED" # LOWSPeed + LPDATA = "LPDATA" + LPS666 = "LPS666" + LPTSERROR = "LPTSERROR" # LPTSError + LSB = "LSB" + MACADDRESS = "MACADDRESS" # MACADDRess + MANCHESTER = "MANCHESTER" # MANCHester + MANUAL = "MANUAL" + # MANUAL = "MANual" + MAXIMUM = "MAXIMUM" # MAXimum + MAXRETSIZE = "MAXRETSIZE" # MAXRETsize + MDATA = "MDATA" + MEAN = "MEAN" + MEANSTDDEV = "MEANSTDDEV" # MEANSTDdev + MEDIAN = "MEDIAN" # MEDian + MEDIUM = "MEDIUM" # MEDium + MHZ10 = "MHZ10" + MHZ100 = "MHZ100" + MINIMIZED = "MINIMIZED" + MINIMUM = "MINIMUM" # MINImum + MINMAX = "MINMAX" # MINMax + MINUSONE = "MINUSONE" # MINUSOne + MIPICSITWO = "MIPICSITWO" # MIPICSITWo + MIPIDSIONE = "MIPIDSIONE" # MIPIDSIOne + MISO = "MISO" + MISOMOSI = "MISOMOSI" + MIXED = "MIXED" # MIXed + MLT3 = "MLT3" + MONOGRAY = "MONOGRAY" + MONOGREEN = "MONOGREEN" + MOREEQUA = "MOREEQUA" # MOREEQua + MOREEQUAL = "MOREEQUAL" # MOREEQual + MORETHAN = "MORETHAN" # MOREThan + # MORETHAN = "MOREthan" + MOSI = "MOSI" + MSB = "MSB" + MV = "MV" + NAK = "NAK" + NAND = "NAND" # NANd + NCROSS = "NCROSS" # NCROss + NDUTY = "NDUTY" # NDUty + NEGATIVE = "NEGATIVE" # NEGAtive + NEXT = "NEXT" + NO = "NO" + # NO = "No" + NOCARE = "NOCARE" + NOISEREJ = "NOISEREJ" # NOISErej + NOPARITY = "NOPARITY" # NOPARity + NOR = "NOR" + NORMAL = "NORMAL" # NORMal + NOVERSHOOT = "NOVERSHOOT" # NOVershoot + NRZ = "NRZ" + NTSC = "NTSC" + # NTSC = "NTSc" + NULL = "NULL" + NUMERIC = "NUMERIC" # NUMERic + NWIDTH = "NWIDTH" # NWIdth + NYET = "NYET" + OC1 = "OC1" + OC12 = "OC12" + OC3 = "OC3" + OCCURS = "OCCURS" # OCCurs + ODD = "ODD" + OFF = "OFF" + ON = "ON" + ONE = "ONE" + OR = "OR" + OUT = "OUT" + OUTRANGE = "OUTRANGE" # OUTrange + OUTSIDE = "OUTSIDE" # OUTside + OUTSIDEGREATER = "OUTSIDEGREATER" # OUTSIDEGreater + OVERLAY = "OVERLAY" # OVERlay + OVERLOAD = "OVERLOAD" + # OVERLOAD = "OVERLoad" + PACKET = "PACKET" + PAL = "PAL" + PARALLEL = "PARALLEL" # PARallel + PARITY = "PARITY" # PARity + PARITYERROR = "PARITYERROR" # PARItyerror + PASS = "PASS" + PATTERN = "PATTERN" # PATtern + PAYLOAD = "PAYLOAD" # PAYload + PBASE = "PBASE" # PBASe + PCIE = "PCIE" + PCIEXPRESS = "PCIEXPRESS" # PCIExpress + PCIEXPRESS2 = "PCIEXPRESS2" # PCIExpress2 + PCROSS = "PCROSS" # PCROss + PCTCROSS = "PCTCROSS" # PCTCROss + PCX = "PCX" + PDUTY = "PDUTY" # PDUty + PEAKDETECT = "PEAKDETECT" # PEAKdetect + PEAKHITS = "PEAKHITS" # PEAKHits + PENDING = "PENDING" + PERCENT = "PERCENT" # PERCent + PERIOD = "PERIOD" # PERIod + PHASE = "PHASE" # PHAse + PID = "PID" + PING = "PING" + PK2PK = "PK2PK" # PK2Pk + PKPKJITTER = "PKPKJITTER" # PKPKJitter + PKPKNOISE = "PKPKNOISE" # PKPKNoise + PLUSONE = "PLUSONE" # PLUSOne + PNG = "PNG" + POLARCOORD = "POLARCOORD" # POLARCoord + PORTRAIT = "PORTRAIT" # PORTRait + POSITIVE = "POSITIVE" # POSITIVe + PPS101010 = "PPS101010" + PPS121212 = "PPS121212" + PPS565 = "PPS565" + PPS666 = "PPS666" + PPS888 = "PPS888" + PRBS7 = "PRBS7" + PRBS9 = "PRBS9" + PRE = "PRE" + PREVIOUS = "PREVIOUS" # PREVious + PRODUCT = "PRODUCT" # PRODuct + PULSE = "PULSE" # PULse + PWIDTH = "PWIDTH" # PWIdth + QFACTOR = "QFACTOR" # QFACtor + QTAG = "QTAG" + RANDOM = "RANDOM" + RATE10000 = "RATE10000" + RATE12000 = "RATE12000" + RATE1250 = "RATE1250" + RATE14000 = "RATE14000" + RATE1500 = "RATE1500" + RATE2125 = "RATE2125" + RATE2500 = "RATE2500" + RATE3000 = "RATE3000" + RATE3125 = "RATE3125" + RATE4250 = "RATE4250" + RATE5000 = "RATE5000" + RATE6000 = "RATE6000" + RATE6250 = "RATE6250" + RATIO = "RATIO" # RATio + RAW10 = "RAW10" + RAW12 = "RAW12" + RAW14 = "RAW14" + RDMINUS = "RDMINUS" + RDPLUS = "RDPLUS" + READ = "READ" + RECOVERED = "RECOVERED" # RECOVered + RECTANGULAR = "RECTANGULAR" # RECTANGular + # RECTANGULAR = "RECTangular" + REFOUT = "REFOUT" + REJECT = "REJECT" # REJect + RELOAD = "RELOAD" # RELoad + REMOTE = "REMOTE" # REMote + REPEATSTART = "REPEATSTART" # REPEATstart + RESERVED = "RESERVED" + RESET = "RESET" + # RESET = "RESet" + RESETLIVE = "RESETLIVE" # RESETLive + RESTORE = "RESTORE" # RESTore + RESUME = "RESUME" + REV = "REV" + REVERSE = "REVERSE" # REVErse + RGB444 = "RGB444" + RGB555 = "RGB555" + RGB565 = "RGB565" + RGB666 = "RGB666" + RGB888 = "RGB888" + RI = "RI" + RIBINARY = "RIBINARY" # RIBinary + RIO_1G = "RIO_1G" + RIO_2G = "RIO_2G" + RIO_500M = "RIO_500M" + RIO_750M = "RIO_750M" + RIO_SERIAL_1G = "RIO_SERIAL_1G" + RIO_SERIAL_2_5G = "RIO_SERIAL_2_5G" + RIO_SERIAL_3G = "RIO_SERIAL_3G" + RISE = "RISE" + # RISE = "RISe" + RISING = "RISING" # RISing + RMS = "RMS" + RMSJITTER = "RMSJITTER" # RMSJitter + RMSNOISE = "RMSNOISE" # RMSNoise + RP = "RP" + RPBINARY = "RPBINARY" # RPBinary + RS232 = "RS232" + RT = "RT" + RUNSTOP = "RUNSTOP" # RUNSTop + RUNT = "RUNT" + RX = "RX" + S8B10B = "S8B10B" + SAMPLE = "SAMPLE" # SAMple + SAS6_0 = "SAS6_0" + SATA1_5 = "SATA1_5" + SATA3_0 = "SATA3_0" + SATA6_0 = "SATA6_0" + SAVE = "SAVE" # SAVe + SCREEN = "SCREEN" + SDASHED = "SDASHED" # SDASHed + SDS = "SDS" + SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SECAM = "SECAM" + SECONDS = "SECONDS" # SECOnds + SELECTED = "SELECTED" + SEQUENCE = "SEQUENCE" # SEQuence + SEQUENTIAL = "SEQUENTIAL" + SERIAL = "SERIAL" + SETHOLD = "SETHOLD" # SETHold + SETLEVEL = "SETLEVEL" # SETLevel + SETUP = "SETUP" + SFPBINARY = "SFPBINARY" # SFPbinary + SHORT = "SHORT" + # SHORT = "SHORt" + SHUTDOWN = "SHUTDOWN" # SHUTDown + SIGMA1 = "SIGMA1" + SIGMA2 = "SIGMA2" + SIGMA3 = "SIGMA3" + SINGLEENDED = "SINGLEENDED" # SINGleended + SINX = "SINX" + SIXSIGMAJIT = "SIXSIGMAJIT" # SIXSigmajit + SKP = "SKP" + SLOWERTHAN = "SLOWERTHAN" # SLOWERthan + SMALL = "SMALL" # SMAll + SNAP = "SNAP" # SNAp + SNRATIO = "SNRATIO" # SNRatio + SOF = "SOF" + SOLID = "SOLID" + SOT = "SOT" + SOTERROR = "SOTERROR" # SOTError + SOTSYNC = "SOTSYNC" # SOTSync + SPACE = "SPACE" # SPace + SPECIALPACKET = "SPECIALPACKET" # SPECIALPacket + SPECTRAL = "SPECTRAL" # SPECTral + SPI = "SPI" + SPLIT = "SPLIT" + SRCDEPENDENT = "SRCDEPENDENT" # SRCDependent + SRCINDEPENDENT = "SRCINDEPENDENT" # SRCIndependent + SRIBINARY = "SRIBINARY" # SRIbinary + SRPBINARY = "SRPBINARY" # SRPbinary + SS = "SS" + SSPLIT = "SSPLIT" + STABLE = "STABLE" # STABle + STALL = "STALL" + STANDARD = "STANDARD" + # STANDARD = "STANdard" + # STANDARD = "STandard" + START = "START" + # START = "STARt" + STARTUP = "STARTUP" # STARTup + STATE = "STATE" + STATIC = "STATIC" + STATUS = "STATUS" + # STATUS = "STATus" + STAYSHIGH = "STAYSHIGH" # STAYSHigh + STAYSLOW = "STAYSLOW" # STAYSLow + STDDEV = "STDDEV" # STDdev + STOP = "STOP" + SUBSYS = "SUBSYS" + SUSPEND = "SUSPEND" + SYMBOL = "SYMBOL" + SYMBOLIC = "SYMBOLIC" # SYMBolic + SYNC = "SYNC" + TCPHEADER = "TCPHEADER" # TCPHeader + TEAR = "TEAR" + TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential + TEMPERATURE = "TEMPERATURE" # TEMPErature + TEST = "TEST" + # TEST = "TESt" + TIFF = "TIFF" + TIME = "TIME" + # TIME = "TIMe" + TIMEOUT = "TIMEOUT" # TIMEOut + TOGGLE = "TOGGLE" + TOKENPACKET = "TOKENPACKET" # TOKENPacket + TP = "TP" + TPACK = "TPACK" + TPERDY = "TPERDY" + TPNOTIFY = "TPNOTIFY" # TPNotify + TPNRDY = "TPNRDY" + TPPING = "TPPING" # TPPing + TPRESPONSE = "TPRESPONSE" # TPResponse + TPSTALL = "TPSTALL" # TPSTall + TPSTATUS = "TPSTATUS" # TPStatus + TRACK = "TRACK" # TRACk + TRAINING = "TRAINING" # TRAining + TRANSITION = "TRANSITION" # TRANsition + TRIGGERTOSEARCH = "TRIGGERTOSEARCH" # TRIGgertosearch + TRILEVELCUSTOM = "TRILEVELCUSTOM" # TRILevelcustom + TRUE = "TRUE" # TRUe + TTL = "TTL" + TURNON = "TURNON" + TX = "TX" + ULTRALP = "ULTRALP" + UNDEFINED = "UNDEFINED" + UNDO = "UNDO" # UNDo + UNEQUAL = "UNEQUAL" # UNEQual + UNLOCK = "UNLOCK" + USB = "USB" + USER = "USER" # USEr + V1X = "V1X" + V2X = "V2X" + VALUEMEAN = "VALUEMEAN" # VALUEMean + VBARS = "VBARS" # VBArs + VERTICAL = "VERTICAL" + # VERTICAL = "VERTical" + VFIELDS = "VFIELDS" # VFields + VIDEO = "VIDEO" # VIDeo + VLINES = "VLINES" # VLines + VSROC192 = "VSROC192" + VSYNCEND = "VSYNCEND" # VSYNCEnd + VSYNCSTART = "VSYNCSTART" # VSYNCStart + WAIT = "WAIT" + WARNING = "WARNING" # WARNing + WAVEFORM = "WAVEFORM" # WAVEform + WAVEFORMS = "WAVEFORMS" + WFMDB = "WFMDB" + WIDERTHAN = "WIDERTHAN" # WIDERthan + WIDTH = "WIDTH" # WIDth + WINDOW = "WINDOW" # WINdow + WITHIN = "WITHIN" # WITHin + # WITHIN = "WIThin" + WRITE = "WRITE" + X = "X" + XFF = "XFF" + XLARGE = "XLARGE" + XSMALL = "XSMALL" # XSMAll + XY = "XY" + XYZ = "XYZ" + Y = "Y" + YCBCR12 = "YCBCR12" + YCBCR16 = "YCBCR16" + YCBCR20 = "YCBCR20" + YCBCR24 = "YCBCR24" + YES = "YES" + # YES = "Yes" + YT = "YT" + YUV420B10 = "YUV420B10" + YUV420B8 = "YUV420B8" + YUV420C10 = "YUV420C10" + YUV420C8 = "YUV420C8" + YUV420L8 = "YUV420L8" + YUV422B10 = "YUV422B10" + YUV422B8 = "YUV422B8" + ZERO = "ZERO" + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class MSO5KCommands: + """The MSO5K commands. + + This provides access to all the commands for the MSO5K device. See the documentation of each + property for more usage information. + + Properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + + # pylint: disable=too-many-statements + def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 + self._acquire = Acquire(device) + self._alias = Alias(device) + self._allev = Allev(device) + self._allocate = Allocate(device) + self._application = Application(device) + self._autoset = Autoset(device) + self._auxin = Auxin(device) + self._auxout = Auxout(device) + self._bell = Bell(device) + self._bus = Bus(device) + self._busy = Busy(device) + self._cal = Cal(device) + self._calibrate = Calibrate(device) + self._ch: Dict[int, Channel] = DefaultDictPassKeyToFactory( + lambda x: Channel(device, f"CH{x}") + ) + self._clear = Clear(device) + self._cls = Cls(device) + self._cmdbatch = Cmdbatch(device) + self._counter = Counter(device) + self._cq: Dict[int, CqItem] = DefaultDictPassKeyToFactory( + lambda x: CqItem(device, f"CQ{x}") + ) + self._cursor = Cursor(device) + self._curve = Curve(device) + self._curvenext = Curvenext(device) + self._curvestream = Curvestream(device) + self._custom = Custom(device) + self._d: Dict[int, DigitalBit] = DefaultDictPassKeyToFactory( + lambda x: DigitalBit(device, f"D{x}") + ) + self._data = Data(device) + self._date = Date(device) + self._ddt = Ddt(device) + self._delete = Delete(device) + self._dese = Dese(device) + self._diag = Diag(device) + self._display = Display(device) + self._email = Email(device) + self._errordetector = Errordetector(device) + self._ese = Ese(device) + self._esr = Esr(device) + self._event = Event(device) + self._evmsg = Evmsg(device) + self._evqty = Evqty(device) + self._export = Export(device) + self._factory = Factory(device) + self._fastacq = Fastacq(device) + self._filesystem = Filesystem(device) + self._gpibusb = Gpibusb(device) + self._hardcopy = Hardcopy(device) + self._hdr = Hdr(device) + self._header = Header(device) + self._histogram = Histogram(device) + self._horizontal = Horizontal(device) + self._id = Id(device) + self._idn = Idn(device) + self._limit = Limit(device) + self._linktraining = Linktraining(device) + self._lock = Lock(device) + self._lrn = Lrn(device) + self._mark = Mark(device) + self._mask = Mask(device) + self._math: Dict[int, MathItem] = DefaultDictPassKeyToFactory( + lambda x: MathItem(device, f"MATH{x}") + ) + self._matharbflt: Dict[int, MatharbfltItem] = DefaultDictPassKeyToFactory( + lambda x: MatharbfltItem(device, f"MATHArbflt{x}") + ) + self._mathvar = Mathvar(device) + self._mch: Dict[int, MchItem] = DefaultDictPassKeyToFactory( + lambda x: MchItem(device, f"MCH{x}") + ) + self._measurement = Measurement(device) + self._multiscope = Multiscope(device) + self._newpass = Newpass(device) + self._opc = Opc(device) + self._opcextended = Opcextended(device) + self._opt = Opt(device) + self._password = Password(device) + self._pcenable = Pcenable(device) + self._psc = Psc(device) + self._pud = Pud(device) + self._rcl = Rcl(device) + self._recall = Recall(device) + self._ref: Dict[int, RefItem] = DefaultDictPassKeyToFactory( + lambda x: RefItem(device, f"REF{x}") + ) + self._rem = Rem(device) + self._rosc = Rosc(device) + self._rst = Rst(device) + self._sav = Sav(device) + self._save = Save(device) + self._saveon = Saveon(device) + self._sds = Sds(device) + self._search = Search(device) + self._select = Select(device) + self._set = Set(device) + self._setup = Setup(device) + self._sre = Sre(device) + self._stb = Stb(device) + self._system = System(device) + self._teklink = Teklink(device) + self._teksecure = Teksecure(device) + self._test = Test(device) + self._time = Time(device) + self._trg = Trg(device) + self._trig = Trig(device) + self._trigger = Trigger(device) + self._tst = Tst(device) + self._unlock = Unlock(device) + self._usbtmc = Usbtmc(device) + self._verbose = Verbose(device) + self._visual = Visual(device) + self._wai = Wai(device) + self._wavfrm = Wavfrm(device) + self._wavfrmstream = Wavfrmstream(device) + self._wfminpre = Wfminpre(device) + self._wfmoutpre = Wfmoutpre(device) + self._wfmpre = Wfmpre(device) + self._zoom = Zoom(device) + + @property + def acquire(self) -> Acquire: + """Return the ``ACQuire`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ACQuire?`` query. + - Using the ``.verify(value)`` method will send the ``ACQuire?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enhancedenob``: The ``ACQuire:ENHANCEDEnob`` command. + - ``.interpeightbit``: The ``ACQuire:INTERPEightbit`` command. + - ``.magnivu``: The ``ACQuire:MAGnivu`` command. + - ``.mode``: The ``ACQuire:MODe`` command. + - ``.numacq``: The ``ACQuire:NUMACq`` command. + - ``.numavg``: The ``ACQuire:NUMAVg`` command. + - ``.numenv``: The ``ACQuire:NUMEnv`` command. + - ``.numframesacquired``: The ``ACQuire:NUMFRAMESACQuired`` command. + - ``.numsamples``: The ``ACQuire:NUMSAMples`` command. + - ``.samplingmode``: The ``ACQuire:SAMPlingmode`` command. + - ``.state``: The ``ACQuire:STATE`` command. + - ``.stopafter``: The ``ACQuire:STOPAfter`` command. + - ``.syncsamples``: The ``ACQuire:SYNcsamples`` command. + """ + return self._acquire + + @property + def alias(self) -> Alias: + """Return the ``ALIas`` command. + + **Description:** + - This command sets or queries the state of alias functionality, and it is identical to + the ``ALIAS:STATE`` command. + + **Usage:** + - Using the ``.query()`` method will send the ``ALIas?`` query. + - Using the ``.verify(value)`` method will send the ``ALIas?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ALIas value`` command. + + **SCPI Syntax:** + + :: + + - ALIas {OFF|ON|} + - ALIas? + + **Info:** + - ``OFF`` turns Alias expansion off. + - ``ON`` turns Alias expansion on. When a defined alias is received, the specified + command sequence is substituted for the alias and executed. + - ```` = 0 disables Alias mode; any other value enables Alias mode. + + Sub-properties: + - ``.catalog``: The ``ALIas:CATalog`` command. + - ``.define``: The ``ALIas:DEFine`` command. + - ``.delete``: The ``ALIas:DELEte`` command. + - ``.state``: The ``ALIas:STATE`` command. + """ + return self._alias + + @property + def allev(self) -> Allev: + """Return the ``ALLEv`` command. + + **Description:** + - This query-only command prompts the instrument to return all events and their messages + (delimited by commas), and removes the returned events from the Event Queue. Use the + ``*ESR?`` query to enable the events to be returned. This command is similar to + repeatedly sending ``*EVMsg?`` queries to the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLEv?`` query. + - Using the ``.verify(value)`` method will send the ``ALLEv?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ALLEv? + """ + return self._allev + + @property + def allocate(self) -> Allocate: + """Return the ``ALLOcate`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ALLOcate?`` query. + - Using the ``.verify(value)`` method will send the ``ALLOcate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.waveform``: The ``ALLOcate:WAVEform`` command tree. + """ + return self._allocate + + @property + def application(self) -> Application: + """Return the ``APPLication`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``APPLication?`` query. + - Using the ``.verify(value)`` method will send the ``APPLication?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.activate``: The ``APPLication:ACTivate`` command. + - ``.scopeapp``: The ``APPLication:SCOPEAPP`` command tree. + """ + return self._application + + @property + def autoset(self) -> Autoset: + """Return the ``AUTOSet`` command. + + **Description:** + - This command (no query format) sets the vertical, horizontal, and trigger controls of + the instrument to automatically acquire and display the selected waveform. (To autoset + a video waveform, the video trigger must be set to video standard, not custom. Video + arguments require video hardware.) This is equivalent to pressing the front panel + AUTOSET button. For a detailed description of autoset functionality, see Autoset in + the index of the online help for your instrument. + + **Usage:** + - Using the ``.write(value)`` method will send the ``AUTOSet value`` command. + + **SCPI Syntax:** + + :: + + - AUTOSet {EXECute|UNDo|VFields|VIDeo|VLines} + + **Info:** + - ``EXECute`` runs the autoset routine; this is equivalent to pressing the front panel + AUTOSET button. If the display is set to a PAL, MV, or IRE graticule, this argument + forces the graticule display to full mode (frame, grid, and cross hair). + - ``UNDo`` returns the instrument to the setting prior to executing an autoset. + - ``VFields`` autosets the displayed waveform. + - ``VIDeo`` autosets the displayed waveform. + - ``VLines`` autosets the displayed waveform. + + Sub-properties: + - ``.overlay``: The ``AUTOSet:OVErlay`` command. + - ``.percent``: The ``AUTOSet:PERcent`` command. + """ + return self._autoset + + @property + def auxin(self) -> Auxin: + """Return the ``AUXIn`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXIn?`` query. + - Using the ``.verify(value)`` method will send the ``AUXIn?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bandwidth``: The ``AUXIn:BANdwidth`` command. + - ``.coupling``: The ``AUXIn:COUPling`` command. + - ``.offset``: The ``AUXIn:OFFSet`` command. + - ``.probefunc``: The ``AUXIn:PROBEFunc`` command tree. + - ``.probe``: The ``AUXIn:PRObe`` command tree. + - ``.vterm``: The ``AUXIn:VTERm`` command tree. + """ + return self._auxin + + @property + def auxout(self) -> Auxout: + """Return the ``AUXout`` command. + + **Description:** + - This query-only command returns the auxiliary output setup and is equivalent to + selecting External Signals. From the Utilities menu, and then viewing the current + settings for the AUX OUT Configuration. + + **Usage:** + - Using the ``.query()`` method will send the ``AUXout?`` query. + - Using the ``.verify(value)`` method will send the ``AUXout?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - AUXout? + + Sub-properties: + - ``.edge``: The ``AUXout:EDGE`` command. + - ``.source``: The ``AUXout:SOUrce`` command. + """ + return self._auxout + + @property + def bell(self) -> Bell: + """Return the ``BELl`` command. + + **Description:** + - This command was previously used to beep an audio indicator and is provided for + backward compatibility. + + **Usage:** + - Using the ``.write()`` method will send the ``BELl`` command. + + **SCPI Syntax:** + + :: + + - BELl + """ + return self._bell + + @property + def bus(self) -> Bus: + """Return the ``BUS`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.b1``: The ``BUS:B1`` command tree. + - ``.b``: The ``BUS:B`` command tree. + - ``.ch``: The ``BUS:CH`` command tree. + - ``.math``: The ``BUS:MATH`` command tree. + - ``.ref``: The ``BUS:REF`` command tree. + """ + return self._bus + + @property + def busy(self) -> Busy: + """Return the ``BUSY`` command. + + **Description:** + - This query-only command returns the status of the instrument. This command allows you + to synchronize the operation of the instrument with your application program. + + **Usage:** + - Using the ``.query()`` method will send the ``BUSY?`` query. + - Using the ``.verify(value)`` method will send the ``BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - BUSY? + """ + return self._busy + + @property + def cal(self) -> Cal: + """Return the ``*CAL`` command. + + **Description:** + - This query-only command starts signal path calibration (SPC) and returns the status + upon completion. + + **Usage:** + - Using the ``.query()`` method will send the ``*CAL?`` query. + - Using the ``.verify(value)`` method will send the ``*CAL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *CAL? + """ + return self._cal + + @property + def calibrate(self) -> Calibrate: + """Return the ``CALibrate`` command. + + **Description:** + - This query returns the status of signal path calibration. + + **Usage:** + - Using the ``.query()`` method will send the ``CALibrate?`` query. + - Using the ``.verify(value)`` method will send the ``CALibrate?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CALibrate? + + Sub-properties: + - ``.calprobe``: The ``CALibrate:CALProbe`` command tree. + - ``.internal``: The ``CALibrate:INTERNal`` command. + - ``.probestate``: The ``CALibrate:PRObestate`` command tree. + - ``.results``: The ``CALibrate:RESults`` command. + """ + return self._calibrate + + @property + def ch(self) -> Dict[int, Channel]: + """Return the ``CH`` command. + + **Description:** + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + **Usage:** + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CH? + + Sub-properties: + - ``.atiactive``: The ``CH:ATIACTive`` command. + - ``.available``: The ``CH:AVAILable`` command. + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.coupling``: The ``CH:COUPling`` command. + - ``.deskew``: The ``CH:DESKew`` command. + - ``.fastacqcapable``: The ``CH:FASTAcqcapable`` command. + - ``.fastframecapable``: The ``CH:FASTFRamecapable`` command. + - ``.icapture``: The ``CH:ICAPture`` command tree. + - ``.invert``: The ``CH:INVert`` command. + - ``.label``: The ``CH:LABel`` command tree. + - ``.offset``: The ``CH:OFFSet`` command. + - ``.opti``: The ``CH:OPTI`` command tree. + - ``.optical``: The ``CH:OPTIcal`` command tree. + - ``.position``: The ``CH:POSition`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scale``: The ``CH:SCAle`` command. + - ``.termination``: The ``CH:TERmination`` command. + - ``.threshold``: The ``CH:THRESHold`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + """ + return self._ch + + @property + def clear(self) -> Clear: + """Return the ``CLEAR`` command. + + **Description:** + - This command clears acquisitions, measurements, and waveforms. + + **Usage:** + - Using the ``.write(value)`` method will send the ``CLEAR value`` command. + + **SCPI Syntax:** + + :: + + - CLEAR {ALL} + """ + return self._clear + + @property + def cls(self) -> Cls: + """Return the ``*CLS`` command. + + **Description:** + - This command (no query form) clears the following: Event Queue Standard Event Status + Register Status Byte Register (except the MAV bit) If the ``*CLS`` command immediately + follows an , the Output Queue and MAV bit (Status Byte Register bit 4) are also + cleared. MAV indicates that information is in the output queue. The device clear (DCL) + control message will clear the output queue and thus MAV. ``*CLS`` does not clear the + output queue or MAV. ``*CLS`` can suppress a Service Request that is to be generated + by an ``*OPC``. This will happen if a single sequence acquisition operation is still + being processed when the ``*CLS`` command is executed. + + **Usage:** + - Using the ``.write()`` method will send the ``*CLS`` command. + + **SCPI Syntax:** + + :: + + - *CLS + """ + return self._cls + + @property + def cmdbatch(self) -> Cmdbatch: + """Return the ``CMDBatch`` command. + + **Description:** + - This command sets or queries the state of command batching. By batching commands, + database transactions can be optimized, increasing command throughput. Also, batching + allows for ALL commands in an individual batch to be order independent and accomplish + the same result as if the commands were coupled. The Batch state is persistent and + will be saved across power cycles, but will not be saved and recalled as part of a + setup. In a setup scenario, the factory initial value is enabled. + + **Usage:** + - Using the ``.query()`` method will send the ``CMDBatch?`` query. + - Using the ``.verify(value)`` method will send the ``CMDBatch?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CMDBatch value`` command. + + **SCPI Syntax:** + + :: + + - CMDBatch {OFF|ON} + - CMDBatch? + + **Info:** + - ```` = 0 turns command batching off; any other value turns command batching on. + - ``OFF`` turns command batching off. + - ``ON`` turns command batching on. + """ + return self._cmdbatch + + @property + def counter(self) -> Counter: + """Return the ``COUnter`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``COUnter?`` query. + - Using the ``.verify(value)`` method will send the ``COUnter?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.results``: The ``COUnter:RESULTs`` command. + """ + return self._counter + + @property + def cq(self) -> Dict[int, CqItem]: + """Return the ``CQ`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CQ?`` query. + - Using the ``.verify(value)`` method will send the ``CQ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``CQ:THRESHold`` command. + """ + return self._cq + + @property + def cursor(self) -> Cursor: + """Return the ``CURSor`` command. + + **Description:** + - Returns all of the current cursor settings. + + **Usage:** + - Using the ``.query()`` method will send the ``CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``CURSor?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURSor? + + Sub-properties: + - ``.function``: The ``CURSor:FUNCtion`` command. + - ``.hbars``: The ``CURSor:HBArs`` command. + - ``.linestyle``: The ``CURSor:LINESTyle`` command. + - ``.mode``: The ``CURSor:MODe`` command. + - ``.screen``: The ``CURSor:SCREEN`` command tree. + - ``.source1``: The ``CURSor:SOUrce1`` command. + - ``.state``: The ``CURSor:STATE`` command. + - ``.vbars``: The ``CURSor:VBArs`` command. + - ``.waveform``: The ``CURSor:WAVEform`` command. + - ``.xy``: The ``CURSor:XY`` command. + """ + return self._cursor + + @property + def curve(self) -> Curve: + """Return the ``CURVe`` command. + + **Description:** + - The ``CURVe`` command transfers the waveform data points the oscilloscope's internal + reference memory location (REF1-4), which is specified by the to ``DATa:DESTination`` + command. The ``CURVe?`` query transfers data the oscilloscope; the source waveform is + specified by the from ``DATa:SOUrce`` command. The first and last data points are + specified by the ``DATa:STARt`` and ``DATa:STOP`` commands. Associated with each + waveform transferred using the ``CURVe`` command or query is a waveform preamble that + provides the data format, scale and associated information needed to interpret the + waveform data points. The preamble information for waveforms sent the oscilloscope is + specified using the to WFMInpre commands. The preamble information for waveforms + transferred the oscilloscope is specified or queried using the from WFMOutpre + commands. If the waveform is not displayed, the query form generates an error. The + ``CURVe`` command and ``CURVe?`` query transfer waveform data in ASCII or binary + format. ASCII data is sent as a comma-separated list of decimal values. Binary data is + sent with the IEEE488.2 binary block header immediately followed by the binary data. + The IEEE488.2 binary block header is defined as follows: #N where: N is a + single decimal or hexadecimal digit indicating the number of digits to follow. + are the decimal digits representing the number of bytes in the data that + immediately follows this binary block header. The Waveform Transfer command group text + contains more comprehensive information. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVe?`` query. + - Using the ``.verify(value)`` method will send the ``CURVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVe value`` command. + + **SCPI Syntax:** + + :: + + - CURVe {|} + - CURVe? + + **Info:** + - ```` is the waveform data in binary format. The waveform is formatted as + follows. + - ```` is the waveform data in ASCII format. The format for ASCII data is + [,..], where each represents a data point. For RF frequency domain + waveforms, the data is transmitted as 4-byte floating point values (NR2 or NR3). + """ + return self._curve + + @property + def curvenext(self) -> Curvenext: + """Return the ``CURVENext`` command. + + **Description:** + - This query-only command returns unique waveform data from the instrument. This query + performs just like CURVE?, except multiple uses guarantee that the waveform returned + is always a new acquisition since the previous CURVENEXT. Note that if the instrument + is acquiring waveform records at a slow rate (high resolution mode), you must + configure the controller for long timeout thresholds. Data will not be transferred + until a new waveform is acquired since the previous ``:CURVENext?`` response. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVENext?`` query. + - Using the ``.verify(value)`` method will send the ``CURVENext?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - CURVENext? + """ + return self._curvenext + + @property + def curvestream(self) -> Curvestream: + """Return the ``CURVEStream`` command. + + **Description:** + - This query continuously transfers waveform data from the instrument as it is acquired. + This command puts the instrument into a talk-only mode, allowing the controller to + receive waveform records as fast as (and as soon as) they are acquired. Use the + ``DATA:SOURCE`` command to specify the waveform sources. The command does the same + thing as the CURVE command. Control of the instrument through the user interface or + other external client is not possible while in streaming mode. The GPIB controller + must take the instrument out of this continuous talking mode to terminate the query + and allow other input sources to resume communication with the instrument. The + following options are available to transition out of streaming curve mode: send a + device clear over the bus or send another query to the instrument (a MEPE Query + Interrupted error will occur, but the instrument will be placed back into its normal + talk/listen mode). Turning the waveform screen display mode off + (``:DISPLAY:WAVEFORM OFF``) will increase waveform throughput during streaming mode. + While in streaming mode, two extreme conditions can occur. If the waveform records are + being acquired slowly (high resolution), configure the controller for long time-out + thresholds, as the data is not sent out until each complete record is acquired. If the + waveform records are being acquired rapidly (low resolution), and the controller is + not reading the data off the bus fast enough, the trigger rate is slowed to allow each + waveform to be sent sequentially. + + **Usage:** + - Using the ``.query()`` method will send the ``CURVEStream?`` query. + - Using the ``.verify(value)`` method will send the ``CURVEStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CURVEStream value`` command. + + **SCPI Syntax:** + + :: + + - CURVEStream {|} + - CURVEStream? + """ + return self._curvestream + + @property + def custom(self) -> Custom: + """Return the ``CUSTOM`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``CUSTOM?`` query. + - Using the ``.verify(value)`` method will send the ``CUSTOM?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.gate``: The ``CUSTOM:GATE`` command tree. + - ``.select``: The ``CUSTOM:SELECT`` command tree. + """ + return self._custom + + @property + def d(self) -> Dict[int, DigitalBit]: + """Return the ``D`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``D?`` query. + - Using the ``.verify(value)`` method will send the ``D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.label``: The ``D:LABEL`` command. + - ``.position``: The ``D:POSition`` command. + - ``.probe``: The ``D:PROBE`` command tree. + - ``.threshold``: The ``D:THRESHold`` command. + """ + return self._d + + @property + def data(self) -> Data: + """Return the ``DATa`` command. + + **Description:** + - This command sets or queries the format and location of the waveform data that is + transferred with the CURVE command. + + **Usage:** + - Using the ``.query()`` method will send the ``DATa?`` query. + - Using the ``.verify(value)`` method will send the ``DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATa value`` command. + + **SCPI Syntax:** + + :: + + - DATa {INIT|SNAp} + - DATa? + + **Info:** + - ``INIT`` initializes the waveform data parameters to their factory defaults except for + ``DATa:STOP``, which isset to the current acquisition record length. + - ``SNAp`` Sets ``DATa:STARt`` and ``DATa:STOP`` to match the current waveform cursor + positions of WAVEVIEW1 CURSOR1 if these waveform cursors are currently on. If these + waveform cursors are not on when the ``DATa SNAp`` command is sent, it is silently + ignored and ``DATa:STARt`` and ``:STOP`` remain unchanged. + + Sub-properties: + - ``.destination``: The ``DATa:DESTination`` command. + - ``.encdg``: The ``DATa:ENCdg`` command. + - ``.framestart``: The ``DATa:FRAMESTARt`` command. + - ``.framestop``: The ``DATa:FRAMESTOP`` command. + - ``.source``: The ``DATa:SOUrce`` command. + - ``.start``: The ``DATa:STARt`` command. + - ``.stop``: The ``DATa:STOP`` command. + - ``.syncsources``: The ``DATa:SYNCSOUrces`` command. + """ + return self._data + + @property + def date(self) -> Date: + """Return the ``DATE`` command. + + **Description:** + - This command specifies the date the oscilloscope displays. + + **Usage:** + - Using the ``.query()`` method will send the ``DATE?`` query. + - Using the ``.verify(value)`` method will send the ``DATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATE value`` command. + + **SCPI Syntax:** + + :: + + - DATE + - DATE? + + **Info:** + - ```` is a date in the form 'yyyy-mm-dd' where yyyy refers to a four-digit + year number, mm refers to a two-digit month number from 01 to 12, and dd refers to a + two-digit day number in the month. + """ + return self._date + + @property + def ddt(self) -> Ddt: + """Return the ``*DDT`` command. + + **Description:** + - This command allows you to specify a command or a list of commands that are executed + when the instrument receives a TRG command. Define Device Trigger ( ``*DDT`` ) is a + special alias that the ``*TRG`` command uses. + + **Usage:** + - Using the ``.query()`` method will send the ``*DDT?`` query. + - Using the ``.verify(value)`` method will send the ``*DDT?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*DDT value`` command. + + **SCPI Syntax:** + + :: + + - *DDT {|} + - *DDT? + + **Info:** + - ```` is a complete sequence of program messages. The messages can contain only + valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. The + format of this argument is always returned as a query. + - ```` is a complete sequence of program messages. The messages can contain + only valid commands that must be separated by semicolons and must follow all rules for + concatenating commands. The sequence must be less than or equal to 80 characters. + """ + return self._ddt + + @property + def delete(self) -> Delete: + """Return the ``DELEte`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DELEte?`` query. + - Using the ``.verify(value)`` method will send the ``DELEte?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``DELEte:SETUp`` command. + - ``.waveform``: The ``DELEte:WAVEform`` command. + """ + return self._delete + + @property + def dese(self) -> Dese: + """Return the ``DESE`` command. + + **Description:** + - This command sets and queries the bits in the Device Event Status Enable Register + (DESER). The DESER is the mask that determines whether events are reported to the + Standard Event Status Register (SESR), and entered into the Event Queue. For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``DESE?`` query. + - Using the ``.verify(value)`` method will send the ``DESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DESE value`` command. + + **SCPI Syntax:** + + :: + + - DESE + - DESE? + + **Info:** + - ```` The binary bits of the DESER are set according to this value, which ranges + from 1 through 255. For example, ``DESE 209`` sets the DESER to the binary value + 11010001 (that is, the most significant bit in the register is set to 1, the next most + significant bit to 1, the next bit to 0, etc.). + """ + return self._dese + + @property + def diag(self) -> Diag: + """Return the ``DIAg`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``DIAg?`` query. + - Using the ``.verify(value)`` method will send the ``DIAg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.control``: The ``DIAg:CONTROL`` command tree. + - ``.execute``: The ``DIAg:EXECUTE`` command. + - ``.failures``: The ``DIAg:FAILURES`` command tree. + - ``.item``: The ``DIAg:ITEM`` command. + - ``.level``: The ``DIAg:LEVEL`` command. + - ``.loops``: The ``DIAg:LOOPS`` command. + - ``.name``: The ``DIAg:NAMe`` command. + - ``.numitems``: The ``DIAg:NUMITEMS`` command. + - ``.results``: The ``DIAg:RESults`` command. + - ``.select``: The ``DIAg:SELect`` command tree. + - ``.state``: The ``DIAg:STATE`` command. + - ``.stop``: The ``DIAg:STOP`` command. + """ + return self._diag + + @property + def display(self) -> Display: + """Return the ``DISplay`` command. + + **Description:** + - This query-only command returns the current Display settings. + + **Usage:** + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - DISplay? + + Sub-properties: + - ``.clock``: The ``DISplay:CLOCk`` command. + - ``.color``: The ``DISplay:COLOr`` command. + - ``.data``: The ``DISplay:DATa`` command. + - ``.deskew``: The ``DISplay:DESKew`` command. + - ``.digital``: The ``DISplay:DIGital`` command tree. + - ``.dpojetplot``: The ``DISplay:DPOJETPlot`` command. + - ``.filter``: The ``DISplay:FILTer`` command. + - ``.format``: The ``DISplay:FORMat`` command. + - ``.graticule``: The ``DISplay:GRAticule`` command. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.screentext``: The ``DISplay:SCREENTExt`` command. + - ``.showremote``: The ``DISplay:SHOWREmote`` command. + - ``.style``: The ``DISplay:STYle`` command. + - ``.trigbar``: The ``DISplay:TRIGBar`` command. + - ``.trigt``: The ``DISplay:TRIGT`` command. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveform``: The ``DISplay:WAVEform`` command. + """ + return self._display + + @property + def email(self) -> Email: + """Return the ``EMail`` command. + + **Description:** + - This command (no query form) sends a test e-mail message or sets the current e-mail + sent count to zero. + + **Usage:** + - Using the ``.write(value)`` method will send the ``EMail value`` command. + + **SCPI Syntax:** + + :: + + - EMail {TESt|RESET} + + **Info:** + - ``TESt`` argument sends a test e-mail message. + - ``RESET`` argument sets the e-mail sent count to zero. + + Sub-properties: + - ``.attempts``: The ``EMail:ATTempts`` command. + - ``.authlogin``: The ``EMail:AUTHLogin`` command. + - ``.authpassword``: The ``EMail:AUTHPassword`` command. + - ``.count``: The ``EMail:COUNt`` command. + - ``.from``: The ``EMail:FROm`` command. + - ``.hostwanted``: The ``EMail:HOSTwanted`` command. + - ``.image``: The ``EMail:IMAGe`` command. + - ``.limit``: The ``EMail:LIMit`` command. + - ``.mask``: The ``EMail:MASK`` command. + - ``.maxsize``: The ``EMail:MAXSize`` command. + - ``.measurement``: The ``EMail:MEASUrement`` command. + - ``.numemails``: The ``EMail:NUMEMails`` command. + - ``.smtpport``: The ``EMail:SMTPPort`` command. + - ``.smtpserver``: The ``EMail:SMTPServer`` command. + - ``.status``: The ``EMail:STATUS`` command. + - ``.timeout``: The ``EMail:TIMEOut`` command. + - ``.to``: The ``EMail:TO`` command. + - ``.trigger``: The ``EMail:TRIGger`` command. + - ``.waveform``: The ``EMail:WAVEform`` command. + """ + return self._email + + @property + def errordetector(self) -> Errordetector: + """Return the ``ERRORDetector`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ERRORDetector?`` query. + - Using the ``.verify(value)`` method will send the ``ERRORDetector?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.alert``: The ``ERRORDetector:ALERT`` command. + - ``.aligncharacter``: The ``ERRORDetector:ALIGNCHARacter`` command. + - ``.alignprimitive``: The ``ERRORDetector:ALIGNPRIMitive`` command. + - ``.bit``: The ``ERRORDetector:BIT`` command tree. + - ``.bitrate``: The ``ERRORDetector:BITRate`` command. + - ``.channel``: The ``ERRORDetector:CHANnel`` command. + - ``.duration``: The ``ERRORDetector:DURATION`` command tree. + - ``.errorlimit``: The ``ERRORDetector:ERRORLIMIT`` command. + - ``.file``: The ``ERRORDetector:FILE`` command tree. + - ``.fontsize``: The ``ERRORDetector:FONTSIze`` command. + - ``.frame``: The ``ERRORDetector:FRAme`` command. + - ``.maxaligns``: The ``ERRORDetector:MAXALIGNS`` command. + - ``.patternname``: The ``ERRORDetector:PATTERNNAME`` command. + - ``.preset``: The ``ERRORDetector:PREset`` command. + - ``.saveimage``: The ``ERRORDetector:SAVEIMAGE`` command. + - ``.savewfm``: The ``ERRORDetector:SAVEWFM`` command. + - ``.scrambled``: The ``ERRORDetector:SCRAMBLED`` command. + - ``.sendemail``: The ``ERRORDetector:SENDEMAIL`` command. + - ``.signaltype``: The ``ERRORDetector:SIGnaltype`` command. + - ``.ssc``: The ``ERRORDetector:SSC`` command. + - ``.standard``: The ``ERRORDetector:STANdard`` command. + - ``.state``: The ``ERRORDetector:STATE`` command. + - ``.status``: The ``ERRORDetector:STATus`` command. + - ``.stopwhen``: The ``ERRORDetector:STOPWHEN`` command. + - ``.symbol``: The ``ERRORDetector:SYMBOL`` command. + - ``.timeformat``: The ``ERRORDetector:TIMEformat`` command. + - ``.type``: The ``ERRORDetector:TYPe`` command. + """ + return self._errordetector + + @property + def ese(self) -> Ese: + """Return the ``*ESE`` command. + + **Description:** + - This command sets and queries the bits in the Event Status Enable Register (ESER). The + ESER prevents events from being reported to the Status Byte Register (STB). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESE?`` query. + - Using the ``.verify(value)`` method will send the ``*ESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*ESE value`` command. + + **SCPI Syntax:** + + :: + + - *ESE + - *ESE? + + **Info:** + - ```` specifies the binary bits of the ESER according to this value, which ranges + from 0 through 255. + """ + return self._ese + + @property + def esr(self) -> Esr: + """Return the ``*ESR`` command. + + **Description:** + - This query-only command returns the contents of the Standard Event Status Register + (SESR). ``*ESR?`` also clears the SESR (since reading the SESR clears it). For a more + detailed discussion of the use of these registers, see Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*ESR?`` query. + - Using the ``.verify(value)`` method will send the ``*ESR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *ESR? + """ + return self._esr + + @property + def event(self) -> Event: + """Return the ``EVENT`` command. + + **Description:** + - This query-only command returns an event code from the Event Queue that provides + information about the results of the last ESR read. ``EVENT?`` also removes the + returned value from the Event Queue. + + **Usage:** + - Using the ``.query()`` method will send the ``EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``EVENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVENT? + """ + return self._event + + @property + def evmsg(self) -> Evmsg: + """Return the ``EVMsg`` command. + + **Description:** + - This query-only command removes a single event code from the Event Queue that is + associated with the results of the last ESR read and returns the event code with an + explanatory message. For more information, see Event Handling. + + **Usage:** + - Using the ``.query()`` method will send the ``EVMsg?`` query. + - Using the ``.verify(value)`` method will send the ``EVMsg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVMsg? + """ + return self._evmsg + + @property + def evqty(self) -> Evqty: + """Return the ``EVQty`` command. + + **Description:** + - This query-only command returns the number of events that are enabled in the queue. + This is useful when using the ALLEV query, since it lets you know exactly how many + events will be returned. + + **Usage:** + - Using the ``.query()`` method will send the ``EVQty?`` query. + - Using the ``.verify(value)`` method will send the ``EVQty?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - EVQty? + """ + return self._evqty + + @property + def export(self) -> Export: + """Return the ``EXPort`` command. + + **Description:** + - This command sends a copy of the waveform to the file path specified by + ``EXPORT:FILENAME``. The ``EXPort`` query returns image format and file information. + + **Usage:** + - Using the ``.query()`` method will send the ``EXPort?`` query. + - Using the ``.verify(value)`` method will send the ``EXPort?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``EXPort value`` command. + + **SCPI Syntax:** + + :: + + - EXPort STARt + - EXPort? + + **Info:** + - ``STARt`` initiates the export. + + Sub-properties: + - ``.filename``: The ``EXPort:FILEName`` command. + - ``.format``: The ``EXPort:FORMat`` command. + - ``.palette``: The ``EXPort:PALEtte`` command. + - ``.readouts``: The ``EXPort:READOuts`` command. + - ``.view``: The ``EXPort:VIEW`` command. + """ + return self._export + + @property + def factory(self) -> Factory: + """Return the ``FACtory`` command. + + **Description:** + - This command (no query form) resets the instrument to its factory default settings. + This command is equivalent to pressing the DEFAULT SETUP button located on the + instrument front panel or selecting Default Setup from the File menu. This command + Performs the following in addition to what is done for the ``*RST`` command: Clears + any pending OPC operations. Resets the following IEEE488.2 registers: ``*ESE 0`` + (Event Status Enable Register) ``*SRE 0`` (Service Request Enable Register) DESE 255 + (Device Event Status Enable Register) ``*PSC 1`` (Power-on Status Clear Flag) Deletes + all defined aliases. Enables command headers (``:HEADer 1``). + + **Usage:** + - Using the ``.write()`` method will send the ``FACtory`` command. + + **SCPI Syntax:** + + :: + + - FACtory + """ + return self._factory + + @property + def fastacq(self) -> Fastacq: + """Return the ``FASTAcq`` command. + + **Description:** + - This query-only command returns the state of Fast Acquisitions. This command is + equivalent to pressing the FASTACQ button on the front panel. + + **Usage:** + - Using the ``.query()`` method will send the ``FASTAcq?`` query. + - Using the ``.verify(value)`` method will send the ``FASTAcq?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FASTAcq? + + Sub-properties: + - ``.hiacqrate``: The ``FASTAcq:HIACQRATE`` command. + - ``.state``: The ``FASTAcq:STATE`` command. + """ + return self._fastacq + + @property + def filesystem(self) -> Filesystem: + """Return the ``FILESystem`` command. + + **Description:** + - This query-only command returns the directory listing of the current working + directory. This query is the same as the ``FILESystem:DIR?`` query. + + **Usage:** + - Using the ``.query()`` method will send the ``FILESystem?`` query. + - Using the ``.verify(value)`` method will send the ``FILESystem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - FILESystem? + + Sub-properties: + - ``.copy``: The ``FILESystem:COPy`` command. + - ``.cwd``: The ``FILESystem:CWD`` command. + - ``.delete``: The ``FILESystem:DELEte`` command. + - ``.dir``: The ``FILESystem:DIR`` command. + - ``.mkdir``: The ``FILESystem:MKDir`` command. + - ``.print``: The ``FILESystem:PRInt`` command. + - ``.readfile``: The ``FILESystem:READFile`` command. + - ``.rename``: The ``FILESystem:REName`` command. + - ``.rmdir``: The ``FILESystem:RMDir`` command. + - ``.writefile``: The ``FILESystem:WRITEFile`` command. + """ + return self._filesystem + + @property + def gpibusb(self) -> Gpibusb: + """Return the ``GPIBUsb`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``GPIBUsb?`` query. + - Using the ``.verify(value)`` method will send the ``GPIBUsb?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``GPIBUsb:ADDress`` command. + - ``.hwversion``: The ``GPIBUsb:HWVersion`` command. + - ``.id``: The ``GPIBUsb:ID`` command. + """ + return self._gpibusb + + @property + def hardcopy(self) -> Hardcopy: + """Return the ``HARDCopy`` command. + + **Description:** + - This command sends a copy of the screen display to the port specified by + ``HARDCopy:PORT``. This command is equivalent to pressing the PRINT button on the + front panel. When printing to a file, the file format can be BMP, JPG, PNG, PCX or + TIFF. The format of the saved screen capture is set by the ``EXPORT:FORMAT`` command. + The file format setting is persistent, and will not be affected by a default setup or + ``*RST`` command sent to the instrument. The ``HARDCopy`` query returns the port and + file path. + + **Usage:** + - Using the ``.query()`` method will send the ``HARDCopy?`` query. + - Using the ``.verify(value)`` method will send the ``HARDCopy?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HARDCopy value`` command. + + **SCPI Syntax:** + + :: + + - HARDCopy STARt + - HARDCopy? + + **Info:** + - ``STARt`` initiates a screen copy to a file or the default system printer, as + specified by the ``:HARDCopy:PORT`` selection. The default system printer is set + within the Windows operating system. If you need information about how to set the + default system printer, refer to Microsoft Windows online help. + + Sub-properties: + - ``.filename``: The ``HARDCopy:FILEName`` command. + - ``.layout``: The ``HARDCopy:LAYout`` command. + - ``.palette``: The ``HARDCopy:PALEtte`` command. + - ``.port``: The ``HARDCopy:PORT`` command. + - ``.readouts``: The ``HARDCopy:READOuts`` command. + - ``.view``: The ``HARDCopy:VIEW`` command. + """ + return self._hardcopy + + @property + def hdr(self) -> Hdr: + """Return the ``HDR`` command. + + **Description:** + - This command is identical to the HEADer query and is included for backward + compatibility purposes. + + **Usage:** + - Using the ``.query()`` method will send the ``HDR?`` query. + - Using the ``.verify(value)`` method will send the ``HDR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HDR value`` command. + + **SCPI Syntax:** + + :: + + - HDR {|OFF|ON} + - HDR? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true, which causes the instrument to send headers on query responses. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._hdr + + @property + def header(self) -> Header: + """Return the ``HEADer`` command. + + **Description:** + - This command sets or queries the Response Header Enable State that causes the + instrument to either include or omit headers on query responses. Whether the long or + short form of header keywords and enumerations are returned is dependent upon the + state of ``:VERBose``. + + **Usage:** + - Using the ``.query()`` method will send the ``HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HEADer value`` command. + + **SCPI Syntax:** + + :: + + - HEADer {|OFF|ON} + - HEADer? + + **Info:** + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._header + + @property + def histogram(self) -> Histogram: + """Return the ``HIStogram`` command. + + **Description:** + - This query-only query returns all histogram parameters; it queries the state of all + histogram parameters that the user can set. This command is equivalent to selecting + Waveform Histograms from the Measure menu. + + **Usage:** + - Using the ``.query()`` method will send the ``HIStogram?`` query. + - Using the ``.verify(value)`` method will send the ``HIStogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HIStogram? + + Sub-properties: + - ``.box``: The ``HIStogram:BOX`` command. + - ``.boxpcnt``: The ``HIStogram:BOXPcnt`` command. + - ``.count``: The ``HIStogram:COUNt`` command. + - ``.data``: The ``HIStogram:DATa`` command. + - ``.display``: The ``HIStogram:DISplay`` command. + - ``.function``: The ``HIStogram:FUNCtion`` command. + - ``.mode``: The ``HIStogram:MODe`` command. + - ``.size``: The ``HIStogram:SIZe`` command. + - ``.source``: The ``HIStogram:SOUrce`` command. + - ``.state``: The ``HIStogram:STATE`` command. + """ + return self._histogram + + @property + def horizontal(self) -> Horizontal: + """Return the ``HORizontal`` command. + + **Description:** + - Queries the current horizontal settings. + + **Usage:** + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - HORizontal? + + Sub-properties: + - ``.acqduration``: The ``HORizontal:ACQDURATION`` command. + - ``.acqlength``: The ``HORizontal:ACQLENGTH`` command. + - ``.digital``: The ``HORizontal:DIGital`` command tree. + - ``.divisions``: The ``HORizontal:DIVisions`` command. + - ``.fastframe``: The ``HORizontal:FASTframe`` command. + - ``.main``: The ``HORizontal:MAIn`` command. + - ``.mode``: The ``HORizontal:MODE`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.roll``: The ``HORizontal:ROLL`` command. + - ``.timestamp``: The ``HORizontal:TIMEStamp`` command tree. + """ + return self._horizontal + + @property + def id(self) -> Id: + """Return the ``ID`` command. + + **Description:** + - This query-only command returns identifying information about the instrument and + related firmware similar to that returned by the ``*IDN?`` IEEE488.2 common query but + does not include the instrument serial number. + + **Usage:** + - Using the ``.query()`` method will send the ``ID?`` query. + - Using the ``.verify(value)`` method will send the ``ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - ID? + """ + return self._id + + @property + def idn(self) -> Idn: + """Return the ``*IDN`` command. + + **Description:** + - This query-only command returns the instrument identification code. + + **Usage:** + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *IDN? + """ + return self._idn + + @property + def limit(self) -> Limit: + """Return the ``LIMit`` command. + + **Description:** + - This query-only command returns all settings for the Limit commands. + + **Usage:** + - Using the ``.query()`` method will send the ``LIMit?`` query. + - Using the ``.verify(value)`` method will send the ``LIMit?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - LIMit? + + Sub-properties: + - ``.beep``: The ``LIMit:BEEP`` command. + - ``.compare``: The ``LIMit:COMpare`` command. + - ``.email``: The ``LIMit:EMail`` command. + - ``.hardcopy``: The ``LIMit:HARDCopy`` command. + - ``.highlighthits``: The ``LIMit:HIGHLIGHTHits`` command. + - ``.lock``: The ``LIMit:LOCk`` command. + - ``.log``: The ``LIMit:LOG`` command. + - ``.savewfm``: The ``LIMit:SAVEWFM`` command. + - ``.srq``: The ``LIMit:SRQ`` command. + - ``.state``: The ``LIMit:STATE`` command. + - ``.status``: The ``LIMit:STATus`` command. + - ``.stoponviolation``: The ``LIMit:STOPOnviolation`` command. + - ``.template``: The ``LIMit:TEMPlate`` command tree. + """ + return self._limit + + @property + def linktraining(self) -> Linktraining: + """Return the ``LINKTRaining`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``LINKTRaining?`` query. + - Using the ``.verify(value)`` method will send the ``LINKTRaining?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acqtime``: The ``LINKTRaining:ACQTime`` command. + - ``.armscope``: The ``LINKTRaining:ARMscope`` command. + - ``.decode``: The ``LINKTRaining:DECOde`` command. + - ``.equalizationch``: The ``LINKTRaining:EQUalizationCH`` command. + - ``.lane``: The ``LINKTRaining:LANE`` command. + - ``.mark``: The ``LINKTRaining:MARK`` command. + - ``.setup``: The ``LINKTRaining:SETUP`` command. + """ + return self._linktraining + + @property + def lock(self) -> Lock: + """Return the ``LOCk`` command. + + **Description:** + - This command enables or disables the touch screen and all front panel buttons and + knobs. There is no front panel equivalent. When the front panel is locked, the front + panel commands will not work and will not generate error events. You can work around a + locked front panel, by using the appropriate programmatic interface commands, instead + of the front-panel commands. For example, to set the trigger level to 50%, you could + use ``TRIGger:A SETLevel``. To force a trigger, you could use TRIGger FORCe. + + **Usage:** + - Using the ``.query()`` method will send the ``LOCk?`` query. + - Using the ``.verify(value)`` method will send the ``LOCk?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``LOCk value`` command. + + **SCPI Syntax:** + + :: + + - LOCk {ALL|NONe} + - LOCk? + + **Info:** + - ``ALL`` disables all front panel controls and the touch screen. + - ``NONe`` enables all front panel controls and the touch screen. The UNLock ALL command + only unlocks the front panel controls. + - ``NONe`` command has no effect. For more information, see the ANSI/IEEE Std 488.1-1987 + Standard Digital Interface for Programmable Instrumentation, section 2.8.3 on RL State + Descriptions. + """ + return self._lock + + @property + def lrn(self) -> Lrn: + """Return the ``*LRN`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, + allowing you to record or 'learn' the current instrument settings. You can use these + commands to return the instrument to the state it was in when you made the ``*LRN?`` + query. This command is identical to the SET command. + + **Usage:** + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *LRN? + """ + return self._lrn + + @property + def mark(self) -> Mark: + """Return the ``MARK`` command. + + **Description:** + - Moves to the next or previous reference mark on the waveform. Returns the current mark + position. + + **Usage:** + - Using the ``.query()`` method will send the ``MARK?`` query. + - Using the ``.verify(value)`` method will send the ``MARK?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MARK value`` command. + + **SCPI Syntax:** + + :: + + - MARK {NEXT|PREVious} + - MARK? + + **Info:** + - ``NEXT`` moves to the next reference mark on the right. + - ``PREVious`` moves to the next reference mark on the left. + + Sub-properties: + - ``.create``: The ``MARK:CREATE`` command. + - ``.delete``: The ``MARK:DELEte`` command. + - ``.free``: The ``MARK:FREE`` command. + - ``.selected``: The ``MARK:SELECTED`` command tree. + - ``.total``: The ``MARK:TOTal`` command. + """ + return self._mark + + @property + def mask(self) -> Mask: + """Return the ``MASK`` command. + + **Description:** + - This query-only command returns the states of all settable mask parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MASK? + + Sub-properties: + - ``.autoadjust``: The ``MASK:AUTOAdjust`` command. + - ``.autoset``: The ``MASK:AUTOSet`` command tree. + - ``.copy``: The ``MASK:COPy`` command tree. + - ``.count``: The ``MASK:COUNt`` command. + - ``.display``: The ``MASK:DISplay`` command. + - ``.filter``: The ``MASK:FILTer`` command. + - ``.highlighthits``: The ``MASK:HIGHLIGHTHits`` command. + - ``.invert``: The ``MASK:INVert`` command. + - ``.lock``: The ``MASK:LOCk`` command. + - ``.margin``: The ``MASK:MARgin`` command tree. + - ``.maskpre``: The ``MASK:MASKPRE`` command tree. + - ``.polarity``: The ``MASK:POLarity`` command. + - ``.seg``: The ``MASK:SEG`` command. + - ``.source``: The ``MASK:SOUrce`` command. + - ``.standard``: The ``MASK:STANdard`` command. + - ``.stoponviolation``: The ``MASK:STOPOnviolation`` command. + - ``.test``: The ``MASK:TESt`` command tree. + - ``.user``: The ``MASK:USER`` command tree. + """ + return self._mask + + @property + def math(self) -> Dict[int, MathItem]: + """Return the ``MATH`` command. + + **Description:** + - This query-only command returns the definition for the math waveform specified by , + which ranges from 1 through 4. + + **Usage:** + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATH? + + Sub-properties: + - ``.define``: The ``MATH:DEFine`` command. + - ``.filter``: The ``MATH:FILTer`` command tree. + - ``.label``: The ``MATH:LABel`` command tree. + - ``.numavg``: The ``MATH:NUMAVg`` command. + - ``.spectral``: The ``MATH:SPECTral`` command. + - ``.threshold``: The ``MATH:THRESHold`` command. + - ``.unitstring``: The ``MATH:UNITString`` command. + - ``.vertical``: The ``MATH:VERTical`` command tree. + """ + return self._math + + @property + def matharbflt(self) -> Dict[int, MatharbfltItem]: + """Return the ``MATHArbflt`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHArbflt?`` query. + - Using the ``.verify(value)`` method will send the ``MATHArbflt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filepath``: The ``MATHArbflt:FILepath`` command. + - ``.readfile``: The ``MATHArbflt:READFile`` command. + """ + return self._matharbflt + + @property + def mathvar(self) -> Mathvar: + """Return the ``MATHVAR`` command. + + **Description:** + - Queries both numerical values you can use within math expressions. + + **Usage:** + - Using the ``.query()`` method will send the ``MATHVAR?`` query. + - Using the ``.verify(value)`` method will send the ``MATHVAR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MATHVAR? + + Sub-properties: + - ``.var``: The ``MATHVAR:VAR`` command. + """ + return self._mathvar + + @property + def mch(self) -> Dict[int, MchItem]: + """Return the ``MCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MCH?`` query. + - Using the ``.verify(value)`` method will send the ``MCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.minamplitude``: The ``MCH:MINAMPLitude`` command. + - ``.maxamplitude``: The ``MCH:MAXAMPLitude`` command. + """ + return self._mch + + @property + def measurement(self) -> Measurement: + """Return the ``MEASUrement`` command. + + **Description:** + - This query-only command returns all measurement parameters. + + **Usage:** + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - MEASUrement? + + Sub-properties: + - ``.annotation``: The ``MEASUrement:ANNOTation`` command tree. + - ``.dpojetstatistics``: The ``MEASUrement:DPOJETSTATistics`` command. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.immed``: The ``MEASUrement:IMMed`` command. + - ``.meas``: The ``MEASUrement:MEAS`` command. + - ``.method``: The ``MEASUrement:METHod`` command. + - ``.noise``: The ``MEASUrement:NOISe`` command. + - ``.reflevel``: The ``MEASUrement:REFLevel`` command. + - ``.source1``: The ``MEASUrement:SOUrce1`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + """ + return self._measurement + + @property + def multiscope(self) -> Multiscope: + """Return the ``MULTiscope`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``MULTiscope?`` query. + - Using the ``.verify(value)`` method will send the ``MULTiscope?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.config``: The ``MULTiscope:CONFig`` command. + - ``.exit``: The ``MULTiscope:EXIT`` command. + - ``.restart``: The ``MULTiscope:RESTART`` command. + - ``.status``: The ``MULTiscope:STATUS`` command. + """ + return self._multiscope + + @property + def newpass(self) -> Newpass: + """Return the ``NEWpass`` command. + + **Description:** + - This command (no query form) changes the password that enables access to password + protected data. The PASSWord command must be successfully executed before using this + command or an execution error will be generated. + + **Usage:** + - Using the ``.write(value)`` method will send the ``NEWpass value`` command. + + **SCPI Syntax:** + + :: + + - NEWpass + + **Info:** + - ```` is the new password, which can contain up to 10 characters. + """ + return self._newpass + + @property + def opc(self) -> Opc: + """Return the ``*OPC`` command. + + **Description:** + - This command generates the operation complete message in the Standard Event Status + Register (SESR) when all pending commands that generate an OPC message are complete. + The ``*OPC?`` query places the ASCII character '1' into the output queue when all such + OPC commands are complete. The ``*OPC?`` response is not available to read until all + pending operations finish. For a complete discussion of the use of these registers and + the output queue, see Registers and Queues. The ``*OPC`` command allows you to + synchronize the operation of the instrument with your application program. For more + information, see Synchronization Methods. Refer to the Oscilloscope operations that + can generate OPC table for a list of commands that generate an OPC message. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPC?`` query. + - Using the ``.verify(value)`` method will send the ``*OPC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``*OPC`` command. + + **SCPI Syntax:** + + :: + + - *OPC + - *OPC? + """ + return self._opc + + @property + def opcextended(self) -> Opcextended: + """Return the ``OPCEXtended`` command. + + **Description:** + - This command sets or queries the behavior of OPC commands and queries. When enabled, + operations referenced in the ``*OPC`` command description notify when their overlapped + functionality has completed. When disabled, the operations notify as they have in the + past (only once updated in the instrument state database). Command synchronization + Operation PI sequence Single sequence with ttOff ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:WFMOUTPRE:XZERO?`` Single sequence with Measurement + Annotation ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE PK2PK + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:ANNOTATION:X1?`` Single sequence with + Cursors ``:ACQUIRE:STOPAFTER SEQUENCE``;``:CURSOR:FUNCTION WAVEFORM``;SOURCE CH1;STATE + 1 ``:ACQUIRE:STATE 1``;``*OPC?`` Single sequence with Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MATH1:DEFINE`` 'Ch1``*Ch2``';``:SELECT:MATH1 1`` + ``:ACQUIRE:STATE 1``;``*OPC?`` Default setup followed by Save Waveform + ``*RST``;``*OPC?`` ``:SAVE:WAVEFORM`` CH1,REF1;``*WAI`` ``:SELECT:REF1 1`` Math On + during Acq Run mode ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 + ``:SELECT:MATH1 0`` {Wait a couple sec..longer in release mode?} + ``:SELECT:MATH1 1``;``*WAI``;``:CURVE?`` Save Math to Ref + ``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 ``:MATH1:DEFINE`` + 'CH1``*CH1``';``:SELECT:MATH1 1``;``*WAI``; ``:SAVE:WAVEFORM`` + MATH1,REF1;``:SELECT:REF1 1`` ``:DATA:ENCDG ASCII``;SOURCE REF1;START 1;STOP 10 CURVE? + Trigger state ``:ACQUIRE:STOPAFTER SEQUENCE`` + ``:ACQUIRE:STATE 1``;``*OPC?``;``:TRIGGER:STATE?`` Single sequence with Measurement + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Single sequence with + Measurement on Math + ``:ACQUIRE:STOPAFTER SEQUENCE``;``:HORIZONTAL:MODE MANUAL``;RECORDLENGTH 2500000 + ``:MATH1:DEFINE`` 'CH1``*CH1``';``:SELECT:MATH1 1`` + ``:MEASUREMENT:MEAS1:STATE 1``;TYPE AMPLITUDE;SOURCE MATH1 + ``:ACQUIRE:STATE 1``;``*OPC?``;``:MEASUREMENT:MEAS1:VALUE?`` Acq Count + ``*RST``;``*WAI``;``:ACQUIRE:NUMACQ?`` Acq state after single sequence + ``:ACQUIRE:STOPAFTER SEQUENCE``;STATE 1;``*WAI``;``:ACQUIRE:STATE?`` + + **Usage:** + - Using the ``.query()`` method will send the ``OPCEXtended?`` query. + - Using the ``.verify(value)`` method will send the ``OPCEXtended?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``OPCEXtended value`` command. + + **SCPI Syntax:** + + :: + + - OPCEXtended {|OFF|ON} + - OPCEXtended? + + **Info:** + - ``ON`` turns on extended OPC behavior. + - ``OFF`` turns off extended OPC behavior. + - ```` = 0 turns off extended OPC behavior; any other value turns on extended OPC + behavior. + """ + return self._opcextended + + @property + def opt(self) -> Opt: + """Return the ``*OPT`` command. + + **Description:** + - This query-only command returns a comma separated list of installed options as an + arbitrary ASCII string (no quotes) of the form: + ``:``,``:``... The last + section of each entry (the text following the last hyphen) indicates the license type. + If no options are found, NONE is returned. + + **Usage:** + - Using the ``.query()`` method will send the ``*OPT?`` query. + - Using the ``.verify(value)`` method will send the ``*OPT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *OPT? + """ + return self._opt + + @property + def password(self) -> Password: + """Return the ``PASSWord`` command. + + **Description:** + - This command (no query form) enables the ``*PUD`` and NEWpass set commands. Sending + ``PASSWord`` without any arguments disables these same commands. Once the password is + successfully entered, the ``*PUD`` and NEWpass commands are enabled until the + instrument is powered off, or until the FACtory command, the ``PASSWord`` command with + no arguments, or the ``*RST`` command is issued. To change the password, you must + first enter the valid password with the ``PASSWord`` command and then change to your + new password with the NEWpass command. Remember that the password is case sensitive. + + **Usage:** + - Using the ``.write(value)`` method will send the ``PASSWord value`` command. + + **SCPI Syntax:** + + :: + + - PASSWord + + **Info:** + - ```` is the password, which can contain up to 10 characters. The factory + default password is 'XYZZY' and is always valid. + """ + return self._password + + @property + def pcenable(self) -> Pcenable: + """Return the ``PCENable`` command. + + **Description:** + - Sets or queries the enable state of the User Preference Probe compensation. + + **Usage:** + - Using the ``.query()`` method will send the ``PCENable?`` query. + - Using the ``.verify(value)`` method will send the ``PCENable?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PCENable value`` command. + + **SCPI Syntax:** + + :: + + - PCENable OFF | ON + - PCENable? + """ + return self._pcenable + + @property + def psc(self) -> Psc: + """Return the ``*PSC`` command. + + **Description:** + - This command sets and queries the power-on status flag that controls the automatic + power-on handling of the DESER, SRER, and ESER registers. When ``*PSC`` is true, the + DESER register is set to 255 and the SRER and ESER registers are set to 0 at power-on. + When ``*PSC`` is false, the current values in the DESER, SRER, and ESER registers are + preserved in nonvolatile memory when power is shut off and are restored at power-on. + + **Usage:** + - Using the ``.query()`` method will send the ``*PSC?`` query. + - Using the ``.verify(value)`` method will send the ``*PSC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PSC value`` command. + + **SCPI Syntax:** + + :: + + - *PSC {|OFF|ON} + - *PSC? + + **Info:** + - ```` = 0 sets the power-on status clear flag to false, disables the power-on + clear and allows the instrument to possibly assert SRQ after power-on; any other value + sets the power-on status clear flag to true, enabling the power-on status clear and + prevents any SRQ assertion after power on. + - ``OFF`` sets the power-on status clear flag to false, disables the power-on clear and + allows the instrument to possibly assert SRQ after power-on. + - ``ON`` sets the power-on status clear flag to true, enabling the power-on status clear + and prevents any SRQ assertion after power on. + """ + return self._psc + + @property + def pud(self) -> Pud: + """Return the ``*PUD`` command. + + **Description:** + - This command sets or queries a string of Protected User Data. This data is protected + by the PASSWord command. You can modify it only by first entering the correct + password. This password is not necessary to query the data. + + **Usage:** + - Using the ``.query()`` method will send the ``*PUD?`` query. + - Using the ``.verify(value)`` method will send the ``*PUD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PUD value`` command. + + **SCPI Syntax:** + + :: + + - *PUD {|} + - *PUD? + + **Info:** + - ```` is a block containing up to 100 characters. + - ```` is a string containing up to 100 characters. + """ + return self._pud + + @property + def rcl(self) -> Rcl: + """Return the ``*RCL`` command. + + **Description:** + - This command restores the state of the oscilloscope from a copy of the settings stored + in memory (The settings are stored using the ``*SAV`` command). + + **Usage:** + - Using the ``.write(value)`` method will send the ``*RCL value`` command. + + **SCPI Syntax:** + + :: + + - *RCL + + **Info:** + - ```` is a value in the range from 1 to 10, which specifies a saved setup storage + location. + """ + return self._rcl + + @property + def recall(self) -> Recall: + """Return the ``RECAll`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``RECAll?`` query. + - Using the ``.verify(value)`` method will send the ``RECAll?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``RECAll:MASK`` command. + - ``.setup``: The ``RECAll:SETUp`` command. + - ``.waveform``: The ``RECAll:WAVEform`` command. + """ + return self._recall + + @property + def ref(self) -> Dict[int, RefItem]: + """Return the ``REF`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.horizontal``: The ``REF:HORizontal`` command tree. + - ``.label``: The ``REF:LABel`` command. + - ``.threshold``: The ``REF:THRESHold`` command. + - ``.vertical``: The ``REF:VERTical`` command tree. + """ + return self._ref + + @property + def rem(self) -> Rem: + """Return the ``REM`` command. + + **Description:** + - This command (no query form) embeds a comment within programs as a means of internally + documenting the programs. This is how to embed comments in a .set file. The instrument + ignores these embedded comment lines. + + **Usage:** + - Using the ``.write(value)`` method will send the ``REM value`` command. + + **SCPI Syntax:** + + :: + + - REM + + **Info:** + - ```` is a string that can contain a maximum of 80 characters. + """ + return self._rem + + @property + def rosc(self) -> Rosc: + """Return the ``ROSc`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``ROSc?`` query. + - Using the ``.verify(value)`` method will send the ``ROSc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.out``: The ``ROSc:OUT`` command tree. + - ``.source``: The ``ROSc:SOUrce`` command. + - ``.state``: The ``ROSc:STATE`` command. + - ``.tracking``: The ``ROSc:TRACking`` command. + """ + return self._rosc + + @property + def rst(self) -> Rst: + """Return the ``*RST`` command. + + **Description:** + - This command (no query form) resets the instrument to the factory default settings. + This command does the following: Recalls the default instrument setup. Clears the + current ``*DDT`` command. Disables aliases (``:ALIAS:STATE 0``). Disables the user + password (for the ``*PUD`` command). The ``*RST`` command does not change the + following: The current working directory ( ``:FILESystem:CWD`` command). The state of + command headers ( ``:HEADer`` command). The state of keyword and enumeration verbosity + ( ``:VERBose`` command). The Power-on Status Clear Flag ( ``*PSC`` command). The Event + Status Enable Register ( ``*ESE`` command). The Service Request Enable Register ( + ``*SRE`` command). The Device Event Status Enable Register ( DESE command). The user + password for protected user data ( ``:PASSWord`` command). The content of protected + user data ( ``*PUD`` command). The enabled state of the socket server ( + ``:SOCKETServer:ENAble`` command). The socket server port number ( + ``:SOCKETServer:PORT`` command). The socket server protocol ( + ``:SOCKETServer:PROTOCol`` command). The USBTMC port configuration ( + ``:USBDevice:CONFigure`` command). The destination reference waveform or file path for + the ``:CURVe`` command ( ``:DATa:DESTination`` command). The source waveform for the + ``:CURVe?`` or ``:WAVFrm?`` queries ( ``:DATa:SOUrce`` command). The waveform data + encoding for the ``:CURVe`` command or query or the ``:WAVFrm?`` query ( + ``:DATa:ENCdg`` command). The starting point for ``:CURVe?`` queries ( ``:DATa:STARt`` + command). The ending point for ``:CURVe?`` queries ( ``:DATa:STOP`` command). All + settings associated the ``:WFMInpre`` commands. All user settable settings associated + with the WFMOutpre commands. ``*RST`` only resets the programmable interface settings, + it does not change the user interface settings. + + **Usage:** + - Using the ``.write()`` method will send the ``*RST`` command. + + **SCPI Syntax:** + + :: + + - *RST + """ + return self._rst + + @property + def sav(self) -> Sav: + """Return the ``*SAV`` command. + + **Description:** + - Stores the state of the oscilloscope to a specified memory location. You can use the + ``*RCL`` command to restore the oscilloscope to this saved state at a later time. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SAV value`` command. + + **SCPI Syntax:** + + :: + + - *SAV + + **Info:** + - ```` specifies a location in which to save the state of the oscilloscope. + Location values range from 1 through 10. Using an out-of-range location value causes + an execution error. Any settings that have been stored previously at this location + will be overwritten. + """ + return self._sav + + @property + def save(self) -> Save: + """Return the ``SAVe`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.marks``: The ``SAVe:MARKS`` command. + - ``.mask``: The ``SAVe:MASK`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + return self._save + + @property + def saveon(self) -> Saveon: + """Return the ``SAVEON`` command. + + **Description:** + - Sets the auto-increment file count to 0. Once the number of saved files has reached + the limit that you set (using the ``SAVEON:NUMevents`` command), no files will be + saved until you reset the count. + + **Usage:** + - Using the ``.write(value)`` method will send the ``SAVEON value`` command. + + **SCPI Syntax:** + + :: + + - SAVEON {RESET} + + **Info:** + - ``RESET`` sets the file count to 0. + + Sub-properties: + - ``.count``: The ``SAVEON:COUNt`` command. + - ``.file``: The ``SAVEON:FILE`` command tree. + - ``.image``: The ``SAVEON:IMAGe`` command. + - ``.limit``: The ``SAVEON:LIMit`` command. + - ``.mask``: The ``SAVEON:MASK`` command. + - ``.measurement``: The ``SAVEON:MEASUrement`` command. + - ``.numevents``: The ``SAVEON:NUMEvents`` command. + - ``.setup``: The ``SAVEON:SETUP`` command. + - ``.trigger``: The ``SAVEON:TRIGger`` command. + - ``.waveform``: The ``SAVEON:WAVEform`` command. + """ + return self._saveon + + @property + def sds(self) -> Sds: + """Return the ``*SDS`` command. + + **Description:** + - This command (no query form) changes the specified setup to reference the factory + setup instead of the specific user setup slot. The content of the setup slot is + unchanged, but the data will no longer be accessible to you. This command is + equivalent to selecting Delete from the File menu, and then choosing the specified + setup. + + **Usage:** + - Using the ``.write(value)`` method will send the ``*SDS value`` command. + + **SCPI Syntax:** + + :: + + - *SDS + + **Info:** + - ```` specifies a user setup location to delete. Setup storage location values + range from 1 through 10; using an out-of-range value causes an error. + """ + return self._sds + + @property + def search(self) -> Search: + """Return the ``SEARCH`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.markallevents``: The ``SEARCH:MARKALLevents`` command. + - ``.search``: The ``SEARCH:SEARCH`` command. + - ``.stop``: The ``SEARCH:STOP`` command. + """ + return self._search + + @property + def select(self) -> Select: + """Return the ``SELect`` command. + + **Description:** + - Queries which waveforms are displayed. + + **Usage:** + - Using the ``.query()`` method will send the ``SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SELect? + + Sub-properties: + - ``.b``: The ``SELect:B`` command. + - ``.ch``: The ``SELect:CH`` command. + - ``.control``: The ``SELect:CONTROl`` command. + - ``.d``: The ``SELect:D`` command. + - ``.dall``: The ``SELect:DALL`` command. + - ``.digtraces``: The ``SELect:DIGTraces`` command tree. + - ``.math``: The ``SELect:MATH`` command. + - ``.ref``: The ``SELect:REF`` command. + """ + return self._select + + @property + def set_(self) -> Set: + """Return the ``SET`` command. + + **Description:** + - This query-only command returns the commands that list the instrument settings, except + for configuration information for the calibration values. You can use these commands + to return the instrument to the state it was in when you made the ``SET?`` query. The + ``SET?`` query always returns command headers, regardless of the setting of the HEADER + command. This is because the returned commands are intended to be sent back to the + instrument as a command string. The VERBOSE command can still be used to specify + whether the returned headers should be abbreviated or full-length. This command is + identical to the LRN command. + + **Usage:** + - Using the ``.query()`` method will send the ``SET?`` query. + - Using the ``.verify(value)`` method will send the ``SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - SET? + """ + return self._set + + @property + def setup(self) -> Setup: + """Return the ``SETUp`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SETUp?`` query. + - Using the ``.verify(value)`` method will send the ``SETUp?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.name``: The ``SETUp:NAMe`` command. + """ + return self._setup + + @property + def sre(self) -> Sre: + """Return the ``*SRE`` command. + + **Description:** + - The ``*SRE`` (Service Request Enable) command sets and queries the bits in the Service + Request Enable Register. For more information, refer to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*SRE?`` query. + - Using the ``.verify(value)`` method will send the ``*SRE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*SRE value`` command. + + **SCPI Syntax:** + + :: + + - *SRE + - *SRE? + + **Info:** + - ```` is a value in the range from 0 through 255. The binary bits of the SRER are + set according to this value. Using an out-of-range value causes an execution error. + The power-on default for SRER is 0 if ``*PSC`` is 1. If ``*PSC`` is 0, the SRER + maintains the previous power cycle value through the current power cycle. + """ + return self._sre + + @property + def stb(self) -> Stb: + """Return the ``*STB`` command. + + **Description:** + - The ``*STB?`` (Read Status Byte) query returns the contents of the Status Byte + Register (SBR) using the Master Summary Status (MSS) bit. For more information, refer + to Registers. + + **Usage:** + - Using the ``.query()`` method will send the ``*STB?`` query. + - Using the ``.verify(value)`` method will send the ``*STB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *STB? + """ + return self._stb + + @property + def system(self) -> System: + """Return the ``SYSTem`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``SYSTem?`` query. + - Using the ``.verify(value)`` method will send the ``SYSTem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.setup``: The ``SYSTem:SETup`` command. + """ + return self._system + + @property + def teklink(self) -> Teklink: + """Return the ``TEKLink`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TEKLink?`` query. + - Using the ``.verify(value)`` method will send the ``TEKLink?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.connection``: The ``TEKLink:CONNection`` command. + - ``.refclk``: The ``TEKLink:REFClk`` command. + """ + return self._teklink + + @property + def teksecure(self) -> Teksecure: + """Return the ``TEKSecure`` command. + + **Description:** + - This command initializes, for the current user, both waveform and setup memories, + overwriting any previously stored data. Equivalent to invoking Teksecure from the + Utility menu. This is a time-consuming operation (3 to 5 minutes) and the instrument + is inoperable until the TekSecure operation is complete. + + **Usage:** + - Using the ``.write()`` method will send the ``TEKSecure`` command. + + **SCPI Syntax:** + + :: + + - TEKSecure + """ + return self._teksecure + + @property + def test(self) -> Test: + """Return the ``TEST`` command. + + **Description:** + - This command provides the ability to select and execute an item at any level of the + test hierarchy (Test, Area or Subsystem). The query returns the last command sent. + This command is equivalent to selecting Instrument Diagnostics from the Utilities + menu, choosing a test and then pressing Run. + + **Usage:** + - Using the ``.query()`` method will send the ``TEST?`` query. + - Using the ``.verify(value)`` method will send the ``TEST?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TEST value`` command. + + **SCPI Syntax:** + + :: + + - TEST + - TEST? + + **Info:** + - ```` sets the test ID, which ranges from 0 through 3 characters. If no test + ID is specified, all available diagnostics are executed. + + Sub-properties: + - ``.results``: The ``TEST:RESults`` command. + - ``.stop``: The ``TEST:STOP`` command. + """ + return self._test + + @property + def time(self) -> Time: + """Return the ``TIME`` command. + + **Description:** + - This command sets or queries the time that the instrument displays. This command is + equivalent to selecting Set Time & Date from the Utilities menu and then setting the + fields in the Time group box. + + **Usage:** + - Using the ``.query()`` method will send the ``TIME?`` query. + - Using the ``.verify(value)`` method will send the ``TIME?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TIME value`` command. + + **SCPI Syntax:** + + :: + + - TIME + - TIME? + + **Info:** + - ```` is a time in the form '``hh:mm:ss``' where hh refers to a two-digit hour + number, mm refers to a two-digit minute number from 01 to 60, and ss refers to a + two-digit second number from 01 to 60. + """ + return self._time + + @property + def trg(self) -> Trg: + """Return the ``*TRG`` command. + + **Description:** + - Performs a group execute trigger on commands defined by ``*DDT``. + + **Usage:** + - Using the ``.write()`` method will send the ``*TRG`` command. + + **SCPI Syntax:** + + :: + + - *TRG + """ + return self._trg + + @property + def trig(self) -> Trig: + """Return the ``TRIG`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIG?`` query. + - Using the ``.verify(value)`` method will send the ``TRIG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``TRIG:A`` command tree. + """ + return self._trig + + @property + def trigger(self) -> Trigger: + """Return the ``TRIGger`` command. + + **Description:** + - This command forces a trigger event to occur. The query returns the current trigger + parameters for the instrument. + + **Usage:** + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger value`` command. + + **SCPI Syntax:** + + :: + + - TRIGger FORCe + - TRIGger? + + **Info:** + - ``FORCe`` creates a trigger event. If ``TRIGger:STATE`` is set to READy, the + acquisition will complete. Otherwise, this command will be ignored. This is equivalent + to pressing the Force button on the front panel. + + Sub-properties: + - ``.a``: The ``TRIGger:A`` command. + - ``.auxlevel``: The ``TRIGger:AUXLevel`` command. + - ``.b``: The ``TRIGger:B`` command. + - ``.enhanced``: The ``TRIGger:ENHanced`` command. + - ``.equation``: The ``TRIGger:EQUation`` command. + - ``.lvlsrcpreference``: The ``TRIGger:LVLSrcpreference`` command. + - ``.main``: The ``TRIGger:MAIn`` command tree. + - ``.multiscope``: The ``TRIGger:MULTiscope`` command. + - ``.qualification``: The ``TRIGger:QUALification`` command tree. + - ``.sensitivity``: The ``TRIGger:SENSITivity`` command. + - ``.showequation``: The ``TRIGger:SHOWEQuation`` command. + - ``.state``: The ``TRIGger:STATE`` command. + """ + return self._trigger + + @property + def tst(self) -> Tst: + """Return the ``*TST`` command. + + **Description:** + - Tests (self-test) the interface and returns a 0. + + **Usage:** + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - *TST? + """ + return self._tst + + @property + def unlock(self) -> Unlock: + """Return the ``UNLock`` command. + + **Description:** + - This command (no query form) unlocks the front panel controls only. To unlock the + front panel controls and the touch screen use the LOCk NONe command. The command + ``TOUCHSCReen:STATE ON`` enables the touch screen only. + + **Usage:** + - Using the ``.write(value)`` method will send the ``UNLock value`` command. + + **SCPI Syntax:** + + :: + + - UNLock ALL + + **Info:** + - ``ALL`` specifies that all front panel buttons and knobs are unlocked. + """ + return self._unlock + + @property + def usbtmc(self) -> Usbtmc: + """Return the ``USBTMC`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``USBTMC?`` query. + - Using the ``.verify(value)`` method will send the ``USBTMC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.productid``: The ``USBTMC:PRODUCTID`` command tree. + - ``.serialnumber``: The ``USBTMC:SERIALnumber`` command. + - ``.vendorid``: The ``USBTMC:VENDORID`` command tree. + """ + return self._usbtmc + + @property + def verbose(self) -> Verbose: + """Return the ``VERBose`` command. + + **Description:** + - This command sets or queries the Verbose state that controls the length of keywords on + query responses. Keywords can be both headers and arguments. + + **Usage:** + - Using the ``.write(value)`` method will send the ``VERBose value`` command. + + **SCPI Syntax:** + + :: + + - VERBose {|OFF|ON} + + **Info:** + - ```` = 0 disables Verbose, any other value enables Verbose. + - ``OFF`` sets the Verbose state to false, which returns minimum-length keywords for + applicable setting queries. + - ``ON`` sets the Verbose state to true, which returns full-length keywords for + applicable setting queries. + """ + return self._verbose + + @property + def visual(self) -> Visual: + """Return the ``VISual`` command. + + **Description:** + - This query-only command returns the settings for each visual trigger area. + + **Usage:** + - Using the ``.query()`` method will send the ``VISual?`` query. + - Using the ``.verify(value)`` method will send the ``VISual?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - VISual? + + Sub-properties: + - ``.area``: The ``VISual:AREA`` command. + - ``.areacolor``: The ``VISual:AREACOLOr`` command. + - ``.aspectratio``: The ``VISual:ASPECTratio`` command. + - ``.deletearea``: The ``VISual:DELETEAREA`` command. + - ``.enable``: The ``VISual:ENAble`` command. + - ``.file``: The ``VISual:FILE`` command tree. + """ + return self._visual + + @property + def wai(self) -> Wai: + """Return the ``*WAI`` command. + + **Description:** + - The ``*WAI`` (Wait) command (no query form) prevents the instrument from executing + further commands or queries until all pending commands that generate an OPC message + are complete. This command allows you to synchronize the operation of the instrument + with your application program. For more information, refer to Synchronization Methods. + + **Usage:** + - Using the ``.write()`` method will send the ``*WAI`` command. + + **SCPI Syntax:** + + :: + + - *WAI + """ + return self._wai + + @property + def wavfrm(self) -> Wavfrm: + """Return the ``WAVFrm`` command. + + **Description:** + - This query-only command provides the Tektronix standard waveform query which returns + the waveform preamble followed by the waveform data for the source specified by + ``:DATa:SOUrce`` using the ``:DATa`` settings for encoding, width, and so forth. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFrm?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFrm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFrm? + """ + return self._wavfrm + + @property + def wavfrmstream(self) -> Wavfrmstream: + """Return the ``WAVFRMStream`` command. + + **Description:** + - This query only command returns WFMQUTPRE? and CURVESTREAM? data for the waveforms + specified by the DATASOURCE command. This command is similar to sending both + WFMOUTPRE? and CURVESTREAM?, with the additional provision that each CURVESTREAM + response to WAVFRMS? has a WFMOUTPRE response prepended to it. This helps guarantee a + continuous synchronized preamble and curve. + + **Usage:** + - Using the ``.query()`` method will send the ``WAVFRMStream?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFRMStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WAVFRMStream? + """ + return self._wavfrmstream + + @property + def wfminpre(self) -> Wfminpre: + """Return the ``WFMInpre`` command. + + **Description:** + - Returns the waveform formatting and scaling specifications to be applied to the next + incoming CURVe command data. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMInpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMInpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMInpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMInpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMInpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMInpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMInpre:BYT_Or`` command. + - ``.encdg``: The ``WFMInpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMInpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMInpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMInpre:PT_Fmt`` command. + - ``.pt_off``: The ``WFMInpre:PT_Off`` command. + - ``.wfid``: The ``WFMInpre:WFId`` command. + - ``.xincr``: The ``WFMInpre:XINcr`` command. + - ``.xunit``: The ``WFMInpre:XUNit`` command. + - ``.xzero``: The ``WFMInpre:XZEro`` command. + - ``.ymult``: The ``WFMInpre:YMUlt`` command. + - ``.yoff``: The ``WFMInpre:YOFf`` command. + - ``.yunit``: The ``WFMInpre:YUNit`` command. + - ``.yzero``: The ``WFMInpre:YZEro`` command. + """ + return self._wfminpre + + @property + def wfmoutpre(self) -> Wfmoutpre: + """Return the ``WFMOutpre`` command. + + **Description:** + - This query-only command queries the waveform formatting data for the waveform + specified by the ``DATA:SOURCE`` command. The preamble components are considered to be + of two types; formatting and interpretation. The formatting components are: ENCdg, + ``BN_Fmt``, ``BYT_Or``, ``BYT_Nr``, ``BIT_Nr``. The interpretation components are + derived from the ``DATa:SOUrce`` specified waveform. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMOutpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMOutpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + **SCPI Syntax:** + + :: + + - WFMOutpre? + + Sub-properties: + - ``.bit_nr``: The ``WFMOutpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMOutpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMOutpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMOutpre:BYT_Or`` command. + - ``.encdg``: The ``WFMOutpre:ENCdg`` command. + - ``.nr_fr``: The ``WFMOutpre:NR_FR`` command. + - ``.nr_pt``: The ``WFMOutpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMOutpre:PT_Fmt`` command. + - ``.pt_order``: The ``WFMOutpre:PT_ORder`` command. + - ``.pt_off``: The ``WFMOutpre:PT_Off`` command. + - ``.wfid``: The ``WFMOutpre:WFId`` command. + - ``.xincr``: The ``WFMOutpre:XINcr`` command. + - ``.xunit``: The ``WFMOutpre:XUNit`` command. + - ``.xzero``: The ``WFMOutpre:XZEro`` command. + - ``.ymult``: The ``WFMOutpre:YMUlt`` command. + - ``.yoff``: The ``WFMOutpre:YOFf`` command. + - ``.yunit``: The ``WFMOutpre:YUNit`` command. + - ``.yzero``: The ``WFMOutpre:YZEro`` command. + """ + return self._wfmoutpre + + @property + def wfmpre(self) -> Wfmpre: + """Return the ``WFMPre`` command tree. + + **Usage:** + - Using the ``.query()`` method will send the ``WFMPre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMPre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.nr_fr``: The ``WFMPre:NR_FR`` command. + """ + return self._wfmpre + + @property + def zoom(self) -> Zoom: + """Return the ``ZOOm`` command. + + **Description:** + - This command resets the zoom transforms to default values for all traces or live + traces. The ``ZOOm`` query returns the current vertical and horizontal positioning and + scaling of the display. + + **Usage:** + - Using the ``.query()`` method will send the ``ZOOm?`` query. + - Using the ``.verify(value)`` method will send the ``ZOOm?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ZOOm value`` command. + + **SCPI Syntax:** + + :: + + - ZOOm {RESET|RESETLive} + - ZOOm? + + **Info:** + - ``RESET`` resets the zoom transforms to default values for all traces. + - ``RESETLive`` resets the zoom transforms to default values for live traces. + + Sub-properties: + - ``.graticule``: The ``ZOOm:GRAticule`` command tree. + - ``.horizontal``: The ``ZOOm:HORizontal`` command tree. + - ``.math``: The ``ZOOm:MATH`` command tree. + - ``.mode``: The ``ZOOm:MODe`` command. + - ``.ref``: The ``ZOOm:REF`` command tree. + - ``.scroll``: The ``ZOOm:SCROLL`` command tree. + - ``.state``: The ``ZOOm:STATE`` command. + - ``.vertical``: The ``ZOOm:VERTical`` command tree. + - ``.zoom1``: The ``ZOOm:ZOOM1`` command. + """ + return self._zoom + + +class MSO5KMixin: + """A mixin that provides access to the MSO5K commands and constants. + + Properties: + - ``.command_argument_constants``: The MSO5K command argument constants. + - ``.commands``: The MSO5K commands. + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + device = self if isinstance(self, PIDevice) else None + self._command_argument_constants = MSO5KCommandConstants() + self._commands = MSO5KCommands(device) + + @property + def command_argument_constants(self) -> MSO5KCommandConstants: + """Return the MSO5K command argument constants. + + This provides access to all the string constants which can be used as arguments for MSO5K + commands. + """ + return self._command_argument_constants + + @property + def commands(self) -> MSO5KCommands: + """Return the MSO5K commands. + + This provides access to all the commands for the MSO5K device. See the documentation of each + sub-property for more usage information. + + Sub-properties: + - ``.acquire``: The ``ACQuire`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.allocate``: The ``ALLOcate`` command tree. + - ``.application``: The ``APPLication`` command tree. + - ``.autoset``: The ``AUTOSet`` command. + - ``.auxin``: The ``AUXIn`` command tree. + - ``.auxout``: The ``AUXout`` command. + - ``.bell``: The ``BELl`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.cal``: The ``*CAL`` command. + - ``.calibrate``: The ``CALibrate`` command. + - ``.ch``: The ``CH`` command. + - ``.clear``: The ``CLEAR`` command. + - ``.cls``: The ``*CLS`` command. + - ``.cmdbatch``: The ``CMDBatch`` command. + - ``.counter``: The ``COUnter`` command tree. + - ``.cq``: The ``CQ`` command tree. + - ``.cursor``: The ``CURSor`` command. + - ``.curve``: The ``CURVe`` command. + - ``.curvenext``: The ``CURVENext`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.custom``: The ``CUSTOM`` command tree. + - ``.d``: The ``D`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.ddt``: The ``*DDT`` command. + - ``.delete``: The ``DELEte`` command tree. + - ``.dese``: The ``DESE`` command. + - ``.diag``: The ``DIAg`` command tree. + - ``.display``: The ``DISplay`` command. + - ``.email``: The ``EMail`` command. + - ``.errordetector``: The ``ERRORDetector`` command tree. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.export``: The ``EXPort`` command. + - ``.factory``: The ``FACtory`` command. + - ``.fastacq``: The ``FASTAcq`` command. + - ``.filesystem``: The ``FILESystem`` command. + - ``.gpibusb``: The ``GPIBUsb`` command tree. + - ``.hardcopy``: The ``HARDCopy`` command. + - ``.hdr``: The ``HDR`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HIStogram`` command. + - ``.horizontal``: The ``HORizontal`` command. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.limit``: The ``LIMit`` command. + - ``.linktraining``: The ``LINKTRaining`` command tree. + - ``.lock``: The ``LOCk`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mark``: The ``MARK`` command. + - ``.mask``: The ``MASK`` command. + - ``.math``: The ``MATH`` command. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.mathvar``: The ``MATHVAR`` command. + - ``.mch``: The ``MCH`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.multiscope``: The ``MULTiscope`` command tree. + - ``.newpass``: The ``NEWpass`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opcextended``: The ``OPCEXtended`` command. + - ``.opt``: The ``*OPT`` command. + - ``.password``: The ``PASSWord`` command. + - ``.pcenable``: The ``PCENable`` command. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.rcl``: The ``*RCL`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.rosc``: The ``ROSc`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.sav``: The ``*SAV`` command. + - ``.save``: The ``SAVe`` command tree. + - ``.saveon``: The ``SAVEON`` command. + - ``.sds``: The ``*SDS`` command. + - ``.search``: The ``SEARCH`` command tree. + - ``.select``: The ``SELect`` command. + - ``.set``: The ``SET`` command. + - ``.setup``: The ``SETUp`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.system``: The ``SYSTem`` command tree. + - ``.teklink``: The ``TEKLink`` command tree. + - ``.teksecure``: The ``TEKSecure`` command. + - ``.test``: The ``TEST`` command. + - ``.time``: The ``TIME`` command. + - ``.trg``: The ``*TRG`` command. + - ``.trig``: The ``TRIG`` command tree. + - ``.trigger``: The ``TRIGger`` command. + - ``.tst``: The ``*TST`` command. + - ``.unlock``: The ``UNLock`` command. + - ``.usbtmc``: The ``USBTMC`` command tree. + - ``.verbose``: The ``VERBose`` command. + - ``.visual``: The ``VISual`` command. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wavfrmstream``: The ``WAVFRMStream`` command. + - ``.wfminpre``: The ``WFMInpre`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + - ``.wfmpre``: The ``WFMPre`` command tree. + - ``.zoom``: The ``ZOOm`` command. + """ + return self._commands diff --git a/src/tm_devices/commands/_mso5kb_commands.py b/src/tm_devices/commands/_mso5kb_commands.py index bea72152..4bb2403b 100644 --- a/src/tm_devices/commands/_mso5kb_commands.py +++ b/src/tm_devices/commands/_mso5kb_commands.py @@ -10,104 +10,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice from ._5ri0nj_dpomso.bus import Bus -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom from ._53md2e_dpomso.fpanel import Fpanel from ._561g9r_mso.trigger import Trigger -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso5lp_commands.py b/src/tm_devices/commands/_mso5lp_commands.py index 01dd40f0..dcacb044 100644 --- a/src/tm_devices/commands/_mso5lp_commands.py +++ b/src/tm_devices/commands/_mso5lp_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso6_commands.py b/src/tm_devices/commands/_mso6_commands.py index 4d07e5c5..fa67e6cd 100644 --- a/src/tm_devices/commands/_mso6_commands.py +++ b/src/tm_devices/commands/_mso6_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso6b_commands.py b/src/tm_devices/commands/_mso6b_commands.py index 013784e7..87eedd42 100644 --- a/src/tm_devices/commands/_mso6b_commands.py +++ b/src/tm_devices/commands/_mso6b_commands.py @@ -9,22 +9,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm from ._e3e9uu_lpdmso.acquire import Acquire from ._e3e9uu_lpdmso.actonevent import Actonevent from ._e3e9uu_lpdmso.application import Application @@ -86,20 +70,36 @@ from ._e3h2zs_lpdmso.vertical import Vertical from ._e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from ._e4de2d_lpdmsomdo.clear import Clear -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock from ._e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt from ._e6606z_lpdmsomdodpo.pause import Pause from ._e6606z_lpdmsomdodpo.rosc import Rosc -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso70kc_commands.py b/src/tm_devices/commands/_mso70kc_commands.py index e0358d12..2ebdf0f2 100644 --- a/src/tm_devices/commands/_mso70kc_commands.py +++ b/src/tm_devices/commands/_mso70kc_commands.py @@ -10,103 +10,103 @@ from tm_devices.drivers.pi.pi_device import PIDevice from ._5ri0nj_dpomso.bus import Bus -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav from ._5vmwut_dpodsamso.trigger import Trigger -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_mso70kdx_commands.py b/src/tm_devices/commands/_mso70kdx_commands.py index 48e9007a..74eda36f 100644 --- a/src/tm_devices/commands/_mso70kdx_commands.py +++ b/src/tm_devices/commands/_mso70kdx_commands.py @@ -9,104 +9,104 @@ from tm_devices.drivers.pi.pi_device import PIDevice -from ._5uw825_msodpomdodsa.curve import Curve -from ._5uw825_msodpomdodsa.date import Date -from ._5uw825_msodpomdodsa.mathvar import Mathvar -from ._5uw825_msodpomdodsa.save_and_recall import Rcl, Sav -from ._5x02qd_msodpodsa.time import Time -from ._5xwdsk_dpodsamso.counter import Counter from ._5xwdsk_dpodsamso.errordetector import Errordetector -from ._5xwdsk_dpodsamso.linktraining import Linktraining -from ._5xwdsk_dpodsamso.rosc import Rosc -from ._5y90wx_dpodsamso.acquire import Acquire -from ._5y90wx_dpodsamso.allocate import Allocate -from ._5y90wx_dpodsamso.application import Application -from ._5y90wx_dpodsamso.autoset import Autoset -from ._5y90wx_dpodsamso.auxin import Auxin -from ._5y90wx_dpodsamso.auxout import Auxout -from ._5y90wx_dpodsamso.bell import Bell -from ._5y90wx_dpodsamso.calibrate import Calibrate -from ._5y90wx_dpodsamso.ch import Channel -from ._5y90wx_dpodsamso.clear import Clear -from ._5y90wx_dpodsamso.cmdbatch import Cmdbatch -from ._5y90wx_dpodsamso.cq import CqItem -from ._5y90wx_dpodsamso.cursor import Cursor -from ._5y90wx_dpodsamso.curvenext import Curvenext -from ._5y90wx_dpodsamso.curvestream import Curvestream -from ._5y90wx_dpodsamso.custom import Custom -from ._5y90wx_dpodsamso.d import DigitalBit -from ._5y90wx_dpodsamso.data import Data -from ._5y90wx_dpodsamso.delete import Delete -from ._5y90wx_dpodsamso.diag import Diag -from ._5y90wx_dpodsamso.display import Display from ._5y90wx_dpodsamso.dpojet import Dpojet -from ._5y90wx_dpodsamso.email import Email -from ._5y90wx_dpodsamso.export import Export -from ._5y90wx_dpodsamso.fastacq import Fastacq -from ._5y90wx_dpodsamso.filesystem import Filesystem -from ._5y90wx_dpodsamso.gpibusb import Gpibusb -from ._5y90wx_dpodsamso.hardcopy import Hardcopy -from ._5y90wx_dpodsamso.hdr import Hdr -from ._5y90wx_dpodsamso.histogram import Histogram -from ._5y90wx_dpodsamso.horizontal import Horizontal -from ._5y90wx_dpodsamso.limit import Limit -from ._5y90wx_dpodsamso.mark import Mark -from ._5y90wx_dpodsamso.mask import Mask -from ._5y90wx_dpodsamso.math import MathItem -from ._5y90wx_dpodsamso.matharbflt import MatharbfltItem -from ._5y90wx_dpodsamso.mch import MchItem -from ._5y90wx_dpodsamso.measurement import Measurement -from ._5y90wx_dpodsamso.multiscope import Multiscope -from ._5y90wx_dpodsamso.opcextended import Opcextended -from ._5y90wx_dpodsamso.pcenable import Pcenable -from ._5y90wx_dpodsamso.recall import Recall -from ._5y90wx_dpodsamso.ref import RefItem -from ._5y90wx_dpodsamso.save import Save -from ._5y90wx_dpodsamso.save_and_recall import Sds -from ._5y90wx_dpodsamso.saveon import Saveon -from ._5y90wx_dpodsamso.search import Search -from ._5y90wx_dpodsamso.select import Select -from ._5y90wx_dpodsamso.setup_1 import Setup -from ._5y90wx_dpodsamso.system import System -from ._5y90wx_dpodsamso.teklink import Teklink -from ._5y90wx_dpodsamso.test import Test -from ._5y90wx_dpodsamso.trig import Trig -from ._5y90wx_dpodsamso.usbtmc import Usbtmc -from ._5y90wx_dpodsamso.visual import Visual -from ._5y90wx_dpodsamso.wavfrmstream import Wavfrmstream -from ._5y90wx_dpodsamso.wfminpre import Wfminpre -from ._5y90wx_dpodsamso.wfmoutpre import Wfmoutpre -from ._5y90wx_dpodsamso.wfmpre import Wfmpre -from ._5y90wx_dpodsamso.zoom import Zoom from ._5yyb4r_mso.trigger import Trigger -from ._60ea5c_dpodsamso.bus import Bus -from ._e3bgpz_lpdmsodpomdodsa.allev import Allev -from ._e3bgpz_lpdmsodpomdodsa.busy import Busy -from ._e3bgpz_lpdmsodpomdodsa.dese import Dese -from ._e3bgpz_lpdmsodpomdodsa.event import Event -from ._e3bgpz_lpdmsodpomdodsa.evmsg import Evmsg -from ._e3bgpz_lpdmsodpomdodsa.evqty import Evqty -from ._e3bgpz_lpdmsodpomdodsa.factory import Factory -from ._e3bgpz_lpdmsodpomdodsa.id import Id -from ._e3bgpz_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn -from ._e3bgpz_lpdmsodpomdodsa.newpass import Newpass -from ._e3bgpz_lpdmsodpomdodsa.password import Password -from ._e3bgpz_lpdmsodpomdodsa.rem import Rem -from ._e3bgpz_lpdmsodpomdodsa.set import Set -from ._e3bgpz_lpdmsodpomdodsa.status_and_error import Pud -from ._e3bgpz_lpdmsodpomdodsa.teksecure import Teksecure -from ._e3bgpz_lpdmsodpomdodsa.wavfrm import Wavfrm -from ._e5nqsy_lpdmsodpodsa.alias import Alias -from ._e5nqsy_lpdmsodpodsa.header import Header -from ._e5nqsy_lpdmsodpodsa.status_and_error import Psc -from ._e5nqsy_lpdmsodpodsa.verbose import Verbose -from ._e5td2t_lpdmsodpomdodsa.lock import Lock -from ._e5td2t_lpdmsodpomdodsa.unlock import Unlock -from ._e9znur_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from ._ea3vk0_lpdmsodpomdoafgawgdsa.calibration import Cal -from ._ea3vk0_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from ._ea3vk0_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from ._ecer2i_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._ffz2xs_dpodsamso.bus import Bus +from ._fhrp27_msodpomdodsa.curve import Curve +from ._fhrp27_msodpomdodsa.date import Date +from ._fhrp27_msodpomdodsa.mathvar import Mathvar +from ._fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from ._fk3z56_dpodsamso.acquire import Acquire +from ._fk3z56_dpodsamso.allocate import Allocate +from ._fk3z56_dpodsamso.application import Application +from ._fk3z56_dpodsamso.autoset import Autoset +from ._fk3z56_dpodsamso.auxin import Auxin +from ._fk3z56_dpodsamso.auxout import Auxout +from ._fk3z56_dpodsamso.bell import Bell +from ._fk3z56_dpodsamso.calibrate import Calibrate +from ._fk3z56_dpodsamso.ch import Channel +from ._fk3z56_dpodsamso.clear import Clear +from ._fk3z56_dpodsamso.cmdbatch import Cmdbatch +from ._fk3z56_dpodsamso.cq import CqItem +from ._fk3z56_dpodsamso.cursor import Cursor +from ._fk3z56_dpodsamso.curvenext import Curvenext +from ._fk3z56_dpodsamso.curvestream import Curvestream +from ._fk3z56_dpodsamso.custom import Custom +from ._fk3z56_dpodsamso.d import DigitalBit +from ._fk3z56_dpodsamso.data import Data +from ._fk3z56_dpodsamso.delete import Delete +from ._fk3z56_dpodsamso.diag import Diag +from ._fk3z56_dpodsamso.display import Display +from ._fk3z56_dpodsamso.email import Email +from ._fk3z56_dpodsamso.export import Export +from ._fk3z56_dpodsamso.fastacq import Fastacq +from ._fk3z56_dpodsamso.filesystem import Filesystem +from ._fk3z56_dpodsamso.gpibusb import Gpibusb +from ._fk3z56_dpodsamso.hardcopy import Hardcopy +from ._fk3z56_dpodsamso.hdr import Hdr +from ._fk3z56_dpodsamso.histogram import Histogram +from ._fk3z56_dpodsamso.horizontal import Horizontal +from ._fk3z56_dpodsamso.limit import Limit +from ._fk3z56_dpodsamso.mark import Mark +from ._fk3z56_dpodsamso.mask import Mask +from ._fk3z56_dpodsamso.math import MathItem +from ._fk3z56_dpodsamso.matharbflt import MatharbfltItem +from ._fk3z56_dpodsamso.mch import MchItem +from ._fk3z56_dpodsamso.measurement import Measurement +from ._fk3z56_dpodsamso.multiscope import Multiscope +from ._fk3z56_dpodsamso.opcextended import Opcextended +from ._fk3z56_dpodsamso.pcenable import Pcenable +from ._fk3z56_dpodsamso.recall import Recall +from ._fk3z56_dpodsamso.ref import RefItem +from ._fk3z56_dpodsamso.save import Save +from ._fk3z56_dpodsamso.save_and_recall import Sds +from ._fk3z56_dpodsamso.saveon import Saveon +from ._fk3z56_dpodsamso.search import Search +from ._fk3z56_dpodsamso.select import Select +from ._fk3z56_dpodsamso.setup_1 import Setup +from ._fk3z56_dpodsamso.system import System +from ._fk3z56_dpodsamso.teklink import Teklink +from ._fk3z56_dpodsamso.test import Test +from ._fk3z56_dpodsamso.trig import Trig +from ._fk3z56_dpodsamso.usbtmc import Usbtmc +from ._fk3z56_dpodsamso.visual import Visual +from ._fk3z56_dpodsamso.wavfrmstream import Wavfrmstream +from ._fk3z56_dpodsamso.wfminpre import Wfminpre +from ._fk3z56_dpodsamso.wfmoutpre import Wfmoutpre +from ._fk3z56_dpodsamso.wfmpre import Wfmpre +from ._fk3z56_dpodsamso.zoom import Zoom +from ._fkjfe8_msodpodsa.time import Time +from ._fpx9s1_dpodsamso.counter import Counter +from ._fpx9s1_dpodsamso.linktraining import Linktraining +from ._fpx9s1_dpodsamso.rosc import Rosc +from ._ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal +from ._ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst +from ._ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai +from ._fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from ._fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from ._fuzvln_lpdmsodpodsa.alias import Alias +from ._fuzvln_lpdmsodpodsa.header import Header +from ._fuzvln_lpdmsodpodsa.status_and_error import Psc +from ._fuzvln_lpdmsodpodsa.verbose import Verbose +from ._fx54ua_lpdmsodpomdodsa.allev import Allev +from ._fx54ua_lpdmsodpomdodsa.busy import Busy +from ._fx54ua_lpdmsodpomdodsa.dese import Dese +from ._fx54ua_lpdmsodpomdodsa.event import Event +from ._fx54ua_lpdmsodpomdodsa.evmsg import Evmsg +from ._fx54ua_lpdmsodpomdodsa.evqty import Evqty +from ._fx54ua_lpdmsodpomdodsa.factory import Factory +from ._fx54ua_lpdmsodpomdodsa.id import Id +from ._fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from ._fx54ua_lpdmsodpomdodsa.newpass import Newpass +from ._fx54ua_lpdmsodpomdodsa.password import Password +from ._fx54ua_lpdmsodpomdodsa.rem import Rem +from ._fx54ua_lpdmsodpomdodsa.set import Set +from ._fx54ua_lpdmsodpomdodsa.status_and_error import Pud +from ._fx54ua_lpdmsodpomdodsa.teksecure import Teksecure +from ._fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from ._fzn174_lpdmsodpomdodsa.lock import Lock +from ._fzn174_lpdmsodpomdodsa.unlock import Unlock from ._helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/_smu2450_commands.py b/src/tm_devices/commands/_smu2450_commands.py index dbd42978..af730be7 100644 --- a/src/tm_devices/commands/_smu2450_commands.py +++ b/src/tm_devices/commands/_smu2450_commands.py @@ -1406,7 +1406,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1430,7 +1432,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1451,7 +1455,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1473,7 +1479,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1497,7 +1505,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1558,7 +1568,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1583,7 +1595,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1608,7 +1622,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2460_commands.py b/src/tm_devices/commands/_smu2460_commands.py index c288668d..5573e69c 100644 --- a/src/tm_devices/commands/_smu2460_commands.py +++ b/src/tm_devices/commands/_smu2460_commands.py @@ -1463,7 +1463,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1487,7 +1489,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1508,7 +1512,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1530,7 +1536,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1554,7 +1562,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1615,7 +1625,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1640,7 +1652,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1665,7 +1679,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2461_commands.py b/src/tm_devices/commands/_smu2461_commands.py index fd92a8d3..002dd7bb 100644 --- a/src/tm_devices/commands/_smu2461_commands.py +++ b/src/tm_devices/commands/_smu2461_commands.py @@ -1471,7 +1471,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1495,7 +1497,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1516,7 +1520,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1538,7 +1544,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1562,7 +1570,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1623,7 +1633,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1648,7 +1660,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1673,7 +1687,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2470_commands.py b/src/tm_devices/commands/_smu2470_commands.py index bbde1f5e..f9e08617 100644 --- a/src/tm_devices/commands/_smu2470_commands.py +++ b/src/tm_devices/commands/_smu2470_commands.py @@ -1407,7 +1407,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -1431,7 +1433,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -1452,7 +1456,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -1474,7 +1480,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -1498,7 +1506,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1559,7 +1569,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1584,7 +1596,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1609,7 +1623,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2601b_commands.py b/src/tm_devices/commands/_smu2601b_commands.py index 86f727fd..e8347660 100644 --- a/src/tm_devices/commands/_smu2601b_commands.py +++ b/src/tm_devices/commands/_smu2601b_commands.py @@ -2093,7 +2093,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2318,7 +2320,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2339,7 +2343,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2363,7 +2369,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2622,7 +2630,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2644,7 +2654,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2668,7 +2680,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2728,7 +2742,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2753,7 +2769,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2806,7 +2824,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2849,7 +2869,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2874,7 +2896,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2602b_commands.py b/src/tm_devices/commands/_smu2602b_commands.py index 1a807823..0d343883 100644 --- a/src/tm_devices/commands/_smu2602b_commands.py +++ b/src/tm_devices/commands/_smu2602b_commands.py @@ -2199,7 +2199,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2424,7 +2426,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2445,7 +2449,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2469,7 +2475,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2728,7 +2736,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2750,7 +2760,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2774,7 +2786,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2834,7 +2848,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2859,7 +2875,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2912,7 +2930,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2955,7 +2975,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2980,7 +3002,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2604b_commands.py b/src/tm_devices/commands/_smu2604b_commands.py index 0554ac10..1a579638 100644 --- a/src/tm_devices/commands/_smu2604b_commands.py +++ b/src/tm_devices/commands/_smu2604b_commands.py @@ -1981,7 +1981,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2206,7 +2208,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2227,7 +2231,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2251,7 +2257,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2510,7 +2518,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2532,7 +2542,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2556,7 +2568,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2616,7 +2630,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2641,7 +2657,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2694,7 +2712,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2737,7 +2757,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2762,7 +2784,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2606b_commands.py b/src/tm_devices/commands/_smu2606b_commands.py index b54036c9..dae7bbe6 100644 --- a/src/tm_devices/commands/_smu2606b_commands.py +++ b/src/tm_devices/commands/_smu2606b_commands.py @@ -2166,7 +2166,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2391,7 +2393,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2412,7 +2416,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2436,7 +2442,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2695,7 +2703,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2717,7 +2727,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2741,7 +2753,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2801,7 +2815,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2826,7 +2842,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2879,7 +2897,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2922,7 +2942,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2947,7 +2969,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2611b_commands.py b/src/tm_devices/commands/_smu2611b_commands.py index 566edec2..e46568ce 100644 --- a/src/tm_devices/commands/_smu2611b_commands.py +++ b/src/tm_devices/commands/_smu2611b_commands.py @@ -2090,7 +2090,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2315,7 +2317,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2336,7 +2340,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2360,7 +2366,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2619,7 +2627,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2641,7 +2651,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2665,7 +2677,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2725,7 +2739,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2750,7 +2766,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2803,7 +2821,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2846,7 +2866,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2871,7 +2893,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2612b_commands.py b/src/tm_devices/commands/_smu2612b_commands.py index ea0c2559..707f597f 100644 --- a/src/tm_devices/commands/_smu2612b_commands.py +++ b/src/tm_devices/commands/_smu2612b_commands.py @@ -2196,7 +2196,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2421,7 +2423,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2442,7 +2446,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2466,7 +2472,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2725,7 +2733,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2747,7 +2757,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2771,7 +2783,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2831,7 +2845,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2856,7 +2872,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2909,7 +2927,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2952,7 +2972,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2977,7 +2999,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2614b_commands.py b/src/tm_devices/commands/_smu2614b_commands.py index 68d63638..f324749c 100644 --- a/src/tm_devices/commands/_smu2614b_commands.py +++ b/src/tm_devices/commands/_smu2614b_commands.py @@ -1978,7 +1978,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2203,7 +2205,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2224,7 +2228,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2248,7 +2254,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2507,7 +2515,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2529,7 +2539,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2553,7 +2565,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2613,7 +2627,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2638,7 +2654,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2691,7 +2709,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2734,7 +2754,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2759,7 +2781,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2634b_commands.py b/src/tm_devices/commands/_smu2634b_commands.py index 86a5c2b0..f6db9a5a 100644 --- a/src/tm_devices/commands/_smu2634b_commands.py +++ b/src/tm_devices/commands/_smu2634b_commands.py @@ -1980,7 +1980,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2205,7 +2207,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2226,7 +2230,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2250,7 +2256,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2509,7 +2517,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2531,7 +2541,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2555,7 +2567,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2615,7 +2629,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2640,7 +2656,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2693,7 +2711,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2736,7 +2756,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2761,7 +2783,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2635b_commands.py b/src/tm_devices/commands/_smu2635b_commands.py index 6c68ae75..408c2684 100644 --- a/src/tm_devices/commands/_smu2635b_commands.py +++ b/src/tm_devices/commands/_smu2635b_commands.py @@ -2092,7 +2092,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2317,7 +2319,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2338,7 +2342,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2362,7 +2368,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2621,7 +2629,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2643,7 +2653,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2667,7 +2679,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2727,7 +2741,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2752,7 +2768,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2805,7 +2823,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2848,7 +2868,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2873,7 +2895,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2636b_commands.py b/src/tm_devices/commands/_smu2636b_commands.py index 946608dd..58ebe667 100644 --- a/src/tm_devices/commands/_smu2636b_commands.py +++ b/src/tm_devices/commands/_smu2636b_commands.py @@ -2198,7 +2198,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2423,7 +2425,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2444,7 +2448,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2468,7 +2474,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2727,7 +2735,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2749,7 +2759,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2773,7 +2785,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2833,7 +2847,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2858,7 +2874,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2911,7 +2929,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2954,7 +2974,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2979,7 +3001,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2651a_commands.py b/src/tm_devices/commands/_smu2651a_commands.py index 9de55724..672955a5 100644 --- a/src/tm_devices/commands/_smu2651a_commands.py +++ b/src/tm_devices/commands/_smu2651a_commands.py @@ -2128,7 +2128,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2152,7 +2154,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2173,7 +2177,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2197,7 +2203,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2348,7 +2356,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2370,7 +2380,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2394,7 +2406,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2454,7 +2468,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2479,7 +2495,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2532,7 +2550,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2575,7 +2595,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2600,7 +2622,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_smu2657a_commands.py b/src/tm_devices/commands/_smu2657a_commands.py index ef0f08f6..9c20749e 100644 --- a/src/tm_devices/commands/_smu2657a_commands.py +++ b/src/tm_devices/commands/_smu2657a_commands.py @@ -2127,7 +2127,9 @@ def query_pulse_config(self, tag: int) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"print(QueryPulseConfig({tag}))") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"print(QueryPulseConfig({tag}))" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``QueryPulseConfig()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -2151,7 +2153,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -2172,7 +2176,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -2196,7 +2202,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2347,7 +2355,9 @@ def meminfo(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(meminfo())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(meminfo())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``meminfo()`` function." raise NoDeviceProvidedError(msg) from error @@ -2369,7 +2379,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -2393,7 +2405,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -2453,7 +2467,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -2478,7 +2494,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -2531,7 +2549,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -2574,7 +2594,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -2599,7 +2621,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/commands/_ss3706a_commands.py b/src/tm_devices/commands/_ss3706a_commands.py index 8a8febee..a8f351d8 100644 --- a/src/tm_devices/commands/_ss3706a_commands.py +++ b/src/tm_devices/commands/_ss3706a_commands.py @@ -791,7 +791,9 @@ def createconfigscript(self, script_name: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f'createconfigscript("{script_name}")') # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f'createconfigscript("{script_name}")' + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``createconfigscript()`` function." # noqa: E501 raise NoDeviceProvidedError(msg) from error @@ -815,7 +817,9 @@ def delay(self, seconds: int) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"delay({seconds})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"delay({seconds})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``delay()`` function." raise NoDeviceProvidedError(msg) from error @@ -836,7 +840,9 @@ def exit(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("exit()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "exit()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``exit()`` function." raise NoDeviceProvidedError(msg) from error @@ -860,7 +866,9 @@ def gettimezone(self) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query("print(gettimezone())") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + "print(gettimezone())" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``gettimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -942,7 +950,9 @@ def opc(self) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write("opc()") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + "opc()" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``opc()`` function." raise NoDeviceProvidedError(msg) from error @@ -966,7 +976,9 @@ def print(self, value: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"print({value})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"print({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``print()`` function." raise NoDeviceProvidedError(msg) from error @@ -1027,7 +1039,9 @@ def printnumber(self, value: str) -> str: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - return self._device.query(f"printnumber({value})") # type: ignore[union-attr] + return self._device.query( # type: ignore[union-attr] + f"printnumber({value})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``printnumber()`` function." raise NoDeviceProvidedError(msg) from error @@ -1052,7 +1066,9 @@ def reset(self, system: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (system,) if x is not None) - self._device.write(f"reset({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"reset({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``reset()`` function." raise NoDeviceProvidedError(msg) from error @@ -1076,7 +1092,9 @@ def settime(self, time: str) -> None: tm_devices.commands.NoDeviceProvidedError: Indicates that no device connection exists. """ try: - self._device.write(f"settime({time})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settime({time})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settime()`` function." raise NoDeviceProvidedError(msg) from error @@ -1119,7 +1137,9 @@ def settimezone( ) if x is not None ) - self._device.write(f"settimezone({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"settimezone({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``settimezone()`` function." raise NoDeviceProvidedError(msg) from error @@ -1144,7 +1164,9 @@ def waitcomplete(self, group: Optional[str] = None) -> None: """ try: function_args = ", ".join(str(x) for x in (group,) if x is not None) - self._device.write(f"waitcomplete({function_args})") # type: ignore[union-attr] + self._device.write( # type: ignore[union-attr] + f"waitcomplete({function_args})" + ) except AttributeError as error: msg = "No TSPDevice object was provided, unable to run the ``waitcomplete()`` function." raise NoDeviceProvidedError(msg) from error diff --git a/src/tm_devices/driver_mixins/licensed_mixin.py b/src/tm_devices/driver_mixins/licensed_mixin.py index 58dc1e0a..b7136e50 100644 --- a/src/tm_devices/driver_mixins/licensed_mixin.py +++ b/src/tm_devices/driver_mixins/licensed_mixin.py @@ -1,14 +1,14 @@ """A mixin class providing common methods and attributes for devices with installable licenses.""" - from abc import ABC, abstractmethod -from functools import cached_property from typing import final, Tuple +from tm_devices.helpers import ReadOnlyCachedProperty + class LicensedMixin(ABC): """A mixin class which adds methods and properties for handling licenses.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def license_list(self) -> Tuple[str, ...]: """Return the list of licenses installed on the device.""" diff --git a/src/tm_devices/driver_mixins/usb_drives_mixin.py b/src/tm_devices/driver_mixins/usb_drives_mixin.py index f743fde3..1b9d18e2 100644 --- a/src/tm_devices/driver_mixins/usb_drives_mixin.py +++ b/src/tm_devices/driver_mixins/usb_drives_mixin.py @@ -1,15 +1,15 @@ """A mixin class providing common methods and attributes for devices with usb ports.""" - from abc import ABC, abstractmethod -from functools import cached_property from typing import Tuple +from tm_devices.helpers import ReadOnlyCachedProperty + # pylint: disable=too-few-public-methods class USBDrivesMixin(ABC): """A mixin class which adds the usb_drives property.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def usb_drives(self) -> Tuple[str, ...]: """Return a list of all connected USB drives.""" diff --git a/src/tm_devices/drivers/api/rest_api/margin_testers/margin_tester.py b/src/tm_devices/drivers/api/rest_api/margin_testers/margin_tester.py index 53d17590..20a8854a 100644 --- a/src/tm_devices/drivers/api/rest_api/margin_testers/margin_tester.py +++ b/src/tm_devices/drivers/api/rest_api/margin_testers/margin_tester.py @@ -3,7 +3,6 @@ import time from abc import ABC, abstractmethod -from functools import cached_property from typing import Any, Dict, Mapping, MutableMapping, Tuple from packaging.version import Version @@ -11,7 +10,7 @@ from tm_devices.drivers.api.rest_api.rest_api_device import RESTAPIDevice from tm_devices.drivers.device import family_base_class -from tm_devices.helpers import DeviceConfigEntry, DeviceTypes +from tm_devices.helpers import DeviceConfigEntry, DeviceTypes, ReadOnlyCachedProperty @family_base_class @@ -37,22 +36,22 @@ def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ################################################################################################ # Abstract Cached Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty @abstractmethod def adapter(self) -> str: """Return the device's connected adapter.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def fpga_version(self) -> Version: """Return the fpga version of the device.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def fw_version(self) -> Version: """Return the firmware version of the device.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def supported_technologies(self) -> Tuple[str, ...]: """Return the device's supported technologies.""" diff --git a/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py b/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py index ef185f55..5b06690f 100644 --- a/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py +++ b/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py @@ -1,14 +1,13 @@ """TMT4 series device driver module.""" import time -from functools import cached_property from types import MappingProxyType from typing import Any, cast, Dict, Optional, Tuple from packaging.version import Version from tm_devices.drivers.api.rest_api.margin_testers.margin_tester import MarginTester -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty class TMT4(MarginTester): @@ -43,12 +42,12 @@ def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ################################################################################################ # Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def adapter(self) -> str: """Return the device's connected adapter.""" return self._about_info["adapter"] - @cached_property + @ReadOnlyCachedProperty def fpga_version(self) -> Version: """Return the fpga version of the device.""" # This key can return strings indicating a reboot is needed instead of Versions. @@ -57,7 +56,7 @@ def fpga_version(self) -> Version: except ValueError: return Version("0") - @cached_property + @ReadOnlyCachedProperty def fw_version(self) -> Version: """Return the firmware version of the device.""" # This key can (also) return strings indicating a reboot is needed instead of Versions. @@ -66,12 +65,12 @@ def fw_version(self) -> Version: except ValueError: return Version("0") - @cached_property + @ReadOnlyCachedProperty def manufacturer(self) -> str: """Return the manufacturer of the device.""" return self._about_info["manufacturer"] - @cached_property + @ReadOnlyCachedProperty def model(self) -> str: """Return the full model of the device.""" return self._about_info["model"] @@ -81,17 +80,17 @@ def port(self) -> Optional[int]: """Return the configured device port, defaults to 5000.""" return super().port or 5000 - @cached_property + @ReadOnlyCachedProperty def serial(self) -> str: """Return the serial number of the device.""" return self._about_info["serialNumber"] - @cached_property + @ReadOnlyCachedProperty def supported_technologies(self) -> Tuple[str, ...]: """Return the device's supported technologies.""" return tuple(self._about_info["supportedTechnologies"].split(",")) - @cached_property + @ReadOnlyCachedProperty def sw_version(self) -> Version: """Return the software version of the device.""" return Version(self._about_info["sw_version"]) diff --git a/src/tm_devices/drivers/device.py b/src/tm_devices/drivers/device.py index c66e1b56..190182ca 100644 --- a/src/tm_devices/drivers/device.py +++ b/src/tm_devices/drivers/device.py @@ -25,6 +25,7 @@ DeviceConfigEntry, get_timestamp_string, print_with_timestamp, + ReadOnlyCachedProperty, ) _T = TypeVar("_T") @@ -99,22 +100,22 @@ def __str__(self) -> str: ################################################################################################ # Abstract Cached Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty @abstractmethod def manufacturer(self) -> str: """Return the manufacturer of the device.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def model(self) -> str: """Return the full model of the device.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def serial(self) -> str: """Return the serial number of the device.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def sw_version(self) -> Version: """Return the software version of the device.""" @@ -266,7 +267,7 @@ def port(self) -> Optional[int]: """Return the device port, or None if the device doesn't have a port.""" return self._config_entry.lan_port - @cached_property + @ReadOnlyCachedProperty def series(self) -> str: """Return the series of the device. @@ -283,7 +284,7 @@ def verbose(self) -> bool: ################################################################################################ # Cached Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def hostname(self) -> str: """Return the hostname of the device or an empty string if unable to fetch that.""" if self._config_entry.connection_type not in {ConnectionTypes.USB}: @@ -294,7 +295,7 @@ def hostname(self) -> str: pass return "" - @cached_property + @ReadOnlyCachedProperty def ip_address(self) -> str: """Return the IPv4 address of the device or an empty string if unable to fetch that.""" if self._config_entry.connection_type not in {ConnectionTypes.USB}: diff --git a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py index 91e38656..e3496d08 100644 --- a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py +++ b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py @@ -1,5 +1,4 @@ """DAQ6510 device driver module.""" -from functools import cached_property from typing import Tuple import pyvisa as visa @@ -9,7 +8,7 @@ from tm_devices.drivers.pi.data_acquisition_systems.data_acquisition_system import ( DataAcquisitionSystem, ) -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty class DAQ6510(DAQ6510Mixin, DataAcquisitionSystem): @@ -48,7 +47,7 @@ def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" return self._ieee_cmds # type: ignore - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 1 diff --git a/src/tm_devices/drivers/pi/pi_device.py b/src/tm_devices/drivers/pi/pi_device.py index 5d844662..1774d886 100644 --- a/src/tm_devices/drivers/pi/pi_device.py +++ b/src/tm_devices/drivers/pi/pi_device.py @@ -7,7 +7,6 @@ from abc import ABC, abstractmethod from contextlib import contextmanager -from functools import cached_property from typing import final, Generator, Optional, Sequence, Tuple, Union import pyvisa as visa @@ -26,6 +25,7 @@ get_visa_backend, print_with_timestamp, PYVISA_PY_BACKEND, + ReadOnlyCachedProperty, ) from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT @@ -81,7 +81,7 @@ def __init__( def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" - @cached_property + @ReadOnlyCachedProperty @abstractmethod def total_channels(self) -> int: """Return the total number of channels (all types).""" @@ -185,7 +185,7 @@ def visa_resource(self) -> visa.resources.MessageBasedResource: ################################################################################################ # Cached Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def sw_version(self) -> Version: """Return the software version of the device.""" id_string_parts = self.idn_string.split(",") @@ -202,27 +202,27 @@ def sw_version(self) -> Version: retval = get_version(sw_version) return retval - @cached_property + @ReadOnlyCachedProperty def idn_string(self) -> str: r"""Return the string returned from the ``*IDN?`` query when the device was created.""" return self.ieee_cmds.idn() - @cached_property + @ReadOnlyCachedProperty def manufacturer(self) -> str: """Return the manufacturer of the device.""" return self.idn_string.split(",")[0].strip() - @cached_property + @ReadOnlyCachedProperty def model(self) -> str: """Return the full model of the device.""" return self.idn_string.split(",")[1].strip() - @cached_property + @ReadOnlyCachedProperty def serial(self) -> str: """Return the serial number of the device.""" return self.idn_string.split(",")[2].strip() - @cached_property + @ReadOnlyCachedProperty def series(self) -> str: """Return the series of the device. @@ -231,7 +231,7 @@ def series(self) -> str: """ return get_model_series(self.model) - @cached_property + @ReadOnlyCachedProperty def visa_backend(self) -> str: """Return the VISA backend in use.""" return get_visa_backend(self._visa_resource.visalib.library_path.path) diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2200.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2200.py index 4c60dd19..ecdf8348 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2200.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2200.py @@ -1,12 +1,11 @@ """2200 Base device driver for the 22xx family of power supplies.""" -from functools import cached_property from typing import Tuple from packaging.version import Version from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.power_supplies.power_supply import PowerSupplyUnit -from tm_devices.helpers import get_version +from tm_devices.helpers import get_version, ReadOnlyCachedProperty @family_base_class @@ -25,7 +24,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" return tuple(f"SOURCE{x+1}" for x in range(self.total_channels)) - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return max(1, int(self.model[2])) if self.model[2].isdecimal() else 1 @@ -33,7 +32,7 @@ def total_channels(self) -> int: ################################################################################################ # Public Methods ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def fpga_version(self) -> Version: """Return the fpga version of the device.""" id_string_parts = self.idn_string.split(",") diff --git a/src/tm_devices/drivers/pi/scopes/scope.py b/src/tm_devices/drivers/pi/scopes/scope.py index 8ce00eef..6236bc17 100644 --- a/src/tm_devices/drivers/pi/scopes/scope.py +++ b/src/tm_devices/drivers/pi/scopes/scope.py @@ -2,11 +2,10 @@ import inspect from abc import ABC -from functools import cached_property from typing import Any, List, Optional, Tuple, Union from tm_devices.drivers.pi.pi_device import PIDevice -from tm_devices.helpers import DeviceTypes +from tm_devices.helpers import DeviceTypes, ReadOnlyCachedProperty class Scope(PIDevice, ABC): @@ -37,7 +36,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" return tuple(f"CH{x+1}" for x in range(self.total_channels)) - @cached_property + @ReadOnlyCachedProperty def opt_string(self) -> str: r"""Return the string returned from the ``*OPT?`` query when the device was created.""" return self.ieee_cmds.opt() diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py index a0a583d5..1f9aa6e4 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py @@ -1,12 +1,11 @@ """MSO2 device driver module.""" -from functools import cached_property from typing import Tuple import pyvisa as visa from tm_devices.commands import MSO2Mixin from tm_devices.drivers.pi.scopes.tekscope.tekscope import TekScope -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty class MSO2(MSO2Mixin, TekScope): @@ -50,7 +49,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: retval = (*retval[:-1], "DCH1") return retval - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" retval = super().total_channels diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py index 03af9b22..4a79ed10 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py @@ -4,7 +4,6 @@ from abc import ABC from dataclasses import dataclass -from functools import cached_property from types import MappingProxyType from typing import Any, cast, Dict, List, Literal, Optional, Tuple, Type, Union @@ -38,7 +37,7 @@ from tm_devices.driver_mixins.usb_drives_mixin import USBDrivesMixin from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.scopes.scope import Scope -from tm_devices.helpers import DeviceConfigEntry, SignalSourceFunctionsIAFG +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty, SignalSourceFunctionsIAFG from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT @@ -121,7 +120,7 @@ def __init__( ################################################################################################ # Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def channel(self) -> "MappingProxyType[str, TekScopeChannel]": """Mapping of channel names to any detectable properties, attributes, and settings.""" # TODO: overwrite in MSO2 driver, would remove need for try-except @@ -186,12 +185,12 @@ def commands( """Return the device commands.""" return self._commands # pragma: no cover - @cached_property + @ReadOnlyCachedProperty def hostname(self) -> str: """Return the hostname of the device or an empty string if unable to fetch that.""" return self.query(":ETHERNET:NAME?", verbose=False, remove_quotes=True) - @cached_property + @ReadOnlyCachedProperty def license_list(self) -> Tuple[str, ...]: """Return the list of license AppIDs installed on the scope.""" license_list = self.query( @@ -210,7 +209,7 @@ def source_device_constants(self) -> TekScopeSourceDeviceConstants: """Return the device constants.""" return self._DEVICE_CONSTANTS - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" try: @@ -218,7 +217,7 @@ def total_channels(self) -> int: except ValueError: return 0 - @cached_property + @ReadOnlyCachedProperty def usb_drives(self) -> Tuple[str, ...]: """Return a list of all connected USB drives.""" # Find all USB drives connected to the device diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py index cf83929c..3d87ba5b 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py @@ -1,11 +1,10 @@ """TEKSCOPESW device driver module.""" -from functools import cached_property from typing import Any import pyvisa as visa from tm_devices.drivers.pi.scopes.tekscope.tekscope import TekScope -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty class TekScopeSW(TekScope): @@ -48,7 +47,7 @@ def commands(self) -> Any: """Return the device commands.""" return self._commands - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 0 diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py index 55d3443d..48014554 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py @@ -1,11 +1,9 @@ """MDO3 device driver module.""" -from functools import cached_property - import pyvisa as visa from tm_devices.commands import MDO3Mixin from tm_devices.drivers.pi.scopes.tekscope_3k_4k.tekscope_3k_4k import TekScope3k4k -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty class MDO3(MDO3Mixin, TekScope3k4k): @@ -32,7 +30,7 @@ def __init__( ################################################################################################ # Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return int(self.model[-1]) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/tekscope_3k_4k.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/tekscope_3k_4k.py index 85f6773e..56748e0b 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/tekscope_3k_4k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/tekscope_3k_4k.py @@ -1,9 +1,9 @@ """Base TekScope3k4k scope device driver module.""" from abc import ABC -from functools import cached_property from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.scopes.scope import Scope +from tm_devices.helpers import ReadOnlyCachedProperty @family_base_class @@ -18,12 +18,12 @@ class TekScope3k4k(Scope, ABC): # Properties ################################################################################################ - @cached_property + @ReadOnlyCachedProperty def hostname(self) -> str: """Return the hostname of the device or an empty string if unable to fetch that.""" return self.query(":ETHERNET:NAME?", verbose=False, remove_quotes=True) - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return int(self.model[6]) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py index 86b00b97..b88c4ff3 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py @@ -1,8 +1,9 @@ """DPO5K device driver module.""" +from tm_devices.commands import DPO5KMixin from tm_devices.drivers.pi.scopes.tekscope_5k_7k_70k.tekscope_5k_7k_70k import TekScope5k7k70k -class DPO5K(TekScope5k7k70k): +class DPO5K(DPO5KMixin, TekScope5k7k70k): """DPO5K device driver.""" ################################################################################################ diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py index 555bf1b8..ebfe91bd 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py @@ -1,8 +1,9 @@ """DPO7K device driver module.""" +from tm_devices.commands import DPO7KMixin from tm_devices.drivers.pi.scopes.tekscope_5k_7k_70k.tekscope_5k_7k_70k import TekScope5k7k70k -class DPO7K(TekScope5k7k70k): +class DPO7K(DPO7KMixin, TekScope5k7k70k): """DPO7K device driver.""" ################################################################################################ diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py index c671d776..0f52a6b8 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py @@ -1,8 +1,9 @@ """MSO5K device driver module.""" +from tm_devices.commands import MSO5KMixin from tm_devices.drivers.pi.scopes.tekscope_5k_7k_70k.tekscope_5k_7k_70k import TekScope5k7k70k -class MSO5K(TekScope5k7k70k): +class MSO5K(MSO5KMixin, TekScope5k7k70k): """MSO5K device driver.""" ################################################################################################ diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py index 28d7e029..4d222545 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py @@ -1,12 +1,11 @@ """Base TekScope5k7k70k scope device driver module.""" from abc import ABC -from functools import cached_property import pyvisa as visa from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.scopes.scope import Scope -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty @family_base_class @@ -50,7 +49,7 @@ def num_dig_bits_in_ch(self) -> int: # TODO: should be part of self.channel return self._num_dig_bits_in_ch - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return self._total_channels diff --git a/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py b/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py index 6724d556..4a62029b 100644 --- a/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py +++ b/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py @@ -3,13 +3,12 @@ from abc import ABC from dataclasses import dataclass -from functools import cached_property from typing import Literal, Type from tm_devices.driver_mixins.signal_generator_mixin import SourceDeviceConstants from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.signal_sources.signal_source import SignalSource -from tm_devices.helpers import DeviceTypes, SignalSourceFunctionsAFG +from tm_devices.helpers import DeviceTypes, ReadOnlyCachedProperty, SignalSourceFunctionsAFG @dataclass(frozen=True) @@ -33,7 +32,7 @@ def source_device_constants(self) -> AFGSourceDeviceConstants: """Return the device constants.""" return self._DEVICE_CONSTANTS # type: ignore - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" if match := re.match(r"AFG\d+(\d)", self.model): @@ -80,6 +79,7 @@ def generate_waveform( # noqa: C901, PLR0913 # pyright: ignore[reportIncompati # Generate the waveform on the given channel for channel_name in self._validate_channels(channel): # grab the number(s) in the channel name + # noinspection PyTypeChecker channel_num = "".join(filter(str.isdigit, channel_name)) # Temporarily turn off this channel self.set_and_check(f"OUTPUT{channel_num}:STATE", 0) @@ -125,7 +125,7 @@ def generate_waveform( # noqa: C901, PLR0913 # pyright: ignore[reportIncompati self.write("*TRG") # Initiate a phase sync (between CH 1 and CH 2 output waveforms on two channel AFGs) elif ( - self.total_channels > 1 + self.total_channels > 1 # pylint: disable=comparison-with-callable and function != SignalSourceFunctionsAFG.DC and not burst_state ): diff --git a/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py b/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py index 58e62164..4577842f 100644 --- a/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py +++ b/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py @@ -5,13 +5,12 @@ from abc import ABC from dataclasses import dataclass -from functools import cached_property from typing import Literal, Type from tm_devices.driver_mixins.signal_generator_mixin import SourceDeviceConstants from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.signal_sources.signal_source import SignalSource -from tm_devices.helpers import DeviceTypes, SignalSourceFunctionsAWG +from tm_devices.helpers import DeviceTypes, ReadOnlyCachedProperty, SignalSourceFunctionsAWG @dataclass(frozen=True) @@ -39,7 +38,7 @@ def source_device_constants(self) -> AWGSourceDeviceConstants: """Return the device constants.""" return self._DEVICE_CONSTANTS # type: ignore - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return int(self.query("AWGControl:CONFigure:CNUMber?", verbose=False)) diff --git a/src/tm_devices/drivers/pi/signal_sources/signal_source.py b/src/tm_devices/drivers/pi/signal_sources/signal_source.py index 7306bd91..4bda52ee 100644 --- a/src/tm_devices/drivers/pi/signal_sources/signal_source.py +++ b/src/tm_devices/drivers/pi/signal_sources/signal_source.py @@ -3,12 +3,11 @@ Sources include PI devices such as AFGs and AWGs. """ from abc import ABC, abstractmethod -from functools import cached_property from typing import Tuple, Union from tm_devices.driver_mixins.signal_generator_mixin import SignalGeneratorMixin from tm_devices.drivers.pi.pi_device import PIDevice -from tm_devices.helpers import print_with_timestamp +from tm_devices.helpers import print_with_timestamp, ReadOnlyCachedProperty class SignalSource(PIDevice, SignalGeneratorMixin, ABC): @@ -22,7 +21,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" return tuple(f"SOURCE{x+1}" for x in range(self.total_channels)) - @cached_property + @ReadOnlyCachedProperty def opt_string(self) -> str: r"""Return the string returned from the ``*OPT?`` query when the device was created.""" return self.ieee_cmds.opt() diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py index 9ee6c913..add8212a 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py @@ -1,7 +1,5 @@ """SMU2400Interactive device driver module.""" - from abc import ABC -from functools import cached_property from typing import Tuple, Union from tm_devices.commands import ( @@ -13,6 +11,7 @@ from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi._ieee488_2_commands import LegacyTSPIEEE4882Commands from tm_devices.drivers.pi.source_measure_units.source_measure_unit import SourceMeasureUnit +from tm_devices.helpers import ReadOnlyCachedProperty @family_base_class @@ -45,7 +44,7 @@ def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" return self._ieee_cmds # type: ignore - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 1 diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py index 5eadb1d2..24f2f1a8 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py @@ -2,7 +2,6 @@ from __future__ import annotations from abc import ABC -from functools import cached_property from typing import Optional, Tuple, TYPE_CHECKING, Union from tm_devices.drivers.device import family_base_class @@ -10,6 +9,7 @@ from tm_devices.drivers.pi.pi_device import PIDevice from tm_devices.drivers.pi.signal_sources.signal_source import SignalSource from tm_devices.drivers.pi.source_measure_units.source_measure_unit import SourceMeasureUnit +from tm_devices.helpers import ReadOnlyCachedProperty if TYPE_CHECKING: import os @@ -38,7 +38,7 @@ def ieee_cmds(self) -> IEEE4882Commands: # pyright: ignore [reportIncompatibleM """Return an internal class containing methods for the standard IEEE 488.2 command set.""" return self._ieee_cmds - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 1 diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu2600/smu2600.py b/src/tm_devices/drivers/pi/source_measure_units/smu2600/smu2600.py index de012b8a..191faffa 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu2600/smu2600.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu2600/smu2600.py @@ -2,7 +2,6 @@ import string from abc import ABC -from functools import cached_property from typing import Tuple, Union from tm_devices.commands import ( @@ -22,6 +21,7 @@ ) from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.source_measure_units.source_measure_unit import SourceMeasureUnit +from tm_devices.helpers import ReadOnlyCachedProperty @family_base_class @@ -38,9 +38,9 @@ class SMU2600(SourceMeasureUnit, ABC): @property def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" - return tuple(string.ascii_lowercase[: self.total_channels]) + return tuple(string.ascii_lowercase[: self.total_channels]) # pylint: disable=invalid-slice-index - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" # Grab the total channel count based on whether the last digit in the model is even/odd diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py b/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py index 24477eb9..4b589f41 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py @@ -4,7 +4,6 @@ import inspect from abc import ABC -from functools import cached_property from typing import Optional, Tuple, TYPE_CHECKING, Union from tm_devices.drivers.device import family_base_class @@ -12,6 +11,7 @@ from tm_devices.drivers.pi.pi_device import PIDevice from tm_devices.drivers.pi.signal_sources.signal_source import SignalSource from tm_devices.drivers.pi.source_measure_units.source_measure_unit import SourceMeasureUnit +from tm_devices.helpers import ReadOnlyCachedProperty if TYPE_CHECKING: import os @@ -40,7 +40,7 @@ def ieee_cmds(self) -> IEEE4882Commands: # pyright: ignore [reportIncompatibleM """Return an internal class containing methods for the standard IEEE 488.2 command set.""" return self._ieee_cmds - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 1 diff --git a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py index 5b4f7329..6d6ed739 100644 --- a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py +++ b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py @@ -1,7 +1,6 @@ """SS3706A device driver module.""" import inspect -from functools import cached_property from typing import Tuple import pyvisa as visa @@ -9,7 +8,7 @@ from tm_devices.commands import SS3706AMixin from tm_devices.drivers.device import family_base_class from tm_devices.drivers.pi.systems_switches.systems_switch import SystemsSwitch -from tm_devices.helpers import DeviceConfigEntry +from tm_devices.helpers import DeviceConfigEntry, ReadOnlyCachedProperty @family_base_class @@ -42,7 +41,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: """Return a tuple containing all the channel names.""" return tuple(f"{x+1}" for x in range(self.total_channels)) - @cached_property + @ReadOnlyCachedProperty def total_channels(self) -> int: """Return the total number of channels (all types).""" return 576 diff --git a/src/tm_devices/helpers/__init__.py b/src/tm_devices/helpers/__init__.py index 38c0f229..ad59ca6f 100644 --- a/src/tm_devices/helpers/__init__.py +++ b/src/tm_devices/helpers/__init__.py @@ -38,6 +38,7 @@ print_with_timestamp, sanitize_enum, ) +from tm_devices.helpers.read_only_cached_property import ReadOnlyCachedProperty from tm_devices.helpers.singleton_metaclass import Singleton from tm_devices.helpers.standalone_functions import validate_address @@ -73,6 +74,7 @@ "VALID_DEVICE_CONNECTION_TYPES", "validate_address", "VISA_RESOURCE_EXPRESSION_REGEX", + "ReadOnlyCachedProperty", "SignalSourceFunctionBase", "SignalSourceFunctionsAWG", "SignalSourceFunctionsAFG", diff --git a/src/tm_devices/helpers/alias_dict.py b/src/tm_devices/helpers/alias_dict.py index a69c23e3..c3edfd83 100644 --- a/src/tm_devices/helpers/alias_dict.py +++ b/src/tm_devices/helpers/alias_dict.py @@ -3,10 +3,12 @@ from typing import Any, Dict, MutableMapping, Type +# TODO: Once Python 3.8 is no longer supported, the dynamic parent class can be removed # pylint: disable=unsubscriptable-object,useless-suppression ParentDictClass: Type[Dict[Any, Any]] = dict if sys.version_info < (3, 9) else dict[Any, Any] +# TODO: Once Python 3.8 is no longer supported, replace the parent class with `dict[Any, Any]` class AliasDict(ParentDictClass): """A custom dictionary class that supports aliases as secondary keys. diff --git a/src/tm_devices/helpers/read_only_cached_property.py b/src/tm_devices/helpers/read_only_cached_property.py new file mode 100644 index 00000000..3541c5a4 --- /dev/null +++ b/src/tm_devices/helpers/read_only_cached_property.py @@ -0,0 +1,68 @@ +"""A read-only version of functools.cached_property.""" +import contextlib + +from functools import cached_property +from typing import TypeVar + +_T = TypeVar("_T") + +# TODO: Remove the pragmas and exception block when support for Python 3.8 is dropped +try: # pragma: py-lt-39 + # pylint: disable=unsubscriptable-object,useless-suppression + class ReadOnlyCachedProperty(cached_property[_T]): # pyright: ignore[reportGeneralTypeIssues] + """An implementation of cached_property that is read-only. + + Examples: + >>> from tm_devices.helpers import ReadOnlyCachedProperty + >>> class ClassWithReadOnlyCachedProperty: + ... @ReadOnlyCachedProperty + ... def c(self) -> str: + ... return "cached value" + """ + + def __set__(self, instance: object, value: _T) -> None: + """Raise an AttributeError when trying to set the property since it is read-only. + + Raises: + AttributeError: Indicates that the property is read-only. + """ + msg = f"{self.attrname} is a read-only attribute" + raise AttributeError(msg) + + def __delete__(self, instance: object) -> None: + """Implement the __delete__ method to enable resetting the cache.""" + cache = instance.__dict__ + # Delete the attribute from the cache, ignoring KeyErrors since that just means the + # attribute already doesn't exist and therefore doesn't need to be deleted. + with contextlib.suppress(KeyError): + del cache[self.attrname] # pyright: ignore[reportGeneralTypeIssues] + +except TypeError: # pragma: py-gte-39 + # pylint: disable=unsubscriptable-object,useless-suppression + class ReadOnlyCachedProperty(cached_property): # pyright: ignore[reportMissingTypeArgument] + """An implementation of cached_property that is read-only. + + Examples: + >>> from tm_devices.helpers import ReadOnlyCachedProperty + >>> class ClassWithReadOnlyCachedProperty: + ... @ReadOnlyCachedProperty + ... def c(self) -> str: + ... return "cached value" + """ + + def __set__(self, instance: object, value: _T) -> None: # pyright: ignore[reportInvalidTypeVarUse] + """Raise an AttributeError when trying to set the property since it is read-only. + + Raises: + AttributeError: Indicates that the property is read-only. + """ + msg = f"{self.attrname} is a read-only attribute" + raise AttributeError(msg) + + def __delete__(self, instance: object) -> None: + """Implement the __delete__ method to enable resetting the cache.""" + cache = instance.__dict__ + # Delete the attribute from the cache, ignoring KeyErrors since that just means the + # attribute already doesn't exist and therefore doesn't need to be deleted. + with contextlib.suppress(KeyError): + del cache[self.attrname] # pyright: ignore[reportGeneralTypeIssues] diff --git a/tests/requirements.txt b/tests/requirements.txt index 53039fa9..9051b18d 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,3 +1,4 @@ +coverage-conditional-plugin coverage[toml]>=7.2.2 http_server_mock pytest-cov diff --git a/tests/test_afgs.py b/tests/test_afgs.py index 8cf16466..a48c1468 100644 --- a/tests/test_afgs.py +++ b/tests/test_afgs.py @@ -127,16 +127,10 @@ def test_afg31k(device_manager: DeviceManager, capsys: pytest.CaptureFixture[str # Check hostname assert afg31k.hostname == "AFG31K-HOSTNAME" - # Change hostname to test the reset of cached properties - afg31k.hostname = "temp-hostname" - assert afg31k.hostname == "temp-hostname" # simulate a reboot afg31k.reboot() - # Test that the cached property was reset - assert afg31k.hostname == "AFG31K-HOSTNAME" - stdout = capsys.readouterr().out assert "SYSTem:RESTart" in stdout diff --git a/tests/test_helpers.py b/tests/test_helpers.py index fb725dec..921fff1e 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -1,13 +1,14 @@ # pyright: reportPrivateUsage=none """Tests for the helpers subpackage.""" import datetime +import random import socket from collections import OrderedDict from contextlib import redirect_stdout from io import StringIO from subprocess import CalledProcessError, SubprocessError -from typing import Any, Dict, Optional, Tuple +from typing import Any, ClassVar, Dict, List, Optional, Tuple from unittest import mock import pytest @@ -32,6 +33,7 @@ get_visa_backend, ping_address, print_with_timestamp, + ReadOnlyCachedProperty, sanitize_enum, SupportedModels, VALID_DEVICE_CONNECTION_TYPES, @@ -456,3 +458,35 @@ def test_get_version_error() -> None: get_version("1a.2.3.abc") with pytest.raises(InvalidVersion): get_version("invalid-version") + + +def test_read_only_cached_property() -> None: + """Verify the implementation of the read-only cached_property decorator.""" + + # pylint: disable=missing-class-docstring,missing-function-docstring,too-few-public-methods + class ClassWithReadOnlyCachedProperty: + counter = 0 + previous_values: ClassVar[List[int]] = [] + + @ReadOnlyCachedProperty + def c(self) -> int: + self.counter += 1 + while True: + if (val := random.randint(1, 1_000_000)) not in self.previous_values: # noqa: S311 + self.previous_values.append(val) + return val + + instance = ClassWithReadOnlyCachedProperty() + val_1 = instance.c + assert instance.counter == 1 + val_2 = instance.c + assert instance.counter == 1 + assert val_1 == val_2 + + with pytest.raises(AttributeError): + instance.c = -1234 + assert instance.c == val_1 + assert instance.counter == 1 + del instance.c + assert instance.c != val_1 + assert instance.counter == 2 diff --git a/tests/test_rest_api_device.py b/tests/test_rest_api_device.py index 5fa1c433..04b1a787 100644 --- a/tests/test_rest_api_device.py +++ b/tests/test_rest_api_device.py @@ -1,6 +1,5 @@ # pyright: reportPrivateUsage=none """Unit tests for rest_api_device.py.""" -from functools import cached_property from types import MappingProxyType from unittest import mock @@ -12,6 +11,7 @@ from mock_server import INDEX_RESPONSE, PORT from tm_devices.drivers.api.rest_api.rest_api_device import RESTAPIDevice, SupportedRequestTypes from tm_devices.drivers.device import family_base_class +from tm_devices.helpers import ReadOnlyCachedProperty from tm_devices.helpers.constants_and_dataclasses import DeviceConfigEntry from tm_devices.helpers.enums import ConnectionTypes, DeviceTypes @@ -47,22 +47,22 @@ def _open(self) -> bool: def _reboot(self) -> None: """Perform the actual rebooting code.""" - @cached_property + @ReadOnlyCachedProperty def manufacturer(self) -> str: """Return the manufacturer of the device.""" return "foo" - @cached_property + @ReadOnlyCachedProperty def model(self) -> str: """Return the full model of the device.""" return "bar" - @cached_property + @ReadOnlyCachedProperty def serial(self) -> str: """Return the serial number of the device.""" return "123" - @cached_property + @ReadOnlyCachedProperty def sw_version(self) -> Version: """Return the software version of the device.""" return Version("0") From 2c74276dda4ed0a05fa16d5eb9c0797a70366425 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Fri, 12 Jan 2024 13:35:39 -0800 Subject: [PATCH 41/50] build: Update version of ruff for pre-commit. Remove unused noqa comment. (#126) --- .pre-commit-config.yaml | 2 +- src/tm_devices/device_manager.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bda136ad..e171e360 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -123,7 +123,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.11 + rev: v0.1.12 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/src/tm_devices/device_manager.py b/src/tm_devices/device_manager.py index 11682d5d..89f70f43 100644 --- a/src/tm_devices/device_manager.py +++ b/src/tm_devices/device_manager.py @@ -1075,7 +1075,7 @@ def load_config_file(self, config_file_path: Union[str, os.PathLike[str]]) -> No if device_name not in self.__devices: self.__create_device(device_name, device_config) - def open(self) -> bool: # noqa: A003 + def open(self) -> bool: """Reopen all devices if the DeviceManager has been previously closed. Returns: From 093f7a905182088302f8682df8cc8cc918447999 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Thu, 18 Jan 2024 09:07:28 -0800 Subject: [PATCH 42/50] Update doc workflow runners (#128) * build: Update version of ruff for pre-commit. * ci: Update the runner label for the doc testing workflow to the main GitHub runner label. --- .github/workflows/test-docs.yml | 2 +- .pre-commit-config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 1a68a232..a8a8337c 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -13,7 +13,7 @@ concurrency: jobs: # Test building the docs (html, linkcheck, doctest, coverage) test-docs: - runs-on: ubuntu-latest-4-cores + runs-on: ubuntu-latest strategy: fail-fast: false matrix: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e171e360..44a557b9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -123,7 +123,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.12 + rev: v0.1.13 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 2bcb04aa9d9aed1952b8cf77bab3bb1b4263b16c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 23:26:58 +0000 Subject: [PATCH 43/50] gh-actions(deps): Bump the gh-actions-dependencies group with 1 update (#130) * gh-actions(deps): Bump the gh-actions-dependencies group with 1 update Bumps the gh-actions-dependencies group with 1 update: [actions/dependency-review-action](https://github.com/actions/dependency-review-action). Updates `actions/dependency-review-action` from 3 to 4 - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](https://github.com/actions/dependency-review-action/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/dependency-review-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] * style: Update pyright linting control comments to use the newly added error codes. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Felt --- .github/workflows/dependency-review.yml | 2 +- .pre-commit-config.yaml | 2 +- examples/miscellaneous/custom_device_driver_support.py | 4 ++-- examples/miscellaneous/disable_command_verification.py | 4 ++-- examples/scopes/tekscope/basic_save_recall.py | 2 +- examples/scopes/tekscope/generate_internal_afg_signal.py | 2 +- examples/scopes/tekscope/get_acquisition_data.py | 2 +- .../tekscope_70k/dpojet/adding_dpojet_measurements.py | 2 +- .../2400/smu_2400_load_script_and_run.py | 2 +- .../source_measure_units/2400/smu_2450_leakage_current.py | 2 +- .../2400/smu_2450_linear_sweep_current.py | 2 +- .../2400/smu_2450_measuring_lowr_devices.py | 2 +- .../2400/smu_2450_rechargeable_battery.py | 2 +- examples/source_measure_units/2400/smu_2450_solar_cell.py | 2 +- examples/source_measure_units/2400/smu_2460_pulse_train.py | 2 +- .../source_measure_units/2400/smu_2460_solar_panel_sweep.py | 2 +- examples/source_measure_units/2400/smu_2461_1kw_pulsing.py | 2 +- .../2400/smu_2461_pulse_sweep_trigger_out.py | 2 +- .../2400/smu_2470_insulation_resistance.py | 2 +- .../source_measure_units/2400/smu_2470_mosfet_leakage.py | 2 +- .../source_measure_units/2600/reading_dynamic_buffers.py | 2 +- .../source_measure_units/2600/smu_2600_ac_waveform_sweep.py | 2 +- examples/source_measure_units/2600/smu_2600_bjt_slow.py | 2 +- .../source_measure_units/2600/smu_2600_diode_test_fast.py | 2 +- .../source_measure_units/2600/smu_2651_fast_adc_usage.py | 2 +- examples/source_measure_units/2600/smu_2657_dioderl_swp.py | 2 +- .../2600/smu_2657a_capacitor_leakage.py | 2 +- .../source_measure_units/2600/smu_2657a_mosfet_bvdss.py | 4 ++-- examples/source_measure_units/2600/smu_2657a_mosfet_idss.py | 4 ++-- src/tm_devices/helpers/read_only_cached_property.py | 6 +++--- 30 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 4f8ec0b7..dab66770 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/dependency-review-action@v3 + - uses: actions/dependency-review-action@v4 with: fail-on-severity: low comment-summary-in-pr: on-failure diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 44a557b9..07c56f1d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -123,7 +123,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.13 + rev: v0.1.14 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/examples/miscellaneous/custom_device_driver_support.py b/examples/miscellaneous/custom_device_driver_support.py index 7ac9ad55..77c761fe 100644 --- a/examples/miscellaneous/custom_device_driver_support.py +++ b/examples/miscellaneous/custom_device_driver_support.py @@ -23,9 +23,9 @@ def custom_method(self, value: str) -> None: with DeviceManager(external_device_drivers=CUSTOM_DEVICE_DRIVERS) as device_manager: # Add a scope that is currently supported by the package - mso5: MSO5 = device_manager.add_scope("192.168.0.1") # pyright: ignore[reportGeneralTypeIssues] + mso5: MSO5 = device_manager.add_scope("192.168.0.1") # pyright: ignore[reportAssignmentType] # Add the custom scope - custom_scope: CustomScope = device_manager.add_scope("192.168.0.2") # pyright: ignore[reportGeneralTypeIssues] + custom_scope: CustomScope = device_manager.add_scope("192.168.0.2") # pyright: ignore[reportAssignmentType] # Custom drivers inherit all methods custom_scope.expect_esr(0) # check for no errors diff --git a/examples/miscellaneous/disable_command_verification.py b/examples/miscellaneous/disable_command_verification.py index c4e5e2fa..9151eae5 100644 --- a/examples/miscellaneous/disable_command_verification.py +++ b/examples/miscellaneous/disable_command_verification.py @@ -4,8 +4,8 @@ with DeviceManager(verbose=True) as dm: # Add some devices - scope: MSO5 = dm.add_scope("192.168.0.1") # pyright: ignore[reportGeneralTypeIssues] - smu: SMU2601B = dm.add_smu("192.168.0.2") # pyright: ignore[reportGeneralTypeIssues] + scope: MSO5 = dm.add_scope("192.168.0.1") # pyright: ignore[reportAssignmentType] + smu: SMU2601B = dm.add_smu("192.168.0.2") # pyright: ignore[reportAssignmentType] # # Set some values and use verification to verify they were set properly. diff --git a/examples/scopes/tekscope/basic_save_recall.py b/examples/scopes/tekscope/basic_save_recall.py index ed41aca3..d2bef45b 100644 --- a/examples/scopes/tekscope/basic_save_recall.py +++ b/examples/scopes/tekscope/basic_save_recall.py @@ -4,7 +4,7 @@ with DeviceManager(verbose=True) as dm: # Get a scope - scope: MSO6B = dm.add_scope("192.168.1.177") # pyright: ignore[reportGeneralTypeIssues] + scope: MSO6B = dm.add_scope("192.168.1.177") # pyright: ignore[reportAssignmentType] # Send some commands scope.add_new_math("MATH1", "CH1") # add MATH1 to CH1 diff --git a/examples/scopes/tekscope/generate_internal_afg_signal.py b/examples/scopes/tekscope/generate_internal_afg_signal.py index 0716baff..f9658fd1 100644 --- a/examples/scopes/tekscope/generate_internal_afg_signal.py +++ b/examples/scopes/tekscope/generate_internal_afg_signal.py @@ -4,7 +4,7 @@ with DeviceManager(verbose=True) as dm: # Create a connection to the scope and indicate that it is a MSO5 scope for type hinting - scope: MSO5 = dm.add_scope("192.168.1.102") # pyright: ignore[reportGeneralTypeIssues] + scope: MSO5 = dm.add_scope("192.168.1.102") # pyright: ignore[reportAssignmentType] # Generate the signal scope.commands.afg.frequency.write(10e6) # set frequency diff --git a/examples/scopes/tekscope/get_acquisition_data.py b/examples/scopes/tekscope/get_acquisition_data.py index e91ce6d5..9d6d8cb5 100644 --- a/examples/scopes/tekscope/get_acquisition_data.py +++ b/examples/scopes/tekscope/get_acquisition_data.py @@ -12,7 +12,7 @@ device_manager.visa_library = PYVISA_PY_BACKEND # Creating Scope driver object by providing ip address. - scope: MSO6B = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportGeneralTypeIssues] + scope: MSO6B = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportAssignmentType] # Turn on channel 1 scope.commands.display.waveview1.ch[1].state.write("ON") diff --git a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py index 299be611..265ea7b4 100644 --- a/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py +++ b/examples/scopes/tekscope_70k/dpojet/adding_dpojet_measurements.py @@ -12,7 +12,7 @@ device_manager.visa_library = PYVISA_PY_BACKEND # Creating one 7K/70K/SX Scope driver object by providing ip address. - scope: MSO70KDX = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportGeneralTypeIssues] + scope: MSO70KDX = device_manager.add_scope("127.0.0.1") # pyright: ignore[reportAssignmentType] # Starting DPOJET scope.commands.dpojet.activate.write() diff --git a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py index 1f5ab720..92642d79 100644 --- a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py +++ b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py @@ -20,7 +20,7 @@ # Main code starts here with instantiation of the device manager and the SMU instrument connection. devmgr = DeviceManager(verbose=True) -smu2400: SMU2450 = devmgr.add_smu("192.168.0.1", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] +smu2400: SMU2450 = devmgr.add_smu("192.168.0.1", alias="my2450") # pyright: ignore[reportAssignmentType] smu2400.enable_verification = False # Capture the path to the script file and load it to working memory. diff --git a/examples/source_measure_units/2400/smu_2450_leakage_current.py b/examples/source_measure_units/2400/smu_2450_leakage_current.py index 9a1a1ec7..1f167773 100644 --- a/examples/source_measure_units/2400/smu_2450_leakage_current.py +++ b/examples/source_measure_units/2400/smu_2450_leakage_current.py @@ -13,7 +13,7 @@ from tm_devices.drivers import SMU2450 with DeviceManager(verbose=False) as device_manager: - inst: SMU2450 = device_manager.add_smu("192.168.1.4", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.1.4", alias="my2450") # pyright: ignore[reportAssignmentType] # Reset the instrument, which also clears the buffer. inst.commands.reset() diff --git a/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py b/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py index e7785d0f..0666f948 100644 --- a/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py +++ b/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py @@ -16,7 +16,7 @@ from tm_devices.drivers import SMU2450 with DeviceManager() as device_manager: - smu2450: SMU2450 = device_manager.add_smu( # pyright: ignore[reportGeneralTypeIssues] + smu2450: SMU2450 = device_manager.add_smu( # pyright: ignore[reportAssignmentType] "USB0::0x05E6::0x2450::01419969::INSTR", alias="my2450" ) diff --git a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py index 778f9785..690d3bfb 100644 --- a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py +++ b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py @@ -21,7 +21,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportAssignmentType] # Configure the Simple Loop trigger model template to make 100 readings. inst.commands.trigger.model.load_simple_loop(100) diff --git a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py index 36715a04..103eb168 100644 --- a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py +++ b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py @@ -19,7 +19,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportAssignmentType] # Clear the buffer. inst.commands.buffer_var["defbuffer1"].clear() diff --git a/examples/source_measure_units/2400/smu_2450_solar_cell.py b/examples/source_measure_units/2400/smu_2450_solar_cell.py index 73bb247e..f533ce6e 100644 --- a/examples/source_measure_units/2400/smu_2450_solar_cell.py +++ b/examples/source_measure_units/2400/smu_2450_solar_cell.py @@ -15,7 +15,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2450 = device_manager.add_smu("192.168.4.74", alias="my2450") # pyright: ignore[reportAssignmentType] # Define the number of points in the sweep. POINTS = 56 diff --git a/examples/source_measure_units/2400/smu_2460_pulse_train.py b/examples/source_measure_units/2400/smu_2460_pulse_train.py index f218d6e1..29e3613f 100644 --- a/examples/source_measure_units/2400/smu_2460_pulse_train.py +++ b/examples/source_measure_units/2400/smu_2460_pulse_train.py @@ -24,7 +24,7 @@ LIMIT = 7 with DeviceManager(verbose=True) as dm: - inst: SMU2460 = dm.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2460 = dm.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] # Set to current source and set up source config list inst.commands.smu.source.configlist.create("OutputList") diff --git a/examples/source_measure_units/2400/smu_2460_solar_panel_sweep.py b/examples/source_measure_units/2400/smu_2460_solar_panel_sweep.py index deb4471a..a66f9229 100644 --- a/examples/source_measure_units/2400/smu_2460_solar_panel_sweep.py +++ b/examples/source_measure_units/2400/smu_2460_solar_panel_sweep.py @@ -25,7 +25,7 @@ S_DELAY = 0.05 with DeviceManager(verbose=False) as dm: - inst: SMU2460 = dm.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + inst: SMU2460 = dm.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] # Reset the Model 2460 and clear its buffer. inst.commands.reset() diff --git a/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py b/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py index 5110bb39..b0c672b0 100644 --- a/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py +++ b/examples/source_measure_units/2400/smu_2461_1kw_pulsing.py @@ -10,7 +10,7 @@ with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - smu2461: SMU2461 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2461") # pyright: ignore[reportGeneralTypeIssues] + smu2461: SMU2461 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2461") # pyright: ignore[reportAssignmentType] # Reset the instrument smu2461.commands.reset() diff --git a/examples/source_measure_units/2400/smu_2461_pulse_sweep_trigger_out.py b/examples/source_measure_units/2400/smu_2461_pulse_sweep_trigger_out.py index 156dc5f7..37933707 100644 --- a/examples/source_measure_units/2400/smu_2461_pulse_sweep_trigger_out.py +++ b/examples/source_measure_units/2400/smu_2461_pulse_sweep_trigger_out.py @@ -88,7 +88,7 @@ def pulse_delay_calc(pulse_width: str) -> float: with DeviceManager() as device_manager: print(device_manager.get_available_devices()) - smu2461: SMU2461 = device_manager.add_smu( # pyright: ignore[reportGeneralTypeIssues] + smu2461: SMU2461 = device_manager.add_smu( # pyright: ignore[reportAssignmentType] "TCPIP::0.0.0.0::inst0::INSTR", alias="my2461" ) # 192.168.0.2 diff --git a/examples/source_measure_units/2400/smu_2470_insulation_resistance.py b/examples/source_measure_units/2400/smu_2470_insulation_resistance.py index e4beaf2a..5515f64e 100644 --- a/examples/source_measure_units/2400/smu_2470_insulation_resistance.py +++ b/examples/source_measure_units/2400/smu_2470_insulation_resistance.py @@ -9,7 +9,7 @@ from tm_devices.drivers import SMU2470 with DeviceManager(verbose=False) as device_manager: - smu2470: SMU2470 = device_manager.add_smu( # pyright: ignore[reportGeneralTypeIssues] + smu2470: SMU2470 = device_manager.add_smu( # pyright: ignore[reportAssignmentType] "TCPIP::0.0.0.0::inst0::INSTR", alias="my2470" ) # 192.168.0.2 diff --git a/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py b/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py index 6a3422cf..a1fa500b 100644 --- a/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py +++ b/examples/source_measure_units/2400/smu_2470_mosfet_leakage.py @@ -10,7 +10,7 @@ from tm_devices.drivers import SMU2470 with DeviceManager(verbose=False) as device_manager: - smu2470: SMU2470 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2470") # pyright: ignore[reportGeneralTypeIssues] + smu2470: SMU2470 = device_manager.add_smu("TCPIP::0.0.0.0::inst0::INSTR", alias="my2470") # pyright: ignore[reportAssignmentType] # Reset the instrument, which also clears the buffer. smu2470.commands.reset() diff --git a/examples/source_measure_units/2600/reading_dynamic_buffers.py b/examples/source_measure_units/2600/reading_dynamic_buffers.py index ecf5c8c6..6d0f35e5 100644 --- a/examples/source_measure_units/2600/reading_dynamic_buffers.py +++ b/examples/source_measure_units/2600/reading_dynamic_buffers.py @@ -4,7 +4,7 @@ with DeviceManager() as device_manager: # Create a SMU and type hint it as a 2601B - smu: SMU2601B = device_manager.add_smu("192.168.0.1") # pyright: ignore[reportGeneralTypeIssues] + smu: SMU2601B = device_manager.add_smu("192.168.0.1") # pyright: ignore[reportAssignmentType] # Create a buffer BUFFER_NAME = "mybuffer" diff --git a/examples/source_measure_units/2600/smu_2600_ac_waveform_sweep.py b/examples/source_measure_units/2600/smu_2600_ac_waveform_sweep.py index 420e244d..037514ed 100644 --- a/examples/source_measure_units/2600/smu_2600_ac_waveform_sweep.py +++ b/examples/source_measure_units/2600/smu_2600_ac_waveform_sweep.py @@ -108,5 +108,5 @@ def waveform_sweep(inst: SMU2602B) -> None: # RUN TEST with DeviceManager(verbose=False) as DM: - inst_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + inst_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] waveform_sweep(inst_driver) diff --git a/examples/source_measure_units/2600/smu_2600_bjt_slow.py b/examples/source_measure_units/2600/smu_2600_bjt_slow.py index a55095ae..31f1533d 100644 --- a/examples/source_measure_units/2600/smu_2600_bjt_slow.py +++ b/examples/source_measure_units/2600/smu_2600_bjt_slow.py @@ -307,6 +307,6 @@ def display_results(sep: str = "\t") -> None: # Connect to instrument and begin testing. with DeviceManager(verbose=False) as DM: - smu_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + smu_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] bjt_slow(smu_driver) diff --git a/examples/source_measure_units/2600/smu_2600_diode_test_fast.py b/examples/source_measure_units/2600/smu_2600_diode_test_fast.py index dca13cc6..c475b99d 100644 --- a/examples/source_measure_units/2600/smu_2600_diode_test_fast.py +++ b/examples/source_measure_units/2600/smu_2600_diode_test_fast.py @@ -417,7 +417,7 @@ def display_bins_status() -> None: # Connect to instrument and begin testing with DeviceManager(verbose=False) as DM: - smu_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + smu_driver: SMU2602B = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] # Save settings in temporary variables so they can be restored after completion. s_func = smu_driver.commands.smu["a"].source.func diff --git a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py index 9746ebdc..7cdd7052 100644 --- a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py +++ b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py @@ -217,7 +217,7 @@ def capture_pulse_v(inst: SMU2651A) -> None: # RUN TEST with DeviceManager() as DM: - inst_driver: SMU2651A = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + inst_driver: SMU2651A = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] capture_pulse_i(inst_driver) capture_pulse_v(inst_driver) diff --git a/examples/source_measure_units/2600/smu_2657_dioderl_swp.py b/examples/source_measure_units/2600/smu_2657_dioderl_swp.py index 9d3a49e4..2140d1f8 100644 --- a/examples/source_measure_units/2600/smu_2657_dioderl_swp.py +++ b/examples/source_measure_units/2600/smu_2657_dioderl_swp.py @@ -30,7 +30,7 @@ def dioderl_swp( # noqa: PLR0915 source_delay: The delay between the start of source and the source complete event. """ with DeviceManager() as dev_man: - smu2657a: SMU2657A = dev_man.add_smu( # pyright: ignore[reportGeneralTypeIssues] + smu2657a: SMU2657A = dev_man.add_smu( # pyright: ignore[reportAssignmentType] address="TCPIP::0.0.0.0::inst0::INSTR", alias="my2657a" ) # 192.168.0.2 # Reset and initialize instrument diff --git a/examples/source_measure_units/2600/smu_2657a_capacitor_leakage.py b/examples/source_measure_units/2600/smu_2657a_capacitor_leakage.py index 5d97df08..218aa08c 100644 --- a/examples/source_measure_units/2600/smu_2657a_capacitor_leakage.py +++ b/examples/source_measure_units/2600/smu_2657a_capacitor_leakage.py @@ -92,5 +92,5 @@ def capacitor_leakage(inst: SMU2657A) -> None: with DeviceManager() as DM: - smu_driver: SMU2657A = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportGeneralTypeIssues] + smu_driver: SMU2657A = DM.add_smu(RESOURCE_ID) # pyright: ignore[reportAssignmentType] capacitor_leakage(smu_driver) diff --git a/examples/source_measure_units/2600/smu_2657a_mosfet_bvdss.py b/examples/source_measure_units/2600/smu_2657a_mosfet_bvdss.py index 5e9c7684..a0283aa5 100644 --- a/examples/source_measure_units/2600/smu_2657a_mosfet_bvdss.py +++ b/examples/source_measure_units/2600/smu_2657a_mosfet_bvdss.py @@ -33,8 +33,8 @@ with DeviceManager(verbose=False) as DM: # Replace the SMU2636B class with the instrument you are using for this test. - smu2657a: SMU2657A = DM.add_smu(SMU1_ID) # pyright: ignore[reportGeneralTypeIssues] - smu26xx: SMU2636B = DM.add_smu(SMU2_ID) # pyright: ignore[reportGeneralTypeIssues] + smu2657a: SMU2657A = DM.add_smu(SMU1_ID) # pyright: ignore[reportAssignmentType] + smu26xx: SMU2636B = DM.add_smu(SMU2_ID) # pyright: ignore[reportAssignmentType] smua1 = smu2657a.commands.smu["a"] smua2 = smu26xx.commands.smu["a"] diff --git a/examples/source_measure_units/2600/smu_2657a_mosfet_idss.py b/examples/source_measure_units/2600/smu_2657a_mosfet_idss.py index ea88ed9f..40064a7e 100644 --- a/examples/source_measure_units/2600/smu_2657a_mosfet_idss.py +++ b/examples/source_measure_units/2600/smu_2657a_mosfet_idss.py @@ -40,8 +40,8 @@ with DeviceManager() as DM: # Replace the SMU2636B class with the instrument you are using for this test. - smu2657a: SMU2657A = DM.add_smu(SMU1_ID) # pyright: ignore[reportGeneralTypeIssues] - smu26xx: SMU2636B = DM.add_smu(SMU2_ID) # pyright: ignore[reportGeneralTypeIssues] + smu2657a: SMU2657A = DM.add_smu(SMU1_ID) # pyright: ignore[reportAssignmentType] + smu26xx: SMU2636B = DM.add_smu(SMU2_ID) # pyright: ignore[reportAssignmentType] smua1 = smu2657a.commands.smu["a"] smua2 = smu26xx.commands.smu["a"] diff --git a/src/tm_devices/helpers/read_only_cached_property.py b/src/tm_devices/helpers/read_only_cached_property.py index 3541c5a4..4f11103c 100644 --- a/src/tm_devices/helpers/read_only_cached_property.py +++ b/src/tm_devices/helpers/read_only_cached_property.py @@ -9,7 +9,7 @@ # TODO: Remove the pragmas and exception block when support for Python 3.8 is dropped try: # pragma: py-lt-39 # pylint: disable=unsubscriptable-object,useless-suppression - class ReadOnlyCachedProperty(cached_property[_T]): # pyright: ignore[reportGeneralTypeIssues] + class ReadOnlyCachedProperty(cached_property[_T]): # pyright: ignore[reportRedeclaration] """An implementation of cached_property that is read-only. Examples: @@ -35,7 +35,7 @@ def __delete__(self, instance: object) -> None: # Delete the attribute from the cache, ignoring KeyErrors since that just means the # attribute already doesn't exist and therefore doesn't need to be deleted. with contextlib.suppress(KeyError): - del cache[self.attrname] # pyright: ignore[reportGeneralTypeIssues] + del cache[self.attrname] # pyright: ignore[reportArgumentType] except TypeError: # pragma: py-gte-39 # pylint: disable=unsubscriptable-object,useless-suppression @@ -65,4 +65,4 @@ def __delete__(self, instance: object) -> None: # Delete the attribute from the cache, ignoring KeyErrors since that just means the # attribute already doesn't exist and therefore doesn't need to be deleted. with contextlib.suppress(KeyError): - del cache[self.attrname] # pyright: ignore[reportGeneralTypeIssues] + del cache[self.attrname] # pyright: ignore[reportArgumentType] From 86ad11b48c9db44a428b6e5c400453c5696e195f Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Tue, 23 Jan 2024 09:38:22 -0800 Subject: [PATCH 44/50] Pin the linters used (ruff, pyright, pylint) to specific versions (#131) * ci: Pinned the linters used (ruff, pyright, pylint) to specific versions to remove failures that can occur when a new version is released that introduces a new linting rule or breaks an existing one. Also added a script that can be used to easily update all pinned dependencies in the pyproject.toml and .pre-commit-config.yaml files. * docs: Update changelog with entry about pinning linters. --- .pre-commit-config.yaml | 4 +- CHANGELOG.md | 5 +- CONTRIBUTING.md | 6 +- docs/troubleshooting/contributions.md | 2 +- pyproject.toml | 14 +++-- scripts/pypi_latest_version.py | 29 +++++++--- scripts/update_development_dependencies.py | 67 ++++++++++++++++++++++ 7 files changed, 105 insertions(+), 22 deletions(-) create mode 100644 scripts/update_development_dependencies.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 07c56f1d..a3ffe4db 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -45,12 +45,12 @@ repos: hooks: - id: commitizen stages: [commit-msg] - - repo: https://github.com/asottile/blacken-docs + - repo: https://github.com/adamchainz/blacken-docs rev: 1.16.0 hooks: - id: blacken-docs files: \.(rst|md|markdown|tex)$ - - repo: https://github.com/lyz-code/yamlfix/ + - repo: https://github.com/lyz-code/yamlfix rev: 1.16.0 hooks: - id: yamlfix diff --git a/CHANGELOG.md b/CHANGELOG.md index c7ee08d3..d34b5b4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,8 +26,9 @@ Things to be included in the next release go here. ### Changed -- Switched to ruff's formatter instead of black's formatter for python code -- Updated the version of `python-semantic-release` that is used to avoid needing to store a copy of the previous changelog in the repo +- Switched to ruff's formatter instead of black's formatter for python code. +- Updated the version of `python-semantic-release` that is used to avoid needing to store a copy of the previous changelog in the repo. +- Pinned the linters (ruff, pyright, pylint, docformatter) to specific versions to reduce failures when updates are released that add new rules or break existing rules. ______________________________________________________________________ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e9b440a7..ea85897f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -186,11 +186,7 @@ source .venv/bin/activate ```` ```console -python -m poetry self update - -python -m poetry update - -pre-commit autoupdate +python scripts/update_development_dependencies.py ``` ## Pull Request Guidelines diff --git a/docs/troubleshooting/contributions.md b/docs/troubleshooting/contributions.md index e6016e48..753e98d6 100644 --- a/docs/troubleshooting/contributions.md +++ b/docs/troubleshooting/contributions.md @@ -219,7 +219,7 @@ source .venv/bin/activate .venv\Scripts\activate.bat # Update installed dependencies -python -m poetry update +python scripts/update_development_dependencies.py # Re-run original, failing command ``` diff --git a/pyproject.toml b/pyproject.toml index d6f13ee0..83d149ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -95,7 +95,7 @@ zeroconf = ">=0.54.0" [tool.poetry.group.dev.dependencies] coverage = {extras = ["toml"], version = ">=7.2.2"} coverage-conditional-plugin = ">=0.9.0" -docformatter = {extras = ["tomli"], version = ">=1.6.5,<1.7.1"} # upper bound is due to https://github.com/PyCQA/docformatter/issues/174 +docformatter = {extras = ["tomli"], version = "==1.7.0"} # can't update due to https://github.com/PyCQA/docformatter/issues/174 flask = ">=2.2.2" graphviz = ">=0.20.1" http-server-mock = ">=1.7" @@ -107,8 +107,9 @@ myst-parser = ">=0.19.1" pip = ">=22.0" poetry = ">=1.5.1" pre-commit = ">=2.20.0" -pylint = {extras = ["spelling"], version = ">=3.0"} -pyright = ">=1.1.334" +pre-commit-update = ">=0.1.3" +pylint = {extras = ["spelling"], version = "3.0.3"} # Update this by running scripts/update_development_dependencies.py +pyright = "1.1.348" # Update this by running scripts/update_development_dependencies.py pyroma = ">=4.2" pytest = ">=7.1.2" pytest-cov = ">=3.0.0" @@ -116,7 +117,7 @@ pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" python-semantic-release = ">=8.5.1" -ruff = ">=0.1.7" +ruff = "0.1.14" # Update this by running scripts/update_development_dependencies.py safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" sphinx-copybutton = ">=0.5.1" @@ -133,6 +134,7 @@ types-pyyaml = ">=6.0" types-requests = ">=2.28.8" urllib3 = ">=1.26.14" wheel = ">=0.37.1" +yamlfix = ">=1.16.0" [tool.poetry.scripts] list-visa-resources = "tm_devices:print_available_visa_devices" @@ -141,6 +143,10 @@ list-visa-resources = "tm_devices:print_available_visa_devices" "Bug Tracker" = "https://github.com/tektronix/tm_devices/issues" "Changelog" = "https://github.com/tektronix/tm_devices/blob/main/CHANGELOG.md" +[tool.pre-commit-update] +keep = ["docformatter"] +verbose = true + [tool.pylint.basic] good-names = ["_"] diff --git a/scripts/pypi_latest_version.py b/scripts/pypi_latest_version.py index 07ab5c63..957afbe8 100644 --- a/scripts/pypi_latest_version.py +++ b/scripts/pypi_latest_version.py @@ -33,28 +33,41 @@ def parse_arguments() -> argparse.Namespace: return parser.parse_args() -def main() -> None: +def get_latest_version(package_name: str, index: str) -> str: """Get the latest version of the provided package. + Args: + package_name: The name of the package to get the latest version of. + index: The index to check for the package, one of (pypi|test.pypi). + + Returns: + A string containing the latest version of the package from the given index. + Raises: SystemExit: Indicates there were no versions for the package. """ - args = parse_arguments() - package = args.package - index = args.index - - # This code mirrors code found in src/tm_devices/helpers/functions.py. + # This code mirrors code found in src/tm_devices/helpers/functions.py, + # in the check_for_update() function. # If this code is updated, the helper function should be updated too. - url = f"https://{index}.org/pypi/{package}/json" + url = f"https://{index}.org/pypi/{package_name}/json" try: response = requests.get(url, timeout=10) releases = json.loads(response.text)["releases"] version_list = sorted(releases, key=Version.parse, reverse=True) latest_version = version_list[0] except (IndexError, json.decoder.JSONDecodeError) as error: - msg = f"There were no versions found for the {package} package." + msg = f"There were no versions found for the {package_name} package." raise SystemExit(msg) from error + return latest_version + + +def main() -> None: + """Get the latest version of the provided package.""" + args = parse_arguments() + package = args.package + index = args.index + latest_version = get_latest_version(package, index) print(latest_version) diff --git a/scripts/update_development_dependencies.py b/scripts/update_development_dependencies.py new file mode 100644 index 00000000..1c3b4aa2 --- /dev/null +++ b/scripts/update_development_dependencies.py @@ -0,0 +1,67 @@ +"""Update the development dependencies. + +This script will update the development dependencies that are pinned in the pyproject.toml and .pre- +commit-config.yaml files. +""" +import shlex +import subprocess +import sys +import warnings + +from pathlib import Path +from typing import List + +from yamlfix import fix_files # pyright: ignore + +from pypi_latest_version import get_latest_version + +# NOTE: When docformatter is uncommented from this list, be sure to +# remove the 'keep' key from the '[tool.pre-commit-update]' section in ``pyproject.toml``. +DEPENDENCIES_TO_UPDATE = ( + # FUTURE # "docformatter[tomli]", # can't update due to https://github.com/PyCQA/docformatter/issues/174 + "pylint[spelling]", + "pyright", + "ruff", +) + + +def _run_cmd_in_subprocess(command: str) -> None: + """Run the given command in a subprocess. + + Args: + command: The command string to send. + """ + command = command.replace("\\", "/") + print(f"\nExecuting command: {command}") + subprocess.check_call(shlex.split(command)) # noqa: S603 + + +def main() -> None: + """Run the script to update the development dependencies.""" + script_location = Path(__file__) + python_executable = sys.executable + latest_dependency_versions: List[str] = [] + + # Get the latest versions for each of the dependencies to update + for dependency in DEPENDENCIES_TO_UPDATE: + latest_dep_version = get_latest_version(dependency.split("[", maxsplit=1)[0], "pypi") + latest_dependency_versions.append(dependency + f"=={latest_dep_version}") + + # Update dependencies in pyproject.toml using poetry + dependencies = " ".join(f'"{x}"' for x in latest_dependency_versions) + _run_cmd_in_subprocess(f"{python_executable} -m poetry add --group=dev {dependencies}") + + # Run poetry update + _run_cmd_in_subprocess(f"{python_executable} -m poetry update") + + # Update pre-commit config file + _run_cmd_in_subprocess(python_executable.rsplit("python", maxsplit=1)[-0] + "pre-commit-update") + + # Fix the formatting of the pre-commit config file + with warnings.catch_warnings(): + warnings.simplefilter("ignore", UserWarning) + fix_files([f"{script_location.parent.parent}/.pre-commit-config.yaml"]) + + +if __name__ == "__main__": + main() From 357f061d35b9c882de27e7e41d91cc52b56c9ce3 Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Wed, 24 Jan 2024 15:30:42 -0800 Subject: [PATCH 45/50] style: Update linting rules. (#132) * ci: Add explicit disable of a new pyright rule. * style: Updated all type ignore comments to include specific error codes. * style: Updated code to pass more ruff style checks for pathlib usage. * style: Updated code to always use timezones when working with datetime objects. --- docs/conf.py | 4 +- .../2400/smu_2450_leakage_current.py | 4 +- .../2400/smu_2450_linear_sweep_current.py | 4 +- .../2400/smu_2450_measuring_lowr_devices.py | 4 +- .../2400/smu_2450_rechargeable_battery.py | 2 +- .../2400/smu_2460_pulse_train.py | 4 +- .../2600/smu_2600_diode_test_fast.py | 4 +- .../2600/smu_2651_fast_adc_usage.py | 9 ++- pyproject.toml | 20 ++--- scripts/contributor_setup.py | 17 +++-- scripts/project_version.py | 3 +- scripts/update_development_dependencies.py | 2 +- .../commands/_helpers/generic_commands.py | 6 +- .../commands/_helpers/scpi_commands.py | 2 +- src/tm_devices/components/dm_config_parser.py | 2 +- src/tm_devices/device_manager.py | 19 +++-- .../driver_mixins/class_extension_mixin.py | 2 +- .../api/rest_api/margin_testers/tmt4.py | 2 +- .../pi/data_acquisition_systems/daq6510.py | 2 +- .../data_acquisition_system.py | 2 +- .../digital_multimeters/digital_multimeter.py | 2 +- .../pi/digital_multimeters/dmm6500/dmm6500.py | 2 +- .../pi/digital_multimeters/dmm7500/dmm7500.py | 2 +- src/tm_devices/drivers/pi/pi_device.py | 22 +++--- .../drivers/pi/power_supplies/power_supply.py | 4 +- src/tm_devices/drivers/pi/scopes/scope.py | 4 +- src/tm_devices/drivers/pi/scopes/tso/tsovu.py | 2 +- .../drivers/pi/signal_sources/afgs/afg.py | 2 +- .../drivers/pi/signal_sources/awgs/awg.py | 8 +- .../smu2400/smu2400_interactive.py | 2 +- .../smu2400/smu2400_standard.py | 4 +- .../source_measure_units/smu6000/smu6000.py | 6 +- .../drivers/pi/systems_switches/ss3706a.py | 2 +- src/tm_devices/drivers/pi/tsp_device.py | 2 +- .../helpers/constants_and_dataclasses.py | 6 +- src/tm_devices/helpers/functions.py | 9 ++- src/tm_devices/helpers/stubgen.py | 14 ++-- tests/conftest.py | 7 +- tests/mock_server.py | 2 +- tests/test_afgs.py | 2 +- tests/test_auto_generated_commands.py | 4 +- tests/test_config_parser.py | 22 ++---- tests/test_device_manager.py | 73 +++++++++---------- tests/test_helpers.py | 6 +- tests/test_margin_testers.py | 9 +-- tests/test_rest_api_device.py | 2 +- tests/test_scopes.py | 4 +- tests/test_smu.py | 7 +- tests/verify_physical_device_support.py | 4 +- 49 files changed, 176 insertions(+), 173 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 412080c4..3a1a96e9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -88,7 +88,7 @@ def prep_jinja_env(jinja_env: JinjaEnvironment) -> None: Args: jinja_env: The Jinja environment. """ - jinja_env.tests["contains"] = item_in_sequence # pyright: ignore + jinja_env.tests["contains"] = item_in_sequence # pyright: ignore[reportArgumentType,reportUnknownMemberType] # FUTURE: # autoapi_prepare_jinja_env = prep_jinja_env @@ -228,4 +228,4 @@ def setup(sphinx: Sphinx) -> None: Args: sphinx: The sphinx object. """ - sphinx.connect("autoapi-skip-member", skip_member) # pyright: ignore + sphinx.connect("autoapi-skip-member", skip_member) # pyright: ignore[reportUnknownMemberType] diff --git a/examples/source_measure_units/2400/smu_2450_leakage_current.py b/examples/source_measure_units/2400/smu_2450_leakage_current.py index 1f167773..859285e7 100644 --- a/examples/source_measure_units/2400/smu_2450_leakage_current.py +++ b/examples/source_measure_units/2400/smu_2450_leakage_current.py @@ -62,9 +62,9 @@ READING_COUNT = int(float(inst.commands.buffer_var["defbuffer1"].n)) for x in range(1, READING_COUNT + 1): # Voltage readings are in defbuffer1. - timestamp_data.append( # type: ignore + timestamp_data.append( # pyright: ignore[reportUnknownMemberType] inst.commands.buffer_var["defbuffer1"].relativetimestamps[x] ) - buffer1_data.append(inst.commands.buffer_var["defbuffer1"].readings[x]) # type: ignore + buffer1_data.append(inst.commands.buffer_var["defbuffer1"].readings[x]) # pyright: ignore[reportUnknownMemberType] print(f"{x}, {timestamp_data[x-1]}, {buffer1_data[x-1]}") diff --git a/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py b/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py index 0666f948..1b97902c 100644 --- a/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py +++ b/examples/source_measure_units/2400/smu_2450_linear_sweep_current.py @@ -64,9 +64,9 @@ READING_COUNT = int(float(smu2450.commands.buffer_var["defbuffer1"].n)) for x in range(1, READING_COUNT + 1): # Voltage readings are in defbuffer1. - timestamp_data.append( # type: ignore + timestamp_data.append( # pyright: ignore[reportUnknownMemberType] smu2450.commands.buffer_var["defbuffer1"].timestamps[x] ) - buffer1_data.append(smu2450.commands.buffer_var["defbuffer1"].readings[x]) # type: ignore + buffer1_data.append(smu2450.commands.buffer_var["defbuffer1"].readings[x]) # pyright: ignore[reportUnknownMemberType] print(f"{timestamp_data[x-1]}, {buffer1_data[x-1]}") diff --git a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py index 690d3bfb..09454dc8 100644 --- a/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py +++ b/examples/source_measure_units/2400/smu_2450_measuring_lowr_devices.py @@ -62,9 +62,9 @@ READING_COUNT = int(float(inst.commands.buffer_var["defbuffer1"].n)) for x in range(1, READING_COUNT + 1): # Resistance readings are in defbuffer1. - timestamp_data.append( # type:ignore + timestamp_data.append( # pyright: ignore[reportUnknownMemberType] inst.commands.buffer_var["defbuffer1"].timestamps[x] ) - buffer1_data.append(inst.commands.buffer_var["defbuffer1"].readings[x]) # type:ignore + buffer1_data.append(inst.commands.buffer_var["defbuffer1"].readings[x]) # pyright: ignore[reportUnknownMemberType] print(f"{timestamp_data[x-1]}, {buffer1_data[x-1]}") diff --git a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py index 103eb168..f40f9a7b 100644 --- a/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py +++ b/examples/source_measure_units/2400/smu_2450_rechargeable_battery.py @@ -83,7 +83,7 @@ reading = inst.commands.buffer_var["defbuffer1"].readings[i] source_value = inst.commands.buffer_var["defbuffer1"].sourcevalues[i] timestamp = float( - inst.commands.buffer_var["defbuffer1"].relativetimestamps.get[i] # type: ignore + inst.commands.buffer_var["defbuffer1"].relativetimestamps.get(i) # pyright: ignore[reportArgumentType] ) print(i, reading, source_value, timestamp) diff --git a/examples/source_measure_units/2400/smu_2460_pulse_train.py b/examples/source_measure_units/2400/smu_2460_pulse_train.py index 29e3613f..d0e75d63 100644 --- a/examples/source_measure_units/2400/smu_2460_pulse_train.py +++ b/examples/source_measure_units/2400/smu_2460_pulse_train.py @@ -79,12 +79,12 @@ inst.commands.trigger.model.setblock_trigger_block_config_recall(4, "OutputList") inst.commands.trigger.model.setblock_trigger_block_delay_constant( 5, - MEASURE_DELAY, # type: ignore + MEASURE_DELAY, # type: ignore[arg-type] ) inst.commands.trigger.model.setblock_trigger_block_measure_digitize(6) inst.commands.trigger.model.setblock_trigger_block_wait(7, "trigger.EVENT_TIMER2") inst.commands.trigger.model.setblock_trigger_block_config_next(8, "OutputList") - inst.commands.trigger.model.setblock_trigger_block_branch_counter(9, POINTS, 3) # type: ignore + inst.commands.trigger.model.setblock_trigger_block_branch_counter(9, POINTS, 3) # type: ignore[arg-type] inst.commands.trigger.model.setblock_trigger_block_source_output(10, inst.commands.smu.OFF) # Start the trigger model diff --git a/examples/source_measure_units/2600/smu_2600_diode_test_fast.py b/examples/source_measure_units/2600/smu_2600_diode_test_fast.py index c475b99d..e199031b 100644 --- a/examples/source_measure_units/2600/smu_2600_diode_test_fast.py +++ b/examples/source_measure_units/2600/smu_2600_diode_test_fast.py @@ -156,9 +156,9 @@ def diode_test(inst: SMU2602B) -> None: if SPEED == "FAST": inst.commands.display.clear() - inst.commands.display.setcursor(1, 1) # type: ignore + inst.commands.display.setcursor(1, 1) # type: ignore[arg-type] inst.commands.display.settext("Test In Progress") - inst.commands.display.setcursor(2, 1) # type: ignore + inst.commands.display.setcursor(2, 1) # type: ignore[arg-type] inst.commands.display.settext(f"Testing {NDIODES} Parts") start_time = time.time() diff --git a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py index 7cdd7052..ad212ede 100644 --- a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py +++ b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py @@ -11,14 +11,17 @@ Converted to Python tm_devices script. DCA 4.12.23 """ -from datetime import date +from datetime import datetime + +from dateutil.tz import tzlocal from tm_devices import DeviceManager from tm_devices.drivers import SMU2651A +TODAY_DATE = datetime.now(tz=tzlocal()).date() RESOURCE_ID = "192.168.0.1" -V_FILENAME = "CapturePulseV_" + str(date.today()) + ".csv" -I_FILENAME = "CapturePulseI_" + str(date.today()) + ".csv" +V_FILENAME = "CapturePulseV_" + str(TODAY_DATE) + ".csv" +I_FILENAME = "CapturePulseI_" + str(TODAY_DATE) + ".csv" # TEST CONSTANTS NUM_PULSES = 5 diff --git a/pyproject.toml b/pyproject.toml index 83d149ba..81f4afdc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -233,6 +233,7 @@ ignore = [ pythonPlatform = "All" pythonVersion = "3.8" reportCallInDefaultInitializer = "error" +reportImplicitOverride = "none" # this check is not needed # TODO: turn on the check for implicit string concatenation reportImplicitStringConcatenation = "none" # this is allowed by this project's formatting standard reportImportCycles = "none" # other analysis tools catch these more effectively @@ -282,21 +283,21 @@ ignore = [ "ANN102", # Missing type annotation for cls in method "ANN401", # Dynamically typed expressions (typing.Any) are disallowed in *args and **kwargs "COM812", # Trailing comma missing - "DTZ", # flake8-datetimez # TODO: enable this later "EM102", # Exception must not use an f-string literal, assign to variable first - "FA100", # Missing `from __future__ import annotations`, but uses ... # TODO: enable this later + "FA100", # Missing `from __future__ import annotations`, but uses ... "FBT", # flake8-boolean-trap - "FIX002", # Line contains TODO + "FIX002", # Line contains TO DO "ISC001", # single-line-implicit-string-concatenation (handled by formatter) - "PGH003", # Use specific rule codes when ignoring type issues # TODO: enable this later - "PTH", # flake8-use-pathlib # TODO: enable this later + "PTH109", # `os.getcwd()` should be replaced by `Path.cwd()` + "PTH123", # `open()` should be replaced by `Path.open()` + "PTH207", # Replace `iglob` with `Path.glob` or `Path.rglob` "PYI021", # Docstrings should not be included in stubs "T20", # flake8-print - "TD002", # Missing author in TODO; try: `# TODO(): ...` # TODO: enable this later - "TD003", # Missing issue link on the line following this TODO # TODO: enable this later + "TD002", # Missing author in TO DO + "TD003", # Missing issue link on the line following this TO DO "TRY301", # Abstract raise to an inner function - "UP006", # Use {to} instead of {from} for type annotation # TODO: enable this later - "UP007", # Use `X | Y` for type annotations # TODO: enable this later + "UP006", # Use {to} instead of {from} for type annotation + "UP007", # Use `X | Y` for type annotations "UP024", # Replace aliased errors with `OSError` "UP037" # Remove quotes from type annotation ] @@ -348,6 +349,7 @@ order-by-type = false "tests/**" = [ "PLC1901", # compare-to-empty-string "PLR2004", # Magic value used in comparison + "PTH107", # `os.remove()` should be replaced by `Path.unlink()` "S101" # Use of assert detected ] "tests/samples/golden_stubs/**" = [ diff --git a/scripts/contributor_setup.py b/scripts/contributor_setup.py index 77a0f78b..20c1c6f9 100644 --- a/scripts/contributor_setup.py +++ b/scripts/contributor_setup.py @@ -2,6 +2,8 @@ This script will run through the commands listed in the CONTRIBUTING.md file. """ +from __future__ import annotations + import argparse import glob import os @@ -43,18 +45,21 @@ def running_in_virtualenv() -> bool: return sys.prefix != sys.base_prefix -def create_virtual_environment(virtual_env_dir: str, reset_env: bool) -> None: +def create_virtual_environment( + virtual_env_dir: Union[str, os.PathLike[str]], reset_env: bool +) -> None: """Create a virtual environment. Args: virtual_env_dir: The directory where the virtual environment should be created reset_env: Indicate if the virtual environment should be completely reset """ + virtual_env_dir = Path(virtual_env_dir) added_newline = False if ( reset_env - and os.path.exists(virtual_env_dir) - and not sys.prefix.startswith(virtual_env_dir) + and virtual_env_dir.exists() + and not sys.prefix.startswith(str(virtual_env_dir.resolve())) and not running_in_virtualenv() ): if not added_newline: @@ -62,7 +67,7 @@ def create_virtual_environment(virtual_env_dir: str, reset_env: bool) -> None: print("") print(f"Removing virtualenv located at '{virtual_env_dir}'") shutil.rmtree(virtual_env_dir) - if not os.path.exists(virtual_env_dir) and not running_in_virtualenv(): + if not virtual_env_dir.exists() and not running_in_virtualenv(): if not added_newline: print("") print(f"Creating virtualenv located at '{virtual_env_dir}'") @@ -113,8 +118,8 @@ def main() -> None: # Delete the previous poetry lock file lock_file = Path(starting_dir) / "poetry.lock" - if os.path.exists(lock_file): - os.remove(lock_file) + if lock_file.exists(): + lock_file.unlink() # Find the python executable from the new virtual environment files = list( diff --git a/scripts/project_version.py b/scripts/project_version.py index b79a6837..865b298c 100644 --- a/scripts/project_version.py +++ b/scripts/project_version.py @@ -1,6 +1,5 @@ """This script modifies or gets the current project version in the pyproject.toml file.""" import argparse -import os.path import pathlib import tomli @@ -8,7 +7,7 @@ from poetry.core.constraints.version import Version -PYPROJECT_FILE = pathlib.Path(f"{os.path.dirname(__file__)}/../pyproject.toml") +PYPROJECT_FILE = pathlib.Path(f"{pathlib.Path(__file__).parent}/../pyproject.toml") def parse_arguments() -> argparse.Namespace: diff --git a/scripts/update_development_dependencies.py b/scripts/update_development_dependencies.py index 1c3b4aa2..af25c9c8 100644 --- a/scripts/update_development_dependencies.py +++ b/scripts/update_development_dependencies.py @@ -11,7 +11,7 @@ from pathlib import Path from typing import List -from yamlfix import fix_files # pyright: ignore +from yamlfix import fix_files # pyright: ignore[reportUnknownVariableType] from pypi_latest_version import get_latest_version diff --git a/src/tm_devices/commands/_helpers/generic_commands.py b/src/tm_devices/commands/_helpers/generic_commands.py index 0e55f84a..c18556f2 100644 --- a/src/tm_devices/commands/_helpers/generic_commands.py +++ b/src/tm_devices/commands/_helpers/generic_commands.py @@ -27,7 +27,7 @@ class NoDeviceProvidedError(Exception): #################################################################################################### # Classes #################################################################################################### -class DefaultDictPassKeyToFactory(defaultdict): # type: ignore +class DefaultDictPassKeyToFactory(defaultdict): # pyright: ignore[reportMissingTypeArgument] """A custom defaultdict. This custom defaultdict passes the key used to access a missing value into the stored @@ -41,7 +41,7 @@ def __init__(self, default_factory: Callable[[Union[int, str]], Any], **kwargs: default_factory: The factory function used to create new values in the dictionary. kwargs: The keyword arguments. """ - super().__init__(default_factory, **kwargs) # type: ignore + super().__init__(default_factory, **kwargs) # type: ignore[arg-type] def __missing__(self, key: Any) -> Any: """Call the ``default_factory()`` function and pass the key as the only parameter. @@ -51,7 +51,7 @@ def __missing__(self, key: Any) -> Any: """ if self.default_factory: # noinspection PyArgumentList # pylint: disable=not-callable - dict.__setitem__(self, key, self.default_factory(key)) # type: ignore + dict.__setitem__(self, key, self.default_factory(key)) # type: ignore[arg-type] return cast(Any, self[key]) return cast(Any, super().__missing__(key)) # pyright: ignore [reportUnknownMemberType] diff --git a/src/tm_devices/commands/_helpers/scpi_commands.py b/src/tm_devices/commands/_helpers/scpi_commands.py index 14d4feb9..2d423b21 100644 --- a/src/tm_devices/commands/_helpers/scpi_commands.py +++ b/src/tm_devices/commands/_helpers/scpi_commands.py @@ -265,7 +265,7 @@ def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: raise ValueError(msg) -class DefaultDictDeviceCommunication(defaultdict): # type: ignore +class DefaultDictDeviceCommunication(defaultdict): # pyright: ignore[reportMissingTypeArgument] """A custom default dictionary that can be used to send/receive commands to/from a device. The ``.query()`` method is used when ``__getitem__()`` is called and the result of the query is diff --git a/src/tm_devices/components/dm_config_parser.py b/src/tm_devices/components/dm_config_parser.py index c3376955..34322370 100644 --- a/src/tm_devices/components/dm_config_parser.py +++ b/src/tm_devices/components/dm_config_parser.py @@ -371,7 +371,7 @@ def __parse_config_file( KeyError: Indicates unrecognized option name. """ config_path = pathlib.Path(config_file_path) # normalize the path - if not os.path.isfile(config_path): + if not config_path.is_file(): raise FileNotFoundError(config_path) # read in data with open(config_path, encoding="utf-8") as config_file: diff --git a/src/tm_devices/device_manager.py b/src/tm_devices/device_manager.py index 89f70f43..dd016136 100644 --- a/src/tm_devices/device_manager.py +++ b/src/tm_devices/device_manager.py @@ -137,10 +137,13 @@ warnings.simplefilter("ignore", UserWarning) import pyvisa as visa - from pyvisa_py.protocols.rpc import RPCError # type: ignore + from pyvisa_py.protocols.rpc import RPCError # pyright: ignore[reportMissingTypeStubs] -# noinspection PyUnresolvedReferences # pylint: disable=unused-import,wrong-import-order -from traceback_with_variables import activate_by_import # noqa: F401 # type: ignore +# pylint: disable=unused-import,wrong-import-order +# noinspection PyUnresolvedReferences +from traceback_with_variables import ( # pyright: ignore[reportMissingTypeStubs] + activate_by_import, # noqa: F401 # pyright: ignore[reportUnusedImport] +) if TYPE_CHECKING: from pyvisa.resources import MessageBasedResource @@ -154,7 +157,7 @@ # TODO: this is temporary until python3.12 which will support TypeVar with defaults AFGAlias: TypeAlias = Union[AFG3K, AFG3KB, AFG3KC, AFG31K] AWGAlias: TypeAlias = Union[AWG5K, AWG5KB, AWG5KC, AWG7K, AWG7KB, AWG7KC, AWG5200, AWG70KA, AWG70KB] -DataAcquisitionSystemAlias: TypeAlias = Union[DAQ6510] # pyright: ignore +DataAcquisitionSystemAlias: TypeAlias = Union[DAQ6510] # pyright: ignore[reportInvalidTypeArguments] DigitalMultimeterAlias: TypeAlias = Union[DMM6500, DMM7510, DMM7512] ScopeAlias: TypeAlias = Union[ DPO5K, @@ -199,7 +202,7 @@ MSO70KC, MSO70KDX, ] -MarginTesterAlias: TypeAlias = Union[TMT4] # pyright: ignore +MarginTesterAlias: TypeAlias = Union[TMT4] # pyright: ignore[reportInvalidTypeArguments] PowerSupplyUnitAlias: TypeAlias = Union[ PSU2200, PSU2220, @@ -243,7 +246,7 @@ SMU6514, SMU6517B, ] -SystemsSwitchAlias: TypeAlias = Union[SS3706A] # pyright: ignore +SystemsSwitchAlias: TypeAlias = Union[SS3706A] # pyright: ignore[reportInvalidTypeArguments] #################################################################################################### @@ -1209,7 +1212,7 @@ def _add_device( # noqa: PLR0913 config_dict["serial_config"] = serial_config if device_driver: config_dict["device_driver"] = device_driver - new_device_name, new_device_config = self.__config.add_device(**config_dict) # type: ignore + new_device_name, new_device_config = self.__config.add_device(**config_dict) # pyright: ignore[reportArgumentType] return self.__create_device(new_device_name, new_device_config) @@ -1361,7 +1364,7 @@ def __protect_access(self) -> None: AttributeError: Indicates that the calling method should not have been used. """ if not self.__is_open and not self._suppress_protection: - previous_frame = cast(FrameType, inspect.currentframe().f_back.f_back) # type: ignore + previous_frame = cast(FrameType, inspect.currentframe().f_back.f_back) # pyright: ignore[reportOptionalMemberAccess] message = ( f"The {self.__class__.__name__} is closed, please use the .open() " f"method before continuing to use the {self.__class__.__name__}.\n" diff --git a/src/tm_devices/driver_mixins/class_extension_mixin.py b/src/tm_devices/driver_mixins/class_extension_mixin.py index d8550506..8681784c 100644 --- a/src/tm_devices/driver_mixins/class_extension_mixin.py +++ b/src/tm_devices/driver_mixins/class_extension_mixin.py @@ -68,7 +68,7 @@ def add_property( ... # pragma: no cover @classmethod - def add_property( # type: ignore + def add_property( # pyright: ignore[reportInconsistentOverload] cls: Type[_EM], method: Optional[Callable[[_EM], _T]] = None, /, diff --git a/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py b/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py index 5b06690f..baf1a861 100644 --- a/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py +++ b/src/tm_devices/drivers/api/rest_api/margin_testers/tmt4.py @@ -127,7 +127,7 @@ def wait_till_unlocked(self, timeout: int = 120) -> None: start = time.time() while time.time() < start + timeout: _, res_json, _, _ = self.get("/device/status", allow_errors=True) - if res_json["usage"] == "NOT LOCKED": # type: ignore + if res_json["usage"] == "NOT LOCKED": # pyright: ignore[reportArgumentType,reportCallIssue] return time.sleep(1) msg = f"waited more than {timeout} seconds for {self.name} to unlock" diff --git a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py index e3496d08..b2b1ab3b 100644 --- a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py +++ b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py @@ -45,7 +45,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: @property def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" - return self._ieee_cmds # type: ignore + return self._ieee_cmds # pyright: ignore[reportReturnType] @ReadOnlyCachedProperty def total_channels(self) -> int: diff --git a/src/tm_devices/drivers/pi/data_acquisition_systems/data_acquisition_system.py b/src/tm_devices/drivers/pi/data_acquisition_systems/data_acquisition_system.py index 9ad0eb0d..655b5770 100644 --- a/src/tm_devices/drivers/pi/data_acquisition_systems/data_acquisition_system.py +++ b/src/tm_devices/drivers/pi/data_acquisition_systems/data_acquisition_system.py @@ -25,6 +25,6 @@ def _reboot(self) -> None: """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/digital_multimeters/digital_multimeter.py b/src/tm_devices/drivers/pi/digital_multimeters/digital_multimeter.py index 18c56247..5f772de6 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/digital_multimeter.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/digital_multimeter.py @@ -31,6 +31,6 @@ def _reboot(self) -> None: """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm6500/dmm6500.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm6500/dmm6500.py index 5c7d26c7..c04af637 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm6500/dmm6500.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm6500/dmm6500.py @@ -28,7 +28,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: @property def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" - return self._ieee_cmds # type: ignore + return self._ieee_cmds # pyright: ignore[reportReturnType] ################################################################################################ # Public Methods diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm7500/dmm7500.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm7500/dmm7500.py index a8c4370a..c5234bb0 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm7500/dmm7500.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm7500/dmm7500.py @@ -28,7 +28,7 @@ def all_channel_names_list(self) -> Tuple[str, ...]: @property def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" - return self._ieee_cmds # type: ignore + return self._ieee_cmds # pyright: ignore[reportReturnType] ################################################################################################ # Public Methods diff --git a/src/tm_devices/drivers/pi/pi_device.py b/src/tm_devices/drivers/pi/pi_device.py index 1774d886..5629815c 100644 --- a/src/tm_devices/drivers/pi/pi_device.py +++ b/src/tm_devices/drivers/pi/pi_device.py @@ -70,7 +70,7 @@ def __init__( if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) else UNIT_TEST_TIMEOUT ) - self._ieee_cmds = self._IEEE_COMMANDS_CLASS(self) # type: ignore + self._ieee_cmds = self._IEEE_COMMANDS_CLASS(self) self.reset_visa_timeout() ################################################################################################ @@ -121,7 +121,7 @@ def turn_channel_off(self, channel_str: str) -> None: """ # TODO: implement for all driver subclasses then remove this blanket NotImplementedError raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) @@ -136,7 +136,7 @@ def turn_channel_on(self, channel_str: str) -> None: """ # TODO: implement for all driver subclasses then remove this blanket NotImplementedError raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) @@ -281,15 +281,15 @@ def device_clear(self) -> None: # pragma: no cover def disable_srq_events(self) -> None: # pragma: no cover """Disable the service request event for the device.""" self._visa_resource.disable_event( - visa_constants.VI_EVENT_SERVICE_REQ, # type: ignore - visa_constants.VI_QUEUE, # type: ignore + visa_constants.VI_EVENT_SERVICE_REQ, # pyright: ignore[reportArgumentType] + visa_constants.VI_QUEUE, # pyright: ignore[reportArgumentType] ) def enable_srq_events(self) -> None: # pragma: no cover """Enable the service request event for the device.""" self._visa_resource.enable_event( - visa_constants.VI_EVENT_SERVICE_REQ, # type: ignore - visa_constants.VI_QUEUE, # type: ignore + visa_constants.VI_EVENT_SERVICE_REQ, # pyright: ignore[reportArgumentType] + visa_constants.VI_QUEUE, # pyright: ignore[reportArgumentType] ) def get_visa_stb(self) -> int: # pragma: no cover @@ -361,7 +361,7 @@ def query_binary(self, query: str, verbose: bool = True) -> Sequence[float]: print_with_timestamp(f"({self._name_and_alias}) Query Binary Values >> {query!r}") try: - response = self._visa_resource.query_binary_values(query) # pyright: ignore + response = self._visa_resource.query_binary_values(query) # pyright: ignore[reportUnknownMemberType] except (visa.VisaIOError, socket.error) as error: pi_cmd_repr = f" for {query!r} " if self._verbose and verbose else " " msg = f"The query{pi_cmd_repr}failed with the following message: {error!r}" @@ -652,7 +652,7 @@ def wait_for_srq_event(self, timeout: int) -> visa.resources.resource.WaitRespon """ # The timeout value is multiplied by 1000 because the function expects milliseconds. return self._visa_resource.wait_on_event( - visa_constants.VI_EVENT_SERVICE_REQ, # type: ignore + visa_constants.VI_EVENT_SERVICE_REQ, # pyright: ignore[reportArgumentType] timeout * 1000, ) @@ -817,7 +817,7 @@ def _cleanup(self) -> None: def _close(self) -> None: """Close this device and all its used resources and components.""" self._visa_resource.close() - self._visa_resource = None # type: ignore + self._visa_resource = None # pyright: ignore[reportAttributeAccessIssue] self._is_open = False def _has_errors(self) -> bool: @@ -831,7 +831,7 @@ def _has_errors(self) -> bool: def _open(self) -> bool: """Open necessary resources and components and return a boolean indicating success.""" opened = True - if self._visa_resource is None: # type: ignore + if self._visa_resource is None: # pyright: ignore[reportUnnecessaryComparison] opened = False # 5 seconds when running unit tests, else 600 seconds (10 minutes) num_seconds_to_attempt_reconnection = ( diff --git a/src/tm_devices/drivers/pi/power_supplies/power_supply.py b/src/tm_devices/drivers/pi/power_supplies/power_supply.py index b2a3a222..3d88325f 100644 --- a/src/tm_devices/drivers/pi/power_supplies/power_supply.py +++ b/src/tm_devices/drivers/pi/power_supplies/power_supply.py @@ -31,7 +31,7 @@ def expect_esr(self, esr: Union[int, str], error_string: str = "") -> Tuple[bool Returns: Boolean indicating if the check passed or failed and a string with the results. """ - return SignalSource.expect_esr(self, esr, error_string) # type: ignore + return SignalSource.expect_esr(self, esr, error_string) # type: ignore[arg-type] def get_eventlog_status(self) -> Tuple[bool, str]: """Help function for getting the eventlog status. @@ -39,4 +39,4 @@ def get_eventlog_status(self) -> Tuple[bool, str]: Returns: Boolean indicating no error, String containing concatenated contents of event log. """ - return SignalSource.get_eventlog_status(self) # type: ignore + return SignalSource.get_eventlog_status(self) # type: ignore[arg-type] diff --git a/src/tm_devices/drivers/pi/scopes/scope.py b/src/tm_devices/drivers/pi/scopes/scope.py index 6236bc17..fb3cfa52 100644 --- a/src/tm_devices/drivers/pi/scopes/scope.py +++ b/src/tm_devices/drivers/pi/scopes/scope.py @@ -24,7 +24,7 @@ def single_sequence(self) -> None: """ # TODO: implement for all driver subclasses then convert to abstractmethod raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) @@ -61,7 +61,7 @@ def curve_query( NotImplementedError: Indicates the current driver has not implemented this method. """ raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/scopes/tso/tsovu.py b/src/tm_devices/drivers/pi/scopes/tso/tsovu.py index 563648d7..b6612118 100644 --- a/src/tm_devices/drivers/pi/scopes/tso/tsovu.py +++ b/src/tm_devices/drivers/pi/scopes/tso/tsovu.py @@ -42,6 +42,6 @@ def _reboot(self) -> None: """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py b/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py index 4a62029b..5d4ae797 100644 --- a/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py +++ b/src/tm_devices/drivers/pi/signal_sources/afgs/afg.py @@ -30,7 +30,7 @@ class AFG(SignalSource, ABC): @property def source_device_constants(self) -> AFGSourceDeviceConstants: """Return the device constants.""" - return self._DEVICE_CONSTANTS # type: ignore + return self._DEVICE_CONSTANTS # type: ignore[attr-defined] @ReadOnlyCachedProperty def total_channels(self) -> int: diff --git a/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py b/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py index 4577842f..bbd89ded 100644 --- a/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py +++ b/src/tm_devices/drivers/pi/signal_sources/awgs/awg.py @@ -1,10 +1,10 @@ """Base AWG device driver module.""" import inspect -import os import struct from abc import ABC from dataclasses import dataclass +from pathlib import Path from typing import Literal, Type from tm_devices.driver_mixins.signal_generator_mixin import SourceDeviceConstants @@ -36,7 +36,7 @@ class AWG(SignalSource, ABC): @property def source_device_constants(self) -> AWGSourceDeviceConstants: """Return the device constants.""" - return self._DEVICE_CONSTANTS # type: ignore + return self._DEVICE_CONSTANTS # type: ignore[attr-defined] @ReadOnlyCachedProperty def total_channels(self) -> int: @@ -93,7 +93,7 @@ def generate_waveform( # noqa: PLR0913 # pyright: ignore[reportIncompatibleMet """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) @@ -122,7 +122,7 @@ def _send_waveform(self, target_file: str) -> None: # pragma: no cover bin_waveform = struct.unpack(">" + str(info_len) + "H", waveform_data) # Turn "path/to/stuff.wfm" into "stuff.wfm". - filename_target = os.path.basename(target_file) + filename_target = Path(target_file).name # Write the waveform data to the AWG memory. string_to_send = 'MMEMORY:DATA "' + filename_target + '",' self._visa_resource.write_binary_values( diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py index add8212a..6ade8ad0 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_interactive.py @@ -42,7 +42,7 @@ def commands( @property def ieee_cmds(self) -> LegacyTSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" - return self._ieee_cmds # type: ignore + return self._ieee_cmds # pyright: ignore[reportReturnType] @ReadOnlyCachedProperty def total_channels(self) -> int: diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py index 24f2f1a8..26fe9c63 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu2400/smu2400_standard.py @@ -59,7 +59,7 @@ def expect_esr(self, esr: Union[int, str], error_string: str = "") -> Tuple[bool Returns: Boolean indicating if the check passed or failed and a string with the results. """ - return SignalSource.expect_esr(self, esr, error_string) # type: ignore + return SignalSource.expect_esr(self, esr, error_string) # type: ignore[arg-type] def get_eventlog_status(self) -> Tuple[bool, str]: """Help function for getting the eventlog status. @@ -67,7 +67,7 @@ def get_eventlog_status(self) -> Tuple[bool, str]: Returns: Boolean indicating no error, String containing concatenated contents of event log. """ - return SignalSource.get_eventlog_status(self) # type: ignore + return SignalSource.get_eventlog_status(self) # type: ignore[arg-type] def run_script(self, script_name: str) -> None: # noqa: ARG002 """Not Implemented.""" diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py b/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py index 4b589f41..9e9d5e4a 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu6000/smu6000.py @@ -61,7 +61,7 @@ def expect_esr(self, esr: Union[int, str], error_string: str = "") -> Tuple[bool Returns: Boolean indicating if the check passed or failed and a string with the results. """ - return SignalSource.expect_esr(self, esr, error_string) # type: ignore + return SignalSource.expect_esr(self, esr, error_string) # type: ignore[arg-type] def get_eventlog_status(self) -> Tuple[bool, str]: """Help function for getting the eventlog status. @@ -69,7 +69,7 @@ def get_eventlog_status(self) -> Tuple[bool, str]: Returns: Boolean indicating no error, String containing concatenated contents of event log. """ - return SignalSource.get_eventlog_status(self) # type: ignore + return SignalSource.get_eventlog_status(self) # type: ignore[arg-type] def run_script(self, script_name: str) -> None: # noqa: ARG002 """Not Implemented.""" @@ -139,6 +139,6 @@ def _reboot(self) -> None: """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py index 6d6ed739..8bff5c70 100644 --- a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py +++ b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py @@ -77,6 +77,6 @@ def _reboot(self) -> None: """ # TODO: implement raise NotImplementedError( - f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore + f"``.{inspect.currentframe().f_code.co_name}()``" # pyright: ignore[reportOptionalMemberAccess] f" is not yet implemented for the {self.__class__.__name__} driver" ) diff --git a/src/tm_devices/drivers/pi/tsp_device.py b/src/tm_devices/drivers/pi/tsp_device.py index 63b83037..5ce01d3e 100644 --- a/src/tm_devices/drivers/pi/tsp_device.py +++ b/src/tm_devices/drivers/pi/tsp_device.py @@ -27,7 +27,7 @@ class TSPDevice(PIDevice, ABC): @property def ieee_cmds(self) -> TSPIEEE4882Commands: """Return an internal class containing methods for the standard IEEE 488.2 command set.""" - return self._ieee_cmds # type: ignore + return self._ieee_cmds # pyright: ignore[reportReturnType] ################################################################################################ # Public Methods diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index 2dcd27a6..a3c7b7f8 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -184,16 +184,16 @@ def __post_init__(self) -> None: # noqa: PLR0912,C901 # (this is the correct way to edit the frozen data) if self.lan_port is not None and isinstance(self.lan_port, str): object.__setattr__(self, "lan_port", int(self.lan_port)) - if not isinstance(self.address, str): # pyright: ignore + if not isinstance(self.address, str): # pyright: ignore[reportUnnecessaryIsInstance] object.__setattr__(self, "address", str(self.address)) # Validate the connection and interface types try: # device and connections are inside this try clause to raise a TypeError on bad values. # Convert them from strings (parsed from config/env) to appropriate enum value. - if not isinstance(self.device_type, DeviceTypes): # pyright: ignore + if not isinstance(self.device_type, DeviceTypes): # pyright: ignore[reportUnnecessaryIsInstance] object.__setattr__(self, "device_type", DeviceTypes(self.device_type)) - if not isinstance(self.connection_type, ConnectionTypes): # pyright: ignore + if not isinstance(self.connection_type, ConnectionTypes): # pyright: ignore[reportUnnecessaryIsInstance] object.__setattr__(self, "connection_type", ConnectionTypes(self.connection_type)) # While a SerialConfig is not frozen, if not created here then it cannot be added later. diff --git a/src/tm_devices/helpers/functions.py b/src/tm_devices/helpers/functions.py index 3a3e1676..4fd3a791 100644 --- a/src/tm_devices/helpers/functions.py +++ b/src/tm_devices/helpers/functions.py @@ -17,6 +17,7 @@ import requests +from dateutil.tz import tzlocal from packaging.version import InvalidVersion, Version from tm_devices.helpers.constants_and_dataclasses import ( @@ -34,7 +35,7 @@ warnings.simplefilter("ignore", UserWarning) import pyvisa as visa - from gpib_ctypes import make_default_gpib # type: ignore + from gpib_ctypes import make_default_gpib # pyright: ignore[reportMissingTypeStubs] from pyvisa import util as pyvisa_util from pyvisa.resources import MessageBasedResource @@ -216,7 +217,7 @@ def create_visa_connection( resource_expression = device_config_entry.get_visa_resource_expression() try: # noinspection PyTypeChecker - visa_object: MessageBasedResource = visa.ResourceManager( # type: ignore + visa_object: MessageBasedResource = visa.ResourceManager( # pyright: ignore[reportAssignmentType] visa_library ).open_resource(resource_expression) # Print a warning if PyVISA-py is used when the user didn't specify STANDALONE @@ -237,7 +238,7 @@ def create_visa_connection( time.sleep(60) # wait 60 seconds and try again try: # noinspection PyTypeChecker - visa_object: MessageBasedResource = visa.ResourceManager( # type: ignore + visa_object: MessageBasedResource = visa.ResourceManager( # pyright: ignore[reportAssignmentType] visa_library ).open_resource(resource_expression) # The broad except is because pyvisa_py can throw a base exception in the tcpip.py file @@ -390,7 +391,7 @@ def get_model_series(model: str) -> str: # noqa: PLR0912,C901,PLR0915 def get_timestamp_string() -> str: """Return a string containing the current timestamp.""" - return str(datetime.datetime.now())[:-3] + return str(datetime.datetime.now(tz=tzlocal()))[:-3] def get_version(version_string: str) -> Version: diff --git a/src/tm_devices/helpers/stubgen.py b/src/tm_devices/helpers/stubgen.py index 5fe87aa3..70f4d770 100644 --- a/src/tm_devices/helpers/stubgen.py +++ b/src/tm_devices/helpers/stubgen.py @@ -3,6 +3,7 @@ import os import re +from pathlib import Path from typing import Any, List _TYPING_IMPORT_REGEX = re.compile(r"typing\.([a-zA-Z]+)") @@ -43,16 +44,15 @@ def add_info_to_stub(cls: Any, method: Any, is_property: bool = False) -> None: """ if stub_dir := os.getenv("TM_DEVICES_STUB_DIR"): method_filepath = inspect.getfile(cls) - stub_dir = ( - os.path.join(stub_dir, "tm_devices") - if not stub_dir.endswith("tm_devices") - else stub_dir + stub_dir = str( + Path(stub_dir) / "tm_devices" if not stub_dir.endswith("tm_devices") else stub_dir ) - method_filepath = os.path.join( - stub_dir, method_filepath.rsplit("tm_devices", maxsplit=1)[-1].lstrip(os.path.sep) + method_filepath = str( + Path(stub_dir) + / method_filepath.rsplit("tm_devices", maxsplit=1)[-1].lstrip(os.path.sep) ) method_filepath += "i" # stub files have the .pyi extension - if not os.path.exists(method_filepath): + if not os.path.exists(method_filepath): # noqa: PTH110 msg = ( f'The stub file "{method_filepath}" must already exist in order to use this ' f"functionality to add method stubs." diff --git a/tests/conftest.py b/tests/conftest.py index 5b86e5c4..b4cb4200 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,6 +2,7 @@ import os import socket +from pathlib import Path from typing import Generator, List, Tuple from unittest import mock @@ -17,8 +18,8 @@ # Make sure to not use any local config files os.environ[DMConfigParser.CONFIG_FILE_PATH_ENV_VARIABLE] = "" -PROJECT_ROOT_DIR = f"{os.path.dirname(os.path.dirname(__file__))}" -SIMULATED_VISA_LIB = f"{os.path.dirname(__file__)}/sim_devices/devices.yaml@sim" +PROJECT_ROOT_DIR = Path(__file__).parent.parent +SIMULATED_VISA_LIB = str(Path(__file__).parent / "sim_devices/devices.yaml@sim") def mock_gethostbyname(address: str) -> str: @@ -93,5 +94,5 @@ def _fixture_mock_http_server() -> ( # pyright: ignore [reportUnusedFunction] Yields: The HTTP server instance. """ - with mocker_server.run("127.0.0.1", PORT): # pyright: ignore + with mocker_server.run("127.0.0.1", PORT): # pyright: ignore[reportUnknownMemberType] yield diff --git a/tests/mock_server.py b/tests/mock_server.py index d962cd67..a60e6b6f 100644 --- a/tests/mock_server.py +++ b/tests/mock_server.py @@ -4,7 +4,7 @@ from typing import Any, Dict from flask import request -from http_server_mock import HttpServerMock # type: ignore +from http_server_mock import HttpServerMock # pyright: ignore[reportMissingTypeStubs] from tm_devices.drivers.api.rest_api.rest_api_device import SupportedRequestTypes diff --git a/tests/test_afgs.py b/tests/test_afgs.py index a48c1468..4798ad21 100644 --- a/tests/test_afgs.py +++ b/tests/test_afgs.py @@ -107,7 +107,7 @@ def test_afg3kc(device_manager: DeviceManager) -> None: ): afg3kc.generate_waveform( 25e6, - afg3kc.source_device_constants.functions.PULSE.value, # type: ignore + afg3kc.source_device_constants.functions.PULSE.value, # pyright: ignore[reportArgumentType] 1.0, 0.0, "all", diff --git a/tests/test_auto_generated_commands.py b/tests/test_auto_generated_commands.py index 04991aa7..37c80e06 100644 --- a/tests/test_auto_generated_commands.py +++ b/tests/test_auto_generated_commands.py @@ -11,14 +11,14 @@ from tm_devices import commands -with open(os.path.dirname(__file__) + "/auto_gen_cmds_list.json", encoding="utf-8") as file_pointer: +with open(Path(__file__).parent / "auto_gen_cmds_list.json", encoding="utf-8") as file_pointer: json_dict = json.load(file_pointer) MASTER_COMMAND_SET: Set[str] = set(json_dict["commands"]) def get_driver_command_list() -> List[str]: """Return a list of all auto-generated files with command definitions.""" - commands_dir = os.path.dirname(commands.__file__) + commands_dir = Path(commands.__file__).parent auto_generated_file_list = [Path(x) for x in glob.glob(f"{commands_dir}/**", recursive=True)] auto_generated_file_list = list( filter( diff --git a/tests/test_config_parser.py b/tests/test_config_parser.py index cd710185..90c9c6b1 100644 --- a/tests/test_config_parser.py +++ b/tests/test_config_parser.py @@ -1,7 +1,6 @@ # pyright: reportPrivateUsage=none """Tests for the config_parser.py file.""" -import os - +from pathlib import Path from types import MappingProxyType from typing import Dict, Mapping, Optional, Type from unittest import mock @@ -166,7 +165,7 @@ def test_file_config_default_path() -> None: ), } with mock.patch.dict("os.environ", {}, clear=True), mock.patch( - "os.path.isfile", mock.MagicMock(return_value=True) + "pathlib.Path.is_file", mock.MagicMock(return_value=True) ), mock.patch("builtins.open", mock.mock_open(read_data=file_contents)): config = DMConfigParser() @@ -181,18 +180,12 @@ def test_file_config_default_path() -> None: [ # test with toml ( - { - "TM_DEVICES_CONFIG": f"{os.path.dirname(os.path.abspath(__file__))}/" - f"samples/sample_devices.toml" - }, + {"TM_DEVICES_CONFIG": str(Path(__file__).parent / "samples/sample_devices.toml")}, DMConfigParser.FileType.TOML, ), # test with yaml ( - { - "TM_DEVICES_CONFIG": f"{os.path.dirname(os.path.abspath(__file__))}/" - f"samples/sample_devices.yaml" - }, + {"TM_DEVICES_CONFIG": str(Path(__file__).parent / "samples/sample_devices.yaml")}, DMConfigParser.FileType.YAML, ), ], @@ -366,12 +359,7 @@ def test_invalid_config_creation_from_file() -> None: """Test loading a config file with an invalid option.""" with mock.patch.dict( "os.environ", - { - "TM_DEVICES_CONFIG": ( - f"{os.path.dirname(os.path.abspath(__file__))}/" - f"samples/invalid_config_option.yaml" - ) - }, + {"TM_DEVICES_CONFIG": str(Path(__file__).parent / "samples/invalid_config_option.yaml")}, clear=True, ): with pytest.raises(KeyError) as error: diff --git a/tests/test_device_manager.py b/tests/test_device_manager.py index 78c8b80a..368434d8 100644 --- a/tests/test_device_manager.py +++ b/tests/test_device_manager.py @@ -1,10 +1,15 @@ # pyright: reportUnusedFunction=none +# pyright: reportUnknownMemberType=none +# pyright: reportAttributeAccessIssue=none +# pyright: reportUnknownVariableType=none +# pyright: reportArgumentType=none """Tests for the device_manager.py file.""" import contextlib import os import subprocess import sys +from pathlib import Path from typing import Generator, Iterator, List from unittest import mock @@ -253,20 +258,18 @@ def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... def already_exists(self) -> None: """Return nothing.""" ''' - sub_filepath = os.path.join("drivers", "device.pyi") - generated_stub_dir = os.path.join( - os.path.dirname(__file__), - "samples", - "generated_stubs", - f"output_{sys.version_info.major}{sys.version_info.minor}", - "tm_devices", + sub_filepath = Path("drivers/device.pyi") + generated_stub_dir = ( + Path(__file__).parent + / "samples/generated_stubs" + / f"output_{sys.version_info.major}{sys.version_info.minor}/tm_devices" ) - generated_stub_file = os.path.join(generated_stub_dir, sub_filepath) - golden_stub_dir = os.path.join(os.path.dirname(__file__), "samples", "golden_stubs") - os.makedirs(os.path.dirname(generated_stub_file), exist_ok=True) + generated_stub_file = generated_stub_dir / sub_filepath + golden_stub_dir = Path(__file__).parent / "samples" / "golden_stubs" + generated_stub_file.parent.mkdir(parents=True, exist_ok=True) with open(generated_stub_file, "w", encoding="utf-8") as generated_file: generated_file.write(initial_input) - with mock.patch.dict("os.environ", {"TM_DEVICES_STUB_DIR": generated_stub_dir}): + with mock.patch.dict("os.environ", {"TM_DEVICES_STUB_DIR": str(generated_stub_dir)}): # noinspection PyUnusedLocal,PyShadowingNames @Device.add_property(is_cached=True) def inc_cached_count(self: Device) -> int: # noqa: ARG001 @@ -303,20 +306,20 @@ def custom_list(self: Device) -> List[str]: """Return the model and serial in a list.""" return [self.model, self.serial] - @Device.add_method # type: ignore + @Device.add_method def custom_return_none() -> None: """Return nothing. This has a multi-line description. """ - @Device.add_method # type: ignore + @Device.add_method def already_exists() -> None: """Return nothing.""" with pytest.raises(AssertionError): - @Scope.add_method # type: ignore + @Scope.add_method def custom_return() -> None: """Return nothing.""" @@ -348,7 +351,7 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: ############################################################################################ start_dir = os.getcwd() try: - os.chdir(os.path.dirname(generated_stub_file)) + os.chdir(generated_stub_file.parent) subprocess.check_call( [ # noqa: S603 sys.executable, @@ -356,7 +359,7 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: "ruff", "format", "--quiet", - os.path.basename(generated_stub_file), + generated_stub_file.name, ] ) subprocess.check_call( @@ -368,12 +371,12 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: "check", "--select=I", "--fix", - os.path.basename(generated_stub_file), + generated_stub_file.name, ] ) finally: os.chdir(start_dir) - with open(os.path.join(golden_stub_dir, sub_filepath), encoding="utf-8") as golden_file: + with open(golden_stub_dir / sub_filepath, encoding="utf-8") as golden_file: golden_contents = golden_file.read() with open(generated_stub_file, encoding="utf-8") as generated_file: generated_contents = generated_file.read() @@ -382,32 +385,30 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: # Test the custom added properties afg = device_manager.add_afg("afg3kc-hostname", alias="testing") # noinspection PyUnresolvedReferences - assert afg.class_name == "AFG3KC" # type: ignore + assert afg.class_name == "AFG3KC" # noinspection PyUnresolvedReferences - _ = afg.inc_cached_count # type: ignore + _ = afg.inc_cached_count # noinspection PyUnresolvedReferences - assert afg.inc_cached_count == 1, "cached property is not working" # type: ignore + assert afg.inc_cached_count == 1, "cached property is not working" # noinspection PyUnresolvedReferences - _ = afg.inc_count # type: ignore + _ = afg.inc_count # noinspection PyUnresolvedReferences - assert afg.inc_count == 3, "uncached property is not working" # type: ignore + assert afg.inc_count == 3, "uncached property is not working" # Test the custom added methods # noinspection PyUnresolvedReferences - assert afg.custom_model_getter("a", "b", "c", 0.1) == ( # type: ignore - "Device AFG3252C a b c 0.1" - ) + assert afg.custom_model_getter("a", "b", "c", 0.1) == "Device AFG3252C a b c 0.1" # noinspection PyUnresolvedReferences - assert afg.custom_model_getter_ss("hello") == "SignalSource AFG3252C hello" # type: ignore + assert afg.custom_model_getter_ss("hello") == "SignalSource AFG3252C hello" # noinspection PyUnresolvedReferences - assert afg.custom_model_getter_afg("hello") == "AFG AFG3252C hello" # type: ignore + assert afg.custom_model_getter_afg("hello") == "AFG AFG3252C hello" # noinspection PyUnresolvedReferences - assert afg.custom_model_getter_afg3k("hello") == "AFG3K AFG3252C hello" # type: ignore + assert afg.custom_model_getter_afg3k("hello") == "AFG3K AFG3252C hello" # noinspection PyUnresolvedReferences - assert afg.custom_model_getter_afg3kc("hello") == "AFG3KC AFG3252C hello" # type: ignore + assert afg.custom_model_getter_afg3kc("hello") == "AFG3KC AFG3252C hello" with pytest.raises(AttributeError): # noinspection PyUnresolvedReferences - afg.custom_model_getter_scope("hello") # type: ignore + afg.custom_model_getter_scope("hello") # Test VISA methods assert afg.set_and_check("OUTPUT1:STATE", "1", custom_message_prefix="Custom prefix") == "1" @@ -618,7 +619,7 @@ def test_deleting_device_manager(self) -> None: num_closes = 3 args = [ sys.executable, - f"{os.path.dirname(__file__)}/validate_device_manager_delete.py", + str(Path(__file__).parent / "validate_device_manager_delete.py"), ] stdout = subprocess.check_output(args).decode("utf-8") # noqa: S603 @@ -643,9 +644,7 @@ def test_loading_isolated_config_file( assert len(device_manager.devices) == 1 _ = capsys.readouterr() # clear the output - device_manager.load_config_file( - f"{os.path.dirname(os.path.abspath(__file__))}/samples/simulated_config.yaml" - ) + device_manager.load_config_file(Path(__file__).parent / "samples/simulated_config.yaml") assert len(device_manager.devices) == 3 stdout = capsys.readouterr().out assert "Beginning Device Cleanup on AFG " in stdout @@ -655,7 +654,7 @@ def test_loading_isolated_config_file( device_manager.remove_all_devices() _ = capsys.readouterr() # clear the output device_manager.load_config_file( - f"{os.path.dirname(os.path.abspath(__file__))}/samples/simulated_config_no_cleanup.yaml" + Path(__file__).parent / "samples/simulated_config_no_cleanup.yaml" ) assert len(device_manager.devices) == 3 stdout = capsys.readouterr().out @@ -666,7 +665,7 @@ def test_loading_isolated_config_file( device_manager.remove_all_devices() _ = capsys.readouterr() # clear the output device_manager.load_config_file( - f"{os.path.dirname(os.path.abspath(__file__))}/samples/simulated_config_no_devices.yaml" + Path(__file__).parent / "samples/simulated_config_no_devices.yaml" ) assert not device_manager.devices stdout = capsys.readouterr().out diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 921fff1e..69350e57 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -11,9 +11,11 @@ from typing import Any, ClassVar, Dict, List, Optional, Tuple from unittest import mock +import dateutil.parser import pytest import pyvisa as visa +from dateutil.tz import tzlocal from packaging.version import InvalidVersion, Version from requests import Response @@ -166,14 +168,14 @@ def test_print_with_timestamp() -> None: """Test the print_with_timestamp helper function.""" stdout = StringIO() with redirect_stdout(stdout): - now = datetime.datetime.now() + now = datetime.datetime.now(tz=tzlocal()) print_with_timestamp("message") message = stdout.getvalue() message_parts = message.split(" - ") assert len(message_parts) == 2 assert message_parts[1] == "message\n" - parsed_datetime = datetime.datetime.strptime(message_parts[0].strip(), "%Y-%m-%d %H:%M:%S.%f") + parsed_datetime = dateutil.parser.parse(message_parts[0].strip()) allowed_difference = datetime.timedelta( days=0, hours=0, diff --git a/tests/test_margin_testers.py b/tests/test_margin_testers.py index 71a81275..28991cf7 100644 --- a/tests/test_margin_testers.py +++ b/tests/test_margin_testers.py @@ -1,7 +1,6 @@ # pyright: reportPrivateUsage=none """Unit tests for tmt4.py.""" -import os - +from pathlib import Path from unittest import mock import pytest @@ -12,9 +11,7 @@ from tm_devices import DeviceManager from tm_devices.drivers.api.rest_api.margin_testers.margin_tester import MarginTester -AUTH_TOKEN_FILE_PATH = ( - f"{os.path.dirname(os.path.abspath(__file__))}/samples/token.auth_token_file_path" # nosec -) +AUTH_TOKEN_FILE_PATH = f"{Path(__file__).parent}/samples/token.auth_token_file_path" # nosec ################################################################################################ @@ -57,7 +54,7 @@ def test_margin_tester(tmt4: MarginTester, device_manager: DeviceManager) -> Non # cover what happens when there is a string in the fw_version/fpga_version field with mock.patch.dict( - tmt4._about_info, # noqa: SLF001 # pyright: ignore + tmt4._about_info, # type: ignore[attr-defined] # noqa: SLF001 {"fpga_version": "UNIT TEST STRING", "fw_version": "UNIT TEST STRING"}, ): assert tmt4.fw_version == Version("0") diff --git a/tests/test_rest_api_device.py b/tests/test_rest_api_device.py index 04b1a787..b11572c5 100644 --- a/tests/test_rest_api_device.py +++ b/tests/test_rest_api_device.py @@ -160,7 +160,7 @@ def test_unsupported_request_type(rest_api_device: CustomRestApiDevice) -> None: """ with pytest.raises(ValueError, match="UNSUPPORTED is an unsupported request type."): rest_api_device._send_request( # noqa: SLF001 - request_type="UNSUPPORTED", # type: ignore + request_type="UNSUPPORTED", # type: ignore[arg-type] url="/api", ) diff --git a/tests/test_scopes.py b/tests/test_scopes.py index eec81df7..27c93ce5 100644 --- a/tests/test_scopes.py +++ b/tests/test_scopes.py @@ -132,7 +132,7 @@ def test_tekscope(device_manager: DeviceManager) -> None: # noqa: PLR0915 ): scope.generate_waveform( 25e6, - scope.source_device_constants.functions.PULSE.value, # type: ignore + scope.source_device_constants.functions.PULSE.value, # pyright: ignore[reportArgumentType] 1.0, 0.0, "all", @@ -334,7 +334,7 @@ def test_long_device_name(device_manager: DeviceManager) -> None: assert scope.all_channel_names_list == () # noinspection PyUnresolvedReferences - assert scope.custom_mso5_method("test-value") == ( # type: ignore + assert scope.custom_mso5_method("test-value") == ( # pyright: ignore[reportUnknownMemberType,reportAttributeAccessIssue] "This is a custom method for the LONGNAMEINSTRUMENT device. value='test-value'" ) diff --git a/tests/test_smu.py b/tests/test_smu.py index 7e2f4f66..a9088a16 100644 --- a/tests/test_smu.py +++ b/tests/test_smu.py @@ -4,6 +4,7 @@ import socket import sys +from pathlib import Path from typing import cast from unittest import mock @@ -47,7 +48,7 @@ def test_smu( # noqa: PLR0915 assert "Query" in stdout smu.load_script( - file_path=f"{os.path.dirname(os.path.realpath(__file__))}/samples/tsp_script.py", + file_path=f"{Path(os.path.realpath(__file__)).parent}/samples/tsp_script.py", run_script=True, to_nv_memory=True, ) @@ -59,7 +60,7 @@ def test_smu( # noqa: PLR0915 assert "loadfuncs()" in stdout smu.expect_esr(0) smu.load_script( - file_path=f"{os.path.dirname(os.path.realpath(__file__))}/samples/tsp_script.py", + file_path=f"{Path(os.path.realpath(__file__)).parent}/samples/tsp_script.py", script_name="tsp_function", ) stdout = capsys.readouterr().out @@ -214,7 +215,7 @@ def test_smu( # noqa: PLR0915 filepath = f"./temp_test_{sys.version_info.major}{sys.version_info.minor}.csv" try: smu.write_buffers(filepath, "smua.nvbuffer1") - assert os.path.exists(filepath) + assert os.path.exists(filepath) # noqa: PTH110 with open(filepath, encoding="utf-8") as file: lines = file.readlines() for index, value in enumerate(["smua.nvbuffer1", "1.0", "2.0", "3.0", "4.0", "5.0"]): diff --git a/tests/verify_physical_device_support.py b/tests/verify_physical_device_support.py index 696b271a..6bd16e5b 100644 --- a/tests/verify_physical_device_support.py +++ b/tests/verify_physical_device_support.py @@ -6,10 +6,12 @@ """ import os +from pathlib import Path + from tm_devices import DeviceManager if __name__ == "__main__": - os.environ["TM_DEVICES_CONFIG"] = f"{os.path.dirname(__file__)}/verify_devices.yaml" + os.environ["TM_DEVICES_CONFIG"] = f"{Path(__file__).parent}/verify_devices.yaml" with DeviceManager(verbose=False) as device_manager: device_manager.setup_cleanup_enabled = False From 1602ca7b45769b2265a3429b4283b3e8083a6aaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 16:44:11 -0800 Subject: [PATCH 46/50] gh-actions(deps): Bump the gh-actions-dependencies group with 1 update (#133) * gh-actions(deps): Bump the gh-actions-dependencies group with 1 update Bumps the gh-actions-dependencies group with 1 update: [hynek/build-and-inspect-python-package](https://github.com/hynek/build-and-inspect-python-package). Updates `hynek/build-and-inspect-python-package` from 2.0.0 to 2.0.1 - [Release notes](https://github.com/hynek/build-and-inspect-python-package/releases) - [Changelog](https://github.com/hynek/build-and-inspect-python-package/blob/main/CHANGELOG.md) - [Commits](https://github.com/hynek/build-and-inspect-python-package/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: hynek/build-and-inspect-python-package dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] * ci: Update some development dependencies and pre-commit hooks to prevent false failures. * ci: Lock version of black used for all pre-commit hooks that use black. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Felt --- .github/workflows/package-build.yml | 2 +- .github/workflows/package-release.yml | 2 +- .github/workflows/package-testpypi.yml | 2 +- .pre-commit-config.yaml | 2 ++ README.rst | 5 +---- pyproject.toml | 6 +----- 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index 7d6cd359..fb055820 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: hynek/build-and-inspect-python-package@v2.0.0 + - uses: hynek/build-and-inspect-python-package@v2.0.1 id: build-pkg - name: Set up Python uses: actions/setup-python@v5 diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index dc7aba5b..653d093a 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -73,7 +73,7 @@ jobs: ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow fetch-depth: 0 - name: Build package - uses: hynek/build-and-inspect-python-package@v2.0.0 + uses: hynek/build-and-inspect-python-package@v2.0.1 upload-testpypi: name: Upload package to TestPyPI needs: [pypi-build] diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 44a0ce4b..b18a84b5 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -32,7 +32,7 @@ jobs: python scripts/project_version.py --set-version=$NEW_VERSION echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT - name: Build package - uses: hynek/build-and-inspect-python-package@v2.0.0 + uses: hynek/build-and-inspect-python-package@v2.0.1 outputs: built-version: ${{ steps.create-version.outputs.NEW_VERSION }} test-pypi-upload: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a3ffe4db..1f6115d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,6 +50,7 @@ repos: hooks: - id: blacken-docs files: \.(rst|md|markdown|tex)$ + additional_dependencies: [black==23.12.1] # This may need to be updated/removed in the future once ruff supports formatting python code blocks in markdown - repo: https://github.com/lyz-code/yamlfix rev: 1.16.0 hooks: @@ -66,6 +67,7 @@ repos: - mdformat-frontmatter - mdformat-beautysh - mdformat-black + - black==23.12.1 # This may need to be updated/removed in the future once ruff supports formatting python code blocks in markdown - mdformat-config - mdformat-shfmt - mdformat-web diff --git a/README.rst b/README.rst index d6d13625..ca12158f 100644 --- a/README.rst +++ b/README.rst @@ -22,7 +22,7 @@ * - Documentation - |GitHub Pages status| * - Code Style - - |Test style: pytest| |Code style: ruff| |Imports: isort| |Docstring style: google| + - |Test style: pytest| |Code style: ruff| |Docstring style: google| * - Linting - |pre-commit enabled| |Docstring formatter: docformatter| |Type Checker: pyright| |Linter: pylint| |Linter: Ruff| @@ -77,9 +77,6 @@ .. |Code style: ruff| image:: https://img.shields.io/badge/code%20style-ruff-black :target: https://docs.astral.sh/ruff/formatter/ -.. |Imports: isort| image:: https://img.shields.io/badge/imports-isort-black - :target: https://pycqa.github.io/isort/ - .. |Docstring formatter: docformatter| image:: https://img.shields.io/badge/docstring%20formatter-docformatter-tan :target: https://github.com/PyCQA/docformatter diff --git a/pyproject.toml b/pyproject.toml index 81f4afdc..5011797d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -99,17 +99,13 @@ docformatter = {extras = ["tomli"], version = "==1.7.0"} # can't update due to flask = ">=2.2.2" graphviz = ">=0.20.1" http-server-mock = ">=1.7" -isort = ">=5.12.0" -mdformat-black = ">=0.1.1" -mdformat-myst = ">=0.1.5" -mdformat-toc = ">=0.3.0" myst-parser = ">=0.19.1" pip = ">=22.0" poetry = ">=1.5.1" pre-commit = ">=2.20.0" pre-commit-update = ">=0.1.3" pylint = {extras = ["spelling"], version = "3.0.3"} # Update this by running scripts/update_development_dependencies.py -pyright = "1.1.348" # Update this by running scripts/update_development_dependencies.py +pyright = "1.1.349" # Update this by running scripts/update_development_dependencies.py pyroma = ">=4.2" pytest = ">=7.1.2" pytest-cov = ">=3.0.0" From 4467e14a51df56f595c4d1180a51a065c6bb601a Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Tue, 30 Jan 2024 12:35:45 -0800 Subject: [PATCH 47/50] fix: Update the function that detects a VISA resource expression to work properly for SOCKET resource expressions. (#134) --- CHANGELOG.md | 4 ++++ src/tm_devices/device_manager.py | 6 +++++ .../helpers/constants_and_dataclasses.py | 2 +- src/tm_devices/helpers/enums.py | 9 ++++---- src/tm_devices/helpers/functions.py | 22 ++++++++++++------- .../test_alternative_connection_addresses.py | 6 +++++ tests/test_helpers.py | 4 ++++ 7 files changed, 39 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d34b5b4f..7292bfe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,10 @@ Things to be included in the next release go here. - Updated the version of `python-semantic-release` that is used to avoid needing to store a copy of the previous changelog in the repo. - Pinned the linters (ruff, pyright, pylint, docformatter) to specific versions to reduce failures when updates are released that add new rules or break existing rules. +### Fixed + +- Fixed the code that detects VISA resource expressions to be able to detect SOCKET resource expressions properly. + ______________________________________________________________________ ## v1.1.0 (2023-12-07) diff --git a/src/tm_devices/device_manager.py b/src/tm_devices/device_manager.py index dd016136..5c53ecaa 100644 --- a/src/tm_devices/device_manager.py +++ b/src/tm_devices/device_manager.py @@ -1196,6 +1196,12 @@ def _add_device( # noqa: PLR0913 if (visa_resource_parts := detect_visa_resource_expression(address)) is not None: connection_type = visa_resource_parts[0] address = visa_resource_parts[1] + if ( + connection_type == ConnectionTypes.SOCKET.value + and len(address_parts := address.split(":", maxsplit=1)) > 1 + ): + address = address_parts[0] + port = int(address_parts[1]) # Device Manager uses all caps for key mappings to device drivers and aliases config_dict: dict[str, Optional[Union[str, int, SerialConfig]]] = { diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index a3c7b7f8..32a3cdeb 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -430,7 +430,7 @@ def __str__(self) -> str: """str: Constant string with the name of this package.""" VISA_RESOURCE_EXPRESSION_REGEX: Final = re.compile( - r"^(\w+)(?:::0X\w+)?::([-.\w]+)(?:::(\w+))?(?:::INST0?)?::INSTR?$" + r"^(\w+)(?:::0X\w+)?::([-.\w]+)(?:::(\w+))?(?:::INST0?)?::(INSTR?|SOCKET)$" ) """re.Pattern[str]: A regex pattern used to capture pieces of VISA resource expressions.""" diff --git a/src/tm_devices/helpers/enums.py b/src/tm_devices/helpers/enums.py index 710b674b..35e0660d 100644 --- a/src/tm_devices/helpers/enums.py +++ b/src/tm_devices/helpers/enums.py @@ -1,6 +1,5 @@ """Module containing Enums for the tm_devices package.""" from enum import Enum -from types import DynamicClassAttribute from typing import cast, List @@ -10,13 +9,13 @@ class CustomStrEnum(Enum): This class provides better type hinting for the value property. """ - @DynamicClassAttribute - def name(self) -> str: # pylint: disable=function-redefined + @property + def name(self) -> str: # pylint: disable=function-redefined,invalid-overridden-method """Return the name of the Enum member.""" return self._name_ # pylint: disable=no-member - @DynamicClassAttribute - def value(self) -> str: + @property + def value(self) -> str: # pylint: disable=invalid-overridden-method """Return the value of the Enum member.""" return cast(str, self._value_) # pylint: disable=no-member diff --git a/src/tm_devices/helpers/functions.py b/src/tm_devices/helpers/functions.py index 4fd3a791..f08a3386 100644 --- a/src/tm_devices/helpers/functions.py +++ b/src/tm_devices/helpers/functions.py @@ -265,7 +265,8 @@ def detect_visa_resource_expression(input_str: str) -> Optional[Tuple[str, str]] The pieces consist of: - The connection type, e.g. TCPIP. - - The address of the device, an IP address, hostname, or + - The address of the device, an IP address + (with port separated by a colon for SOCKET connections), hostname, or string in the format ``model-serial``. Args: @@ -276,11 +277,11 @@ def detect_visa_resource_expression(input_str: str) -> Optional[Tuple[str, str]] """ retval: Optional[Tuple[str, str]] = None if input_str.upper().startswith("ASRL"): - retval = ("SERIAL", input_str[4:].split("::", 1)[0]) + retval = (ConnectionTypes.SERIAL.value, input_str[4:].split("::", 1)[0]) elif (match := VISA_RESOURCE_EXPRESSION_REGEX.search(input_str.upper())) is not None: match_groups_list = list(filter(None, match.groups())) - for unneeded_part in ("INST", "INST0"): - if unneeded_part in match_groups_list: + for unneeded_part in ("INST", "INST0", "INSTR"): + while unneeded_part in match_groups_list: match_groups_list.remove(unneeded_part) # Check if the model is in the USB model lookup filtered_usb_model_keys = [ @@ -291,12 +292,18 @@ def detect_visa_resource_expression(input_str: str) -> Optional[Tuple[str, str]] if filtered_usb_model_keys: # SMU and PSU need to be removed from the string to prevent issues match_groups_list[1] = filtered_usb_model_keys[0].replace("SMU", "").replace("PSU", "") - retval = (match_groups_list[0].rstrip("0"), "-".join(match_groups_list[1:]).lstrip("0X")) + if match_groups_list[-1] == ConnectionTypes.SOCKET.value: + retval = (match_groups_list[-1], ":".join(match_groups_list[1:3])) + else: + retval = ( + match_groups_list[0].rstrip("0"), + "-".join(match_groups_list[1:]).lstrip("0X"), + ) return retval # pylint: disable=too-many-branches -def get_model_series(model: str) -> str: # noqa: PLR0912,C901,PLR0915 +def get_model_series(model: str) -> str: # noqa: PLR0912,C901 """Get the series string from the full model number. Args: @@ -331,10 +338,9 @@ def get_model_series(model: str) -> str: # noqa: PLR0912,C901,PLR0915 model_beginning = "" model_end = "" if re.search("[0-9]", model): # if the model contains numbers - model_end = re.split(r"\d+", model)[-1] # split on the occurence of each number + model_end = re.split(r"\d+", model)[-1] # split on the occurrence of each number if len(model_end) == 1 and model_end not in valid_model_endings: model_end = "" - model_beginning = "" if model_numbers := re.findall(r"\d+", model): model_number = int(model_numbers[0]) if model.startswith("MODEL") or all(x.isdigit() for x in model.rstrip(model_end)): diff --git a/tests/test_alternative_connection_addresses.py b/tests/test_alternative_connection_addresses.py index a48ce2c5..524e1e94 100644 --- a/tests/test_alternative_connection_addresses.py +++ b/tests/test_alternative_connection_addresses.py @@ -108,6 +108,12 @@ None, ("SERIAL", "SMU2614B", "Model 2614B", "4498311"), ), + ( + "TCPIP::AFG3KC-HOSTNAME::10001::SOCKET", + "AFG", + None, + ("SOCKET", "AFG3KC", "AFG3252C", "SERIAL1"), + ), ], ) def test_alternative_connection_methods( diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 69350e57..916b67b2 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -429,6 +429,10 @@ def test_get_visa_backend() -> None: ("TCPIP0::127.0.0.9::inst0::INSTR", ("TCPIP", "127.0.0.9")), ("TCPIP::127.0.0.9::inst::INST", ("TCPIP", "127.0.0.9")), ("USB0::0x0699::0x0522::SERIAL1::INSTR", ("USB", "MSO5-SERIAL1")), + ("TCPIP0::127.0.0.9::4000::SOCKET", ("SOCKET", "127.0.0.9:4000")), + ("GPIB0::1::INSTR", ("GPIB", "1")), + ("ASRL1::INSTR", ("SERIAL", "1")), + ("MOCK0::127.0.0.9::INSTR", ("MOCK", "127.0.0.9")), ], ) def test_detect_visa_resource_expression( From fb84738a238bc9870b5f7d6d5f4ea30a08ad369e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 09:47:40 -0800 Subject: [PATCH 48/50] python-deps(deps): Bump the python-dependencies group with 1 update (#136) * python-deps(deps): Bump the python-dependencies group with 1 update Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version. Updates `ruff` to 0.1.15 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.1.14...v0.1.15) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production dependency-group: python-dependencies ... Signed-off-by: dependabot[bot] * ci: Update pre-commit hook versions. Also update the script that is used to update the python dependencies to format the toml file when it is done updating things. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Felt --- .pre-commit-config.yaml | 6 +++--- pyproject.toml | 2 +- scripts/update_development_dependencies.py | 15 +++++++++++---- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1f6115d9..cb8f808f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,14 +34,14 @@ repos: - id: remove-tabs - id: forbid-tabs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.27.3 + rev: 0.27.4 hooks: - id: check-readthedocs - id: check-dependabot - id: check-github-actions - id: check-github-workflows - repo: https://github.com/commitizen-tools/commitizen - rev: v3.13.0 + rev: v3.14.0 hooks: - id: commitizen stages: [commit-msg] @@ -125,7 +125,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.14 + rev: v0.1.15 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/pyproject.toml b/pyproject.toml index 5011797d..481c4192 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -113,7 +113,7 @@ pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" python-semantic-release = ">=8.5.1" -ruff = "0.1.14" # Update this by running scripts/update_development_dependencies.py +ruff = "0.1.15" # Update this by running scripts/update_development_dependencies.py safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" sphinx-copybutton = ">=0.5.1" diff --git a/scripts/update_development_dependencies.py b/scripts/update_development_dependencies.py index af25c9c8..009916bf 100644 --- a/scripts/update_development_dependencies.py +++ b/scripts/update_development_dependencies.py @@ -40,6 +40,8 @@ def main() -> None: """Run the script to update the development dependencies.""" script_location = Path(__file__) python_executable = sys.executable + python_script_location = Path(python_executable).parent + repository_root_directory = script_location.parent.parent latest_dependency_versions: List[str] = [] # Get the latest versions for each of the dependencies to update @@ -49,18 +51,23 @@ def main() -> None: # Update dependencies in pyproject.toml using poetry dependencies = " ".join(f'"{x}"' for x in latest_dependency_versions) - _run_cmd_in_subprocess(f"{python_executable} -m poetry add --group=dev {dependencies}") + _run_cmd_in_subprocess(f'"{python_executable}" -m poetry add --group=dev {dependencies}') # Run poetry update - _run_cmd_in_subprocess(f"{python_executable} -m poetry update") + _run_cmd_in_subprocess(f'"{python_executable}" -m poetry update') # Update pre-commit config file - _run_cmd_in_subprocess(python_executable.rsplit("python", maxsplit=1)[-0] + "pre-commit-update") + _run_cmd_in_subprocess(f'"{python_script_location}/pre-commit-update"') # Fix the formatting of the pre-commit config file with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) - fix_files([f"{script_location.parent.parent}/.pre-commit-config.yaml"]) + fix_files([f"{repository_root_directory}/.pre-commit-config.yaml"]) + + # Fix the formatting of the pyproject.toml file + _run_cmd_in_subprocess( + f'"{python_script_location}/toml-sort" "{repository_root_directory}/pyproject.toml"' + ) if __name__ == "__main__": From 5bfc7fb331e5cd622ff575c46bbd0b9d13466e5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 01:18:20 +0000 Subject: [PATCH 49/50] gh-actions(deps): Bump the gh-actions-dependencies group with 1 update (#138) Bumps the gh-actions-dependencies group with 1 update: [nick-fields/retry](https://github.com/nick-fields/retry). Updates `nick-fields/retry` from 2 to 3 - [Release notes](https://github.com/nick-fields/retry/releases) - [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js) - [Commits](https://github.com/nick-fields/retry/compare/v2...v3) --- updated-dependencies: - dependency-name: nick-fields/retry dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-actions-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/package-release.yml | 2 +- .github/workflows/package-testpypi.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 653d093a..55658c0b 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -155,7 +155,7 @@ jobs: check-latest: true - name: Test installing package # A retry is used to allow for some downtime before the package is installable - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 10 max_attempts: 5 diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index b18a84b5..b034a85e 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -66,7 +66,7 @@ jobs: check-latest: true - name: Test installing from test.pypi.org # A retry is used to allow for some downtime before the package is installable - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 10 max_attempts: 5 From 0dabe4b737fcaf1cc2454cb156e62950fe550f7b Mon Sep 17 00:00:00 2001 From: Nicholas Felt Date: Tue, 6 Feb 2024 10:18:36 -0800 Subject: [PATCH 50/50] ci: Update pre-commit hooks and linter versions. (#139) --- .pre-commit-config.yaml | 4 ++-- pyproject.toml | 34 ++++++++++++++-------------------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cb8f808f..0cd5b41e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: - id: check-github-actions - id: check-github-workflows - repo: https://github.com/commitizen-tools/commitizen - rev: v3.14.0 + rev: v3.14.1 hooks: - id: commitizen stages: [commit-msg] @@ -125,7 +125,7 @@ repos: always_run: true args: [., --min=10] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.15 + rev: v0.2.1 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/pyproject.toml b/pyproject.toml index 481c4192..7c281fef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,7 +105,7 @@ poetry = ">=1.5.1" pre-commit = ">=2.20.0" pre-commit-update = ">=0.1.3" pylint = {extras = ["spelling"], version = "3.0.3"} # Update this by running scripts/update_development_dependencies.py -pyright = "1.1.349" # Update this by running scripts/update_development_dependencies.py +pyright = "1.1.350" # Update this by running scripts/update_development_dependencies.py pyroma = ">=4.2" pytest = ">=7.1.2" pytest-cov = ">=3.0.0" @@ -113,7 +113,7 @@ pytest-html = ">=4.0" pytest-order = ">=1.0.1" pytest-profiling = ">=1.7.0" python-semantic-release = ">=8.5.1" -ruff = "0.1.15" # Update this by running scripts/update_development_dependencies.py +ruff = "0.2.1" # Update this by running scripts/update_development_dependencies.py safety = ">=2.1.1" sphinx-autoapi = ">=2.0.0" sphinx-copybutton = ">=0.5.1" @@ -267,6 +267,12 @@ ignore_directives = [ ] [tool.ruff] +line-length = 100 +namespace-packages = ["examples/**", "scripts/**", "tests/**"] +src = ["docs", "examples", "scripts", "src", "tests"] +target-version = "py38" # always generate Python 3.8 compatible code + +[tool.ruff.lint] allowed-confusables = ["¸", "×"] fixable = [ "F401", @@ -274,6 +280,8 @@ fixable = [ "I", "RUF100" ] +flake8-pytest-style = {mark-parentheses = false} +flake8-quotes = {docstring-quotes = "double"} ignore = [ "ANN101", # Missing type annotation for self in method "ANN102", # Missing type annotation for cls in method @@ -297,23 +305,15 @@ ignore = [ "UP024", # Replace aliased errors with `OSError` "UP037" # Remove quotes from type annotation ] -line-length = 100 -namespace-packages = ["examples/**", "scripts/**", "tests/**"] +pydocstyle = {convention = "google"} +pylint = {max-args = 7} # https://beta.ruff.rs/docs/rules/ select = [ "ALL" ] -src = ["docs", "examples", "scripts", "src", "tests"] -target-version = "py38" # always generate Python 3.8 compatible code task-tags = ["FIXME", "FUTURE", "RELIC", "TODO"] -[tool.ruff.flake8-pytest-style] -mark-parentheses = false - -[tool.ruff.flake8-quotes] -docstring-quotes = "double" - -[tool.ruff.isort] +[tool.ruff.lint.isort] force-sort-within-sections = false known-first-party = [ "conftest", @@ -323,7 +323,7 @@ known-first-party = [ lines-between-types = 1 order-by-type = false -[tool.ruff.per-file-ignores] +[tool.ruff.lint.per-file-ignores] "examples/**" = [ "S101" # Use of assert detected ] @@ -355,12 +355,6 @@ order-by-type = false "PYI053" # String and bytes literals longer than 50 characters are not permitted ] -[tool.ruff.pydocstyle] -convention = "google" - -[tool.ruff.pylint] -max-args = 7 - [tool.semantic_release] version_toml = [ "pyproject.toml:tool.poetry.version"